Diego Novillo <dnovi...@google.com> writes:

> One problem I've noticed is that renames seem to confuse svn diff.
> For example:
>
> $ cd gcc/cp
> $ svn log -r81829 cp-gimplify.c
> ------------------------------------------------------------------------
> r81829 | dnovillo | 2004-05-13 22:29:32 -0400 (Thu, 13 May 2004) | 29 lines
> [ ...]
>         * cp-gimplify.c: Rename from cp-simplify.c.
> [...]
>
> $ svn diff -c81829 cp-gimplify.c
> svn: Unable to find repository location for 'cp-gimplify.c' in revision 81828
>
> Annoyingly, SVN is perfectly capable of tracking file movement in the
> directory structure.

Subversion does track copies however that particular change isn't a copy
as far as Subversion is concerned:

$ svn log -vqr881829 | grep cp-
   A /trunk/gcc/cp/cp-gimplify.c
   D /trunk/gcc/cp/cp-simplify.c

The new file must have been explicitly added, rather than copied or
moved, and so the history is broken. An example of a history preserving
copy is:

$ svn log -vqr135882 | grep path.c
   D /trunk/gcc/c-incpath.c
   A /trunk/gcc/incpath.c (from /trunk/gcc/c-incpath.c:135880)

-- 
Philip

Reply via email to