SVN提交是全部还是无?

SVN提交是全部还是无?,svn,Svn,我正在尝试使用svn rm local删除分支,然后提交。在提交过程中,我处于项目的最高层。因此commit命令还试图提交其他分支上的其他更改,这不是我想要的。幸运的是,提交失败了。但其他一些更改已发送到存储库。我的问题是,这是否意味着没有对存储库应用任何更改 SVN提交是全部还是无 是的,要么全是,要么全不是。这就是所谓的 Subversion提交是原子的和一致的。您描述的情况在Subversion by design中是不可能的。提交是否成功。即使事务已提交并导致创建新修订,您也可以始终回滚

我正在尝试使用svn rm local删除分支,然后提交。在提交过程中,我处于项目的最高层。因此commit命令还试图提交其他分支上的其他更改,这不是我想要的。幸运的是,提交失败了。但其他一些更改已发送到存储库。我的问题是,这是否意味着没有对存储库应用任何更改

SVN提交是全部还是无

是的,要么全是,要么全不是。这就是所谓的

Subversion提交是原子的和一致的。您描述的情况在Subversion by design中是不可能的。提交是否成功。即使事务已提交并导致创建新修订,您也可以始终回滚到以前的修订

我的问题是,这是否意味着没有对 存储库

是的,如果提交失败在中间(例如由于网络问题)或被用户取消,则库中没有新的修订。

我正在尝试使用svn rm local删除分支,然后提交。 在提交过程中,我处于项目的最高层

  • 通过传递URL来删除分支,这会更容易,并帮助您避免提交不相关的更改。例如,命令应如下所示:

    svn删除https://svn.example.com/repos/MyRepo/branches/MyBranch -m日志消息

  • 从存储库的根目录签出工作副本可以被认为是一种不寻常的做法,而且这似乎是您的情况。工作副本应表示项目的、主干、分支、标记或搁置。您可以随时将工作副本切换到另一个开发行。此外,您可以根据需要或需要在工作站上拥有任意多个工作副本


  • 谢谢你的回答。我还有一个问题。您提到通过传递URL进行删除。我认为删除本地然后提交比这个选项更好。我们在本地工作区中有一个.svn文件夹。我发现那个文件夹有时很大。我猜那里存储了一些版本/历史信息。如果我们使用URL删除存储库副本,然后不使用svn命令手动删除本地副本,恐怕相关的.svn文件夹会被清除。我担心得太多了吗?是的,你担心得太多了。通过URL删除,然后更新您的工作副本。顺便说一句,阅读本节的最后一段,通常情况下,您不需要所有分支、标记等的工作副本。在我的例子中,我应该使用删除的分支路径发出“svn commit”命令,以避免其他更改也被提交?在URL选项中,我应该在哪里发布“svn更新”,在删除目标文件夹下,还是添加指向目标位置的路径?我们有几家分店,我只用了其中的四家。我担心获取/更新我不想要的内容,并提交我不想提交的内容。如果您只使用四个分支,那么请签出每个分支的工作副本。”svn delete URL'会立即提交,无需单独提交。请注意,如果删除存储库中的分支,也会影响其他协作者。”svn update“使用来自存储库的新更改更新您的工作副本,它不接受URL。请阅读