diff options
author | Eric Wong <normalperson@yhbt.net> | 2006-02-20 10:57:28 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-02-20 13:32:41 -0800 |
commit | cf52b8f06389189bd32565c5c6adad75ac8a1a62 (patch) | |
tree | 6c838c6bf412f160020d2e46ac6e9702a7c87052 /contrib/git-svn/Makefile | |
parent | contrib/git-svn.txt: add a note about renamed/copied directory support (diff) | |
download | tgif-cf52b8f06389189bd32565c5c6adad75ac8a1a62.tar.xz |
git-svn: fix several corner-case and rare bugs with 'commit'
None of these were really show-stoppers (or even triggered)
on most of the trees I've tracked.
* Node change prevention for identically named nodes. This is
a limitation of SVN, but we find the error and exit before
it's passed to SVN so we don't dirty our working tree when our
commit fails. git-svn will exit with an error code 1 if any
of the following conditions are found:
1. a directory is removed and a file of the same name of the
removed directory is created
1a. a file has its parent directory removed and the file is
takes the name of the removed parent directory::
baz/zzz => baz
2. a file is removed and a directory of the same name of the
removed file is created.
2a. a file is moved into a deeper directory that shares the
previous name of the file::
dir/$file => dir/file/$file
Since SVN cannot handle these cases, the user will have to
manually split the commit into several parts.
* --rmdir now handles nested/deep removals. If dir/a/b/c/d/e/file
is removed, and everything else is in the dir/ hierarchy is
otherwise empty, then dir/ will be deleted when file is deleted
from svn and --rmdir specified.
* Always assert that we have written the tree we want to write
on commits. This helped me find several bugs in the symlink
handling code (which as been fixed).
* Several symlink handling fixes. We now refuse to set
permissions on symlinks. We also always unlink a file
if we're going to overwrite it.
* Apply changes in a pre-determined order, so we always have
rename from locations handy before we delete them.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'contrib/git-svn/Makefile')
0 files changed, 0 insertions, 0 deletions