svn:本地提交
Subversion:是否可以提交本地修订而不推送它们,并在以后推送它们?还是缺less这个function,为什么称为“集中式”?
Subversion不可能进行本地提交。
这是因为,如果是分布式版本控制系统(DVCS),作为一个集中式的版本控制系统,你的本地工作副本并不具有服务器对过去版本,日志条目等的所有信息。
一个颠覆的工作副本包含所有文件的副本,因为他们签出,所以你可以恢复更改的文件,而无需联系服务器。
如果你真的想做本地提交,你应该看看在Subversion之上构build的SVK ,并提供类似于DVCS的特性。
上面的大部分已经变得有点过时了,因为这个问题在谷歌search“svn本地提交”中出现了一个更新:
考虑使用包“git-svn”(以及“git-gui”,如果你不知道git),通过完整的远程SVN集成,使本地提交变得既简单又容易。 一个体面的概述/教程/用例在这里 。 我刚刚开始使用Sourceforge项目的这个过程,所以我还不能报告任何问题。 一定要获得作者文件!
编辑:更新的链接。 谢谢,hdl!
你可以做这样的事情,所以如果你连接SVN服务器与GIT或Mercurial桥。 由于GIT和Mercurial能够执行本地提交,因此您可以像这样使用它们。 也许看看git-svn或者类似的东西(我记得有一个bazaar-svn但是不确定)。
正如其他人所说,没有。
我强烈build议尝试远程使用任何与svn janky。
我没有使用SVK足以推荐它,这似乎很好。 不过,我怀疑在整个项目中使用任何构build在SVN之上的东西,而没有任何破坏。 我已经足够使用SVN知道,即使正常的工作周期可以敬酒,如果你不小心。
我们在工作中使用SVN。 我一直在使用bzr和bzr-svn来完成我所有的交互,而且工作起来非常棒 。 我的工作stream程如下所示:
$ bzr branch file:///var/svn/project ~/project
(黑客,黑客,黑客)
$ bzr commit -m "commit log"
(重复)
当我准备好了
$ bzr push
是的,而不是更新你$ bzr merge
和提交更改(可能搁置你正在工作),但本地提交是一个非常好的东西, 搁置也是(搁置就像恢复与保存 )
我认为git也可以处理这个问题。 我听说它不如bzr-svn完整,但我不能证实这一点。
但是使用带有svn存储库的DVCS是一个好方法!
除了BobC的回答,对于mercurial你会使用hgsubversion
。
这就是为什么它被称为集中。 你可以尝试在回购里面使用回购。 一个是本地的,另一个是远程的。 然后您将整个内部存储库提交给远程。
没有! git可以做到这一点,你可以使用git-svn保持与原始存储库同步。
为了两全其美, SVKbuild立在Subversion之上,但是维护本地状态,所以你可以做本地提交。