什么时候svn BASE变得等于HEAD

Her*_*arn 26 svn

我对svn中的BASE版本有疑问.我知道这是上次更新运行时的一个项目的原始版本,svn diff和status基本上是针对这个版本运行的.BASE什么时候更新?更新运行时是否更新到HEAD?即使在更新期间发生冲突,这也总是正确吗?BASE有什么冲突?它是否仍然具有我上次更新的版本(在导致冲突的最新更新之前)或者即使存在冲突也会更新到HEAD?
此外,当运行svn commit时,我假设BASE更新了我的本地更改,此时BASE,HEAD和我的本地副本都是相同的?如果提交成功.

gba*_*rry 38

HEAD是存储库中的最新版本.BASE是您从存储库获取的最后一个修订版.成功提交或更新后它们是相同的.

进行更改时,您的文件与BASE副本不同.当您还原时,它们将返回匹配BASE修订版.当您遇到冲突时,您不会更新存储库.相反,您的文件仍被视为"正在编辑",就像您正在进行更改一样.在解决冲突之后,您实际上已经决定了最终文件的外观,然后就像通常那样提交它们.因此,冲突就像一个特殊编辑的情况.

  • 在更新之后,它们是相同的,但是很简单,但不一定在提交之后.考虑目录和"混合修订工作副本". (4认同)

mat*_*pie 7

BASE是存储库中存在的工作副本的修订版.换句话说,您的修订没有您所做的更改.因此,如果您svn update是HEAD的文件或文件夹,那么BASE和HEAD是相同的.

发生冲突时,BASE将成为与工作副本冲突的提交之前的修订.

svn info在项目上运行以查看它的BASE修订版.

修订说明符