|
|
1
129
不是。你最好的选择是在专用的git存储库中设置svn存储库的镜像。
然后,您可以将git存储库作为子模块添加到原始项目中
svn:externals和git子模块之间有一个概念上的区别,如果你从颠覆的角度来处理这个问题,可能会让你绊倒。git子模块与你给它的修订版挂钩。如果“上游”发生了变化,那么你必须更新子模块的引用。 因此,当我们与上游subversion重新同步时:
…git项目仍将使用我们之前提交的原始版本。要更新到svn HEAD,您必须使用
|
|
|
2
8
我刚刚经历了这一切。我正在做一些类似rq的事情,但略有不同。 我设置了一台服务器来托管我需要的svn仓库的git克隆。在我的例子中,我只想要只读版本,并且需要服务器上的裸仓库。 在我运行的服务器上:
这设置了我的裸仓库,然后我有一个cron脚本来更新它:
这也需要来自以下位置的fix-svn-refs.sh http://www.shatow.net/fix-svn-refs.sh 这主要受到以下因素的启发: http://gsocblog.jsharpe.net/archives/12
我不知道为什么
因此,在所有这些之后,您可以按照rq的指示使用git子模块。 |
|
|
3
6
当前 git svn 不支持 svn:外部 。但还有另外两个工具可以帮助您:
您还需要做的就是让Git存储库对提交者可用。看一看 git-http-backend 为了这个。然后,您可以将创建的Git存储库添加为常用子模块。 SubGit也可作为Bitbucket服务器的附加组件,以了解更多信息 here . 因此,不需要使用任何外部工具,如 git svn 或任何其他。 SubGit是专有软件,但对小公司(最多10个提交者)、学术和开源项目都是免费的。 |
|
|
4
4
除了rq所说的,另一种方法是使用第三方“外部”项目( http://nopugs.com/ext-tutorial ),这更好地模拟了svn外部引用的工作方式。使用外部引用,您可以跟踪git或svn存储库,并且看起来更容易将您的更改向上游推送到这些存储库。但是,它要求项目成员下载并安装单独的包。 我还没有使用子模块或外部模块;然而,我花了几个小时阅读了所有替代品,看起来外部将更适合我的需求。Jon Loeliger在《Git版本控制》第15章中对这些和其他自定义方法进行了很好的讨论( http://oreilly.com/catalog/9780596520120 ),我强烈推荐。 |
|
|
5
0
活塞正在被重写以支持这一点,反之亦然,再加上Subvresion历史记录中的现有Subversion URL和git+git。 查看 the piston Github repository . 不幸的是,它似乎没有被释放。 |
|
|
6
0
嗯,确实如此
应该行得通。是吗? |
|
|
blackbird · 从git-svn克隆中排除文件 10 年前 |
|
|
cyclobster · 将现有项目并入现有git回购 10 年前 |
|
|
Hackse · 将复杂SVN存储库迁移到GIT 12 年前 |
|
|
Mostafa Shahverdy · git:合并分支日志 13 年前 |
|
|
Kapil Arya · git-svn和更新的svn-url 13 年前 |