From 3289e86e1eb4f38b5c8dfd2f44b4486d2755d6d6 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 15 Dec 2006 23:58:08 -0800 Subject: git-svn: rename 'commit' command to 'set-tree' 'set-tree' probably accurately describes what the command formerly known as 'commit' does. I'm not entirely sure that 'dcommit' should be renamed to 'commit' just yet... Perhaps 'push' or 'push-changes'? Signed-off-by: Eric Wong Signed-off-by: Junio C Hamano diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt index c589a98..f5f57e8 100644 --- a/Documentation/git-svn.txt +++ b/Documentation/git-svn.txt @@ -64,7 +64,7 @@ manually joining branches on commit. against the latest changes in the SVN repository. An optional command-line argument may be specified as an alternative to HEAD. - This is advantageous over 'commit' (below) because it produces + This is advantageous over 'set-tree' (below) because it produces cleaner, more linear history. 'log':: @@ -89,7 +89,7 @@ manually joining branches on commit. Any other arguments are passed directly to `git log' -'commit':: +'set-tree':: You should consider using 'dcommit' instead of this command. Commit specified commit or tree objects to SVN. This relies on your imported fetch data being up-to-date. This makes @@ -172,7 +172,7 @@ This can allow you to make partial mirrors when running fetch. -:: --stdin:: -Only used with the 'commit' command. +Only used with the 'set-tree' command. Read a list of commits from stdin and commit them in reverse order. Only the leading sha1 is read from each line, so @@ -180,7 +180,7 @@ git-rev-list --pretty=oneline output can be used. --rmdir:: -Only used with the 'dcommit', 'commit' and 'commit-diff' commands. +Only used with the 'dcommit', 'set-tree' and 'commit-diff' commands. Remove directories from the SVN tree if there are no files left behind. SVN can version empty directories, and they are not @@ -193,7 +193,7 @@ repo-config key: svn.rmdir -e:: --edit:: -Only used with the 'dcommit', 'commit' and 'commit-diff' commands. +Only used with the 'dcommit', 'set-tree' and 'commit-diff' commands. Edit the commit message before committing to SVN. This is off by default for objects that are commits, and forced on when committing @@ -204,7 +204,7 @@ repo-config key: svn.edit -l:: --find-copies-harder:: -Only used with the 'dcommit', 'commit' and 'commit-diff' commands. +Only used with the 'dcommit', 'set-tree' and 'commit-diff' commands. They are both passed directly to git-diff-tree see gitlink:git-diff-tree[1] for more information. @@ -276,7 +276,7 @@ ADVANCED OPTIONS -b:: --branch :: -Used with 'fetch', 'dcommit' or 'commit'. +Used with 'fetch', 'dcommit' or 'set-tree'. This can be used to join arbitrary git branches to remotes/git-svn on new commits where the tree object is equivalent. @@ -392,11 +392,11 @@ REBASE VS. PULL --------------- Originally, git-svn recommended that the remotes/git-svn branch be -pulled from. This is because the author favored 'git-svn commit B' -to commit a single head rather than the 'git-svn commit A..B' notation +pulled from. This is because the author favored 'git-svn set-tree B' +to commit a single head rather than the 'git-svn set-tree A..B' notation to commit multiple commits. -If you use 'git-svn commit A..B' to commit several diffs and you do not +If you use 'git-svn set-tree A..B' to commit several diffs and you do not have the latest remotes/git-svn merged into my-branch, you should use 'git rebase' to update your work branch instead of 'git pull'. 'pull' can cause non-linear history to be flattened when committing into SVN, diff --git a/git-svn.perl b/git-svn.perl index 077e920..07748bc 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -107,7 +107,12 @@ my %cmd = ( init => [ \&init, "Initialize a repo for tracking" . " (requires URL argument)", \%init_opts ], - commit => [ \&commit, "Commit git revisions to SVN", + dcommit => [ \&dcommit, 'Commit several diffs to merge with upstream', + { 'merge|m|M' => \$_merge, + 'strategy|s=s' => \$_strategy, + 'dry-run|n' => \$_dry_run, + %cmt_opts } ], + 'set-tree' => [ \&commit, "Set an SVN repository to a git tree-ish", { 'stdin|' => \$_stdin, %cmt_opts, %fc_opts, } ], 'show-ignore' => [ \&show_ignore, "Show svn:ignore listings", { 'revision|r=i' => \$_revision } ], @@ -150,11 +155,6 @@ my %cmd = ( 'file|F=s' => \$_file, 'revision|r=s' => \$_revision, %cmt_opts } ], - dcommit => [ \&dcommit, 'Commit several diffs to merge with upstream', - { 'merge|m|M' => \$_merge, - 'strategy|s=s' => \$_strategy, - 'dry-run|n' => \$_dry_run, - %cmt_opts } ], ); my $cmd; diff --git a/t/t9100-git-svn-basic.sh b/t/t9100-git-svn-basic.sh index 0fc462e..0edf19e 100755 --- a/t/t9100-git-svn-basic.sh +++ b/t/t9100-git-svn-basic.sh @@ -56,7 +56,7 @@ git update-index --add --remove dir/a/b/c/d/e/file dir/file file git commit -m "$name" test_expect_success "$name" \ - "git-svn commit --find-copies-harder --rmdir remotes/git-svn..mybranch && + "git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch && svn up $SVN_TREE && test -d $SVN_TREE/dir && test ! -d $SVN_TREE/dir/a" @@ -70,7 +70,7 @@ git update-index --add dir/file/file git commit -m "$name" test_expect_failure "$name" \ - 'git-svn commit --find-copies-harder --rmdir remotes/git-svn..mybranch' \ + 'git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch' \ || true @@ -85,7 +85,7 @@ git update-index --add -- bar git commit -m "$name" test_expect_failure "$name" \ - 'git-svn commit --find-copies-harder --rmdir remotes/git-svn..mybranch2' \ + 'git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch2' \ || true @@ -100,7 +100,7 @@ git-update-index --add bar/zzz/yyy git commit -m "$name" test_expect_failure "$name" \ - 'git-svn commit --find-copies-harder --rmdir remotes/git-svn..mybranch3' \ + 'git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch3' \ || true @@ -115,7 +115,7 @@ git update-index --add -- dir git commit -m "$name" test_expect_failure "$name" \ - 'git-svn commit --find-copies-harder --rmdir remotes/git-svn..mybranch4' \ + 'git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch4' \ || true @@ -127,7 +127,7 @@ git update-index exec.sh git commit -m "$name" test_expect_success "$name" \ - "git-svn commit --find-copies-harder --rmdir remotes/git-svn..mybranch5 && + "git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch5 && svn up $SVN_TREE && test ! -x $SVN_TREE/exec.sh" @@ -138,7 +138,7 @@ git update-index exec.sh git commit -m "$name" test_expect_success "$name" \ - "git-svn commit --find-copies-harder --rmdir remotes/git-svn..mybranch5 && + "git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch5 && svn up $SVN_TREE && test -x $SVN_TREE/exec.sh" @@ -153,7 +153,7 @@ then git commit -m "$name" test_expect_success "$name" \ - "git-svn commit --find-copies-harder --rmdir remotes/git-svn..mybranch5 && + "git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch5 && svn up $SVN_TREE && test -L $SVN_TREE/exec.sh" @@ -164,7 +164,7 @@ then git commit -m "$name" test_expect_success "$name" \ - "git-svn commit --find-copies-harder --rmdir remotes/git-svn..mybranch5 && + "git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch5 && svn up $SVN_TREE && test -x $SVN_TREE/bar/zzz && test -L $SVN_TREE/exec-2.sh" @@ -177,7 +177,7 @@ then git commit -m "$name" test_expect_success "$name" \ - "git-svn commit --find-copies-harder --rmdir remotes/git-svn..mybranch5 && + "git-svn set-tree --find-copies-harder --rmdir remotes/git-svn..mybranch5 && svn up $SVN_TREE && test -f $SVN_TREE/exec-2.sh && test ! -L $SVN_TREE/exec-2.sh && @@ -192,7 +192,7 @@ then git update-index exec-2.sh git commit -m 'éï∏' export LC_ALL="$GIT_SVN_LC_ALL" - test_expect_success "$name" "git-svn commit HEAD" + test_expect_success "$name" "git-svn set-tree HEAD" unset LC_ALL else echo "UTF-8 locale not set, test skipped ($GIT_SVN_LC_ALL)" diff --git a/t/t9101-git-svn-props.sh b/t/t9101-git-svn-props.sh index a5a235f..5543b07 100755 --- a/t/t9101-git-svn-props.sh +++ b/t/t9101-git-svn-props.sh @@ -74,7 +74,7 @@ test_expect_success "$name" \ 'git checkout -b mybranch remotes/git-svn && echo Hi again >> kw.c && git commit -a -m "test keywoards ignoring" && - git-svn commit remotes/git-svn..mybranch && + git-svn set-tree remotes/git-svn..mybranch && git pull . remotes/git-svn' expect='/* $Id$ */' diff --git a/t/t9102-git-svn-deep-rmdir.sh b/t/t9102-git-svn-deep-rmdir.sh index d693d18..572aaed 100755 --- a/t/t9102-git-svn-deep-rmdir.sh +++ b/t/t9102-git-svn-deep-rmdir.sh @@ -21,7 +21,7 @@ test_expect_success 'mirror via git-svn' " test_expect_success 'Try a commit on rmdir' " git rm -f deeply/nested/directory/number/2/another && git commit -a -m 'remove another' && - git-svn commit --rmdir HEAD && + git-svn set-tree --rmdir HEAD && svn ls -R $svnrepo | grep ^deeply/nested/directory/number/1 " -- cgit v0.10.2-6-g49f6