5

The following is the result of svn log -v and it stops in the revision of files/dirs moving. How can I get the full tracked log?

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)
Babak Naffas
  • 12,395
  • 3
  • 34
  • 49
Drake Guan
  • 14,514
  • 15
  • 67
  • 94
  • Sorry I can't give a full fledged answer, but I found two posts in Stack that I believe will help you: 1- http://stackoverflow.com/questions/44176/searching-subversion-history-full-text and 2- http://stackoverflow.com/questions/282802/how-can-i-view-all-historical-changes-to-a-file-in-svn – Philoxopher Mar 05 '11 at 10:07

1 Answers1

3

svn log will give you the full log even across renames/moves/copies. Only if you specify --stop-on-copy it will stop on renames/moves/copies.

If it doesn't cross those for you, then you have not renamed/moved/copied your files with the appropriate svn command (svn mv, svn cp) but done so directly without telling svn about it. In that case, those files are not related and you've 'lost' the history. You have to show the log for the original file manually.

Stefan
  • 43,293
  • 10
  • 75
  • 117
  • 3
    I know **svn log** should work across moves and I did make sure I did in this way. But unfortunately, **svn log** just stop in moving point even w/o **stop-on-copy**. The log in question is the first log I got then~ – Drake Guan Mar 06 '11 at 16:05
  • As I said: "If it doesn't cross those for you, then you have not renamed/moved/copied your files with the appropriate svn command" – Stefan Mar 07 '11 at 15:29
  • 1
    No Stefan, that's not the only reason why it might not 'cross for you'. The log can stop short if you are looking at log of a subdirectory and the files were copied from a place outside that directory. That's were you might need to go up a level and use `svndumpfilter` to get rid of unwanted directories. – JW. Jul 09 '15 at 15:00
  • yes, it is. If the copy/rename is done properly, the log will follow it even if it's shown for a subdirectory of a move/rename. – Stefan Jul 09 '15 at 15:04
  • i.e. if the copy/rename occurs between subdirectories of MyRepo, say ProjectA and ProjectB (both in the same MyRepo). If you do a log inside ProjectB - it doesn't reflect the move from ProjectA unless you go up a level (do a log of the whole MyRepo directory). Hence, although one *did* use the appropriate svn command the log will still not 'cross'. – JW. Jul 09 '15 at 15:09
  • I just think its worth mentioning that sometimes you need to widen the scope to see expected behaviour. – JW. Jul 09 '15 at 15:13
  • 1
    I'm not going to comment further on this. Just FYI: I'm the dev of TSVN, and I think I know enough of the svn internals to know what I'm talking about. – Stefan Jul 09 '15 at 20:44