我在我的工作目录中合并到主干的分支上有更改。Svn stat显示了正确的更改文件列表。然而,“svn stat”输出包括每个新添加到分支的文件历史记录中的“+”。当我运行“svn diff”时,具有“+”的添加文件不包括在补丁输出中。这似乎是有问题的。如果一个文件被标记为已添加,则其所有内容都应该在diff输出中。我尝试传递--notice-ancestry。补丁输出没有变化。我能找到与同样问题最接近的是关于复制/移动文件的这些注释。有人知道如何让SVN在diff输出中包括这些文件吗?我刚刚尝试了这个questions答案建议的外部diff程序,但对我没有用。
svn 状态 命令输出中的加号表示该文件已被“计划在提交时添加进版本库历史记录”。这意味着该文件实际上并不是新文件,而是版本库中某个文件的直接后代。 这意味着在 svn diff 中应该没有输出,因为实际上该文件没有更改。如果您对该文件进行了一些本地修改,则这些修改将出现在 svn diff 输出中。
合并两个分支,比如将A2分支与A1分支合并,并在A1分支中添加了一些新文件并提交。合并后,新文件显示为已添加到版本控制中,带有“+”符号,所以需要删除A2分支中新添加的文件,然后再次添加。现在将其添加到版本控制中,然后可以发起审查。
如果你执行了 "svn mv fileA fileB" 命令,那么在文件B旁边会出现一个加号。我认为这个加号表示实际的文件内容没有改变,因此它不会在svn diff中显示出来。在这种情况下,只是文件名发生了改变。
cp file file.bak; svn revert file; rm file; mv file.bak file; svn add file
),然后您将在svn diff
中获得差异,但是您不会保留历史记录,这将非常遗憾。您可能需要包括手动执行转换的说明。 - Avi