svn - Subversion 中原子提交的值(value)是什么?

标签 svn tortoisesvn commit atomic

我正在尝试创建并遵循版本控制的最佳实践,并在 Subversion 中遇到了对原子提交的引用。由于我从未听说过此操作,因此我对此有一些疑问。

  • 它的目的是什么?
  • 应该什么时候使用?
  • 它与普通提交有何不同?
  • 是否可以提供给TortoiseSVN用户?如果是这样,如何?
  • 最佳答案

    原子提交没有特殊的命令。 Subversion 中的每个提交都是原子的。

    这意味着每次提交(任意数量的文件)要么成功要么失败。
    不可能只有一些提交的文件进入存储库而其他文件没有(例如,因为在提交操作过程中发生错误或其中一个文件发生冲突)。

    TortoiseSVN 也是如此,因为它建立在“正常”的 Subversion 功能之上。

    以下摘自Subversion book :

    An svn commit operation publishes changes to any number of files and directories as a single atomic transaction. In your working copy, you can change files' contents; create, delete, rename, and copy files and directories; and then commit a complete set of changes as an atomic transaction.

    By atomic transaction, we mean simply this: either all of the changes happen in the repository, or none of them happens. Subversion tries to retain this atomicity in the face of program crashes, system crashes, network problems, and other users' actions.

    关于svn - Subversion 中原子提交的值(value)是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1602642/

    相关文章:

    c# - 如何在 MySql 中对事务提交超时进行单元测试?

    visual-studio - 分布式源代码管理不适用于 Visual Studio 用户?

    svn - 是否可以在低质量的 3G 网络上使用 Subversion?

    SVN - 添加忽略规则而不覆盖现有规则

    svn - 如何更正 "Commit Failed. File xxx is out of date. xxx path not found."

    Android Studio 使用 SVN 提交多个模块

    svn - 管理对 3rd 方开源库的更改的最佳实践?

    git - 如何使用 reposurgeon 将 svn 存储库转换为 git?

    visual-studio-2010 - VS2010 的 Visual SVN 保留对已删除分支的陈旧引用

    svn - 为什么在将分支合并到主干然后将其合并回分支时会发生冲突?