2011-12-15 48 views
2

我有一个标签,其上有几处修改,它的基本版本来自某处(branch?trunk?不知道)。我相信发生了什么事,我检查了trunk,对它进行了更改,然后标记从我的工作副本。我试图使用下面的命令,但它没有提到任何有关基地的信息。我想要做的是找到基地,并在标签和基础版本之间进行比较,以查看基地和标签之间的变化。从标签确定基本修订

svn log -v --stop-on-copy (url) 

结果:

r3678 | my.name | 2010-12-23 14:44:40 -0800 (Thu, 23 Dec 2010) | 3 lines 
Changed paths: 
    A /tags/dir 
    A /tags/dir/subdir 
    A /tags/dir/subdir/subsubdir 

My commit message. 
+0

显示真实日志,**不是假**。 *文件*在哪里?或者你有空的回购? – 2011-12-16 00:09:25

+0

这是一个真正的日志在Windows上。日志显示3个添加的目录。在这个提交中没有改变文件(这是我困惑的部分原因)。我只改变了我的名字和目录名称,因为它不相关。 – 2011-12-20 22:50:40

回答

0

想通了。容器文件夹的日志只显示该文件夹的历史记录。我不得不深入到实际的源文件夹并查看它的历史记录,以查看事情来自哪里。

事实证明,我从主干复制到我的用户目录,在那里做了一些开发,并从用户目录进行了标记。

3

你一直在谈论标签上的变化。但是,标签绝不应该被修改。标签应该是完全不可变的并且永远不会被任何人修改。

无论如何,如果你看着标签的svn log消息,你应该能够看到有变化:

$ svn log -v --stop-on-copy (url)/tags/1.0 

r3678 | my.name | 2010-12-23 14:44:40 -0800 (Thu, 23 Dec 2010) | 3 lines 
Changed paths: 
    A /tags/1.0 (from /trunk:2432) 


My commit message. 

而且,如果你不知道你这样做在那里,你可以简单地做一个svn log,并且只查看前几个事务,因为您的更改应该是前几个更改之一。


1.在计算机中,从未在极端情况下,有时指。当然,有一段时间你可能需要修改一个标签,但它应该是非常非常罕见的。例如,刚刚完成标签之后,开发人员就会发出抱怨,他们不得不再做一次更改。当然,删除标签并重新创建标签可能会更好。

我有一个pre-commit hook,它允许用户创建标签,但是防止用户在标签创建后修改标签。您可以将其配置为仅允许管理员修改标签,以防万一您必须这样做。