如何在SVN中跟踪已移动文件/目录的完整日志?
以下是svn log-v的结果,它在文件/目录的修订中停止移动。如何获取完整的跟踪日志如何在SVN中跟踪已移动文件/目录的完整日志?,svn,Svn,以下是svn log-v的结果,它在文件/目录的修订中停止移动。如何获取完整的跟踪日志 svn log -v r3171 | drake | 2010-08-16 15:04:49 +0800 (Mon, 16 Aug 2010) | 1 line Changed paths: D /lib/python2.5/dgGetFileSequence.py D /lib/python2.5/dgHumanSort.py D /lib/python2.5/dgconfig.py
svn log -v
r3171 | drake | 2010-08-16 15:04:49 +0800 (Mon, 16 Aug 2010) | 1 line
Changed paths:
D /lib/python2.5/dgGetFileSequence.py
D /lib/python2.5/dgHumanSort.py
D /lib/python2.5/dgconfig.py
D /lib/python2.5/dgdata.py
D /lib/python2.5/dgtools.py
A /python/dgtools/dgGetFileSequence.py (from /lib/python2.5/dgGetFileSequence.py:3170)
A /python/dgtools/dgHumanSort.py (from /lib/python2.5/dgHumanSort.py:3170)
A /python/dgtools/dgconfig.py (from /lib/python2.5/dgconfig.py:3170)
A /python/dgtools/dgdata.py (from /lib/python2.5/dgdata.py:3170)
A /python/dgtools/dgtools.py (from /lib/python2.5/dgtools.py:3170)
svn log
将为您提供完整的日志,即使是在重命名/移动/复制过程中。仅当您指定--复制时停止
时,它将在重命名/移动/复制时停止
如果它没有为您跨越这些,那么您没有使用适当的svn命令(
svn mv
,svn cp
)重命名/移动/复制您的文件,而是直接这样做,而不告诉svn。在这种情况下,这些文件不相关,您已经“丢失”了历史记录。您必须手动显示原始文件的日志。很抱歉,我无法给出完整的答案,但我在堆栈中找到了两篇文章,我相信它们会对您有所帮助:1-和2-我知道svn日志应该跨移动工作,并且我确实确保了这样做。但不幸的是,svn日志只是在移动点停止,甚至在拷贝上没有停止。问题中的日志是我当时得到的第一个日志,正如我所说:“如果它没有为您交叉这些日志,那么您没有使用适当的svn命令重命名/移动/复制您的文件”No Stefan,这不是它可能不会“为您交叉”的唯一原因。如果您正在查看子目录的日志,并且文件是从该目录之外的位置复制的,则日志可能会短暂停止。就是这样,您可能需要提高一个级别,并使用svndumpfilter
清除不需要的目录。是的,确实如此。如果复制/重命名操作正确,则即使在移动/重命名的子目录中显示日志,日志也会随之显示。如果复制/重命名发生在MyRepo的子目录之间,比如ProjectA和ProjectB(都在同一个MyRepo中)。如果你在ProjectB中做了一个日志,它不会反映从ProjectA的移动,除非你升级(做一个整个MyRepo目录的日志)。因此,尽管使用了适当的svn命令,日志仍然不会“交叉”。