Svn 本地提交

Svn 本地提交,svn,commit,Svn,Commit,Subversion:是否可以在不推送本地修订的情况下提交本地修订,并在以后推送它们?或者是否由于缺少此功能而被称为“集中式”?使用Subversion进行本地提交是不可能的 这是因为,作为一个集中式版本控制系统,您的本地工作副本没有服务器拥有的关于过去版本、日志条目等的所有信息,而如果它是一个分布式版本控制系统(DVCS),它就不会拥有这些信息 subversion工作副本包含签出的所有文件的副本,因此您可以在不联系服务器的情况下还原更改的文件 如果你真的想做本地提交,你应该看看它,它建立在S

Subversion:是否可以在不推送本地修订的情况下提交本地修订,并在以后推送它们?或者是否由于缺少此功能而被称为“集中式”?

使用Subversion进行本地提交是不可能的

这是因为,作为一个集中式版本控制系统,您的本地工作副本没有服务器拥有的关于过去版本、日志条目等的所有信息,而如果它是一个分布式版本控制系统(DVCS),它就不会拥有这些信息

subversion工作副本包含签出的所有文件的副本,因此您可以在不联系服务器的情况下还原更改的文件


如果你真的想做本地提交,你应该看看它,它建立在Subversion之上,提供类似DVCS的功能。

这就是为什么它被称为集中式。你可以尝试在回购协议中使用回购协议。一个是本地的,另一个是远程的。然后将整个内部存储库提交到远程存储库

如果使用GIT或Mercurial桥接器连接SVN服务器,就可以这样做。既然GIT和Mercurial能够进行本地提交,那么您就可以这样使用它们了。也许可以看看git svn或类似的东西(我记得有一个集市svn,但不确定)。

不!但是git可以做到这一点,您可以使用git svn
与原始存储库保持同步。

为了更好地利用这两个世界,它构建在Subversion之上,但维护本地状态以便您可以进行本地提交…

正如其他人所说,没有

我强烈建议尝试使用svn的任何远程janky

我还没有使用SVK来反对它,它看起来已经足够好了。然而,我怀疑在整个项目中使用SVN之上构建的任何东西都不会造成任何破坏。我已经使用了SVN,我知道如果你不小心的话,即使是正常的工作周期也会让它崩溃

我们在工作中使用SVN。我一直在使用bzr和bzr svn来完成我与的所有交互,它工作得非常好。我的工作流程类似于:

$bzr分行file:///var/svn/project ~/project

(哈克,哈克,哈克)

$bzr提交-m“提交日志”
(重复)

当我准备好的时候

$bzr推送

是的,您没有更新,而是使用了
$bzr merge
和提交更改(可能搁置您正在处理的内容),但是本地提交是一件非常好的事情,搁置也是一件好事(搁置就像使用保存进行还原)

我认为git也能处理这个问题。我听说它没有bzr svn那么完整,但我不能证实这一点


但是,将DVCS与svn存储库一起使用是一个好方法

上面的大部分内容已经有些过时了,由于这个问题在谷歌搜索“svn local commit”时很受欢迎,这里有一个更新:

考虑使用包“git svn”(如果您不了解git,还可以使用“git gui”)使本地提交成为可能,并且更容易,同时实现了完全的远程svn集成。一个不错的概述/教程/用例是。我刚刚开始在Sourceforge项目中使用这个过程,所以我还不能报告任何问题。确保作者文件正确无误


编辑:更新链接。谢谢,hdl

根据BobC的回答,对于mercurial,您将使用
hgsubversion

您是否有SVK方面的经验?我用过一点,看起来还不错,但我不再对smooth svn的使用抱有太多信心。我想任何建立在它之上的东西都会同样摇摆不定。@jskulski:我对SVK没有经验,但他们的“反ud”页面解决了你的问题:这个答案有点误导。并不是因为SVN是集中式的,所以本地提交是不可能的。这只是一个省略的实现细节。将本地提交视为可以批量推送到repo的变更集队列在技术上是可行的(svk显示了这一点)——它只会将UX更改为SVN变得更“难以”使用的点(使用标准工作流)。SVN选择优化易用性,而不是功能性;如果你在你的计算机上创建一个本地服务器,这样你就可以提交给它,然后当你准备提交给原始存储库时,你就可以按常规方式提交了。这可能吗?使用Git。它的另一个变体是在SVN工作副本中“git init”,使本地提交脱机。稍后,将最终状态(甚至中间状态)提交给SVN。在此之后,您还可以删除.git目录。这意味着您的工作副本将保持为SVN工作副本,而不是git回购协议。+1-用于说明冗余。我想我甚至在某个地方读到SVN将引入本地提交。@Thirty340:Archive.org有一个网页的副本:链接已移动到Mercurial,实际上,Bazaar也可以与SVN存储库一起工作。所以,如果你不喜欢git的界面,就去看看这些吧。另外,既然你提到了GitGUI,如果你在Windows上,就去看看Ortoisegit(或者如果你选择了Ortoisehg)。