summaryrefslogtreecommitdiff
path: root/contrib/git-svn/Makefile
diff options
context:
space:
mode:
authorLibravatar Eric Wong <normalperson@yhbt.net>2006-02-20 10:57:28 -0800
committerLibravatar Junio C Hamano <junkio@cox.net>2006-02-20 13:32:41 -0800
commitcf52b8f06389189bd32565c5c6adad75ac8a1a62 (patch)
tree6c838c6bf412f160020d2e46ac6e9702a7c87052 /contrib/git-svn/Makefile
parentcontrib/git-svn.txt: add a note about renamed/copied directory support (diff)
downloadtgif-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