tech-repository archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: is the proof in the pudding?

On Wed, 30 Jul 2008, David Holland wrote:
>  > > (Also, according to my notes, rename is implemented as delete and
>  > > add, so while tree history is maintained, file history doesn't cross
>  > > the rename, so that's only sort of "retaining history".)
>  > 
>  > No, that's not true.
> You are correct. The NetBSD developer (since you seem to be concerned
> about reports from "third parties") who reported this to me is in
> error.

I think that was me, in icb, and that David misunderstood me.  Rename
in svn is implemented as copy + delete, where the copy part preserves
history, as Perry said.

        svn rename oldname newname
        svn commit oldname newname

is identical (in all ways observable in the repository after the fact)

        svn copy oldname newname
        svn delete oldname
        svn commit oldname newname

History is preserved in a way that makes

        svn log newname

easily able to follow the history back to the time when the file was named
"oldname".  However,

        svn log oldname

is not easily able to follow the history forward in time to where the
file is named "newname".  This latter difficult is what I was talking
about when I said (in icb) that it was difficult to follow the history
across svn's idea of a rename operation.

If you accidentally "commit newname", and later realise your mistake and
"commit oldname", then the whole process is even further removed from a
true rename.

--apb (Alan Barrett)

Home | Main Index | Thread Index | Old Index