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 <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:

committed by
Junio C Hamano

parent
b9c8518722
commit
3289e86e1e
@ -64,7 +64,7 @@ manually joining branches on commit.
|
|||||||
against the latest changes in the SVN repository.
|
against the latest changes in the SVN repository.
|
||||||
An optional command-line argument may be specified as an
|
An optional command-line argument may be specified as an
|
||||||
alternative to HEAD.
|
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.
|
cleaner, more linear history.
|
||||||
|
|
||||||
'log'::
|
'log'::
|
||||||
@ -89,7 +89,7 @@ manually joining branches on commit.
|
|||||||
|
|
||||||
Any other arguments are passed directly to `git log'
|
Any other arguments are passed directly to `git log'
|
||||||
|
|
||||||
'commit'::
|
'set-tree'::
|
||||||
You should consider using 'dcommit' instead of this command.
|
You should consider using 'dcommit' instead of this command.
|
||||||
Commit specified commit or tree objects to SVN. This relies on
|
Commit specified commit or tree objects to SVN. This relies on
|
||||||
your imported fetch data being up-to-date. This makes
|
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::
|
--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
|
Read a list of commits from stdin and commit them in reverse
|
||||||
order. Only the leading sha1 is read from each line, so
|
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::
|
--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
|
Remove directories from the SVN tree if there are no files left
|
||||||
behind. SVN can version empty directories, and they are not
|
behind. SVN can version empty directories, and they are not
|
||||||
@ -193,7 +193,7 @@ repo-config key: svn.rmdir
|
|||||||
-e::
|
-e::
|
||||||
--edit::
|
--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
|
Edit the commit message before committing to SVN. This is off by
|
||||||
default for objects that are commits, and forced on when committing
|
default for objects that are commits, and forced on when committing
|
||||||
@ -204,7 +204,7 @@ repo-config key: svn.edit
|
|||||||
-l<num>::
|
-l<num>::
|
||||||
--find-copies-harder::
|
--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
|
They are both passed directly to git-diff-tree see
|
||||||
gitlink:git-diff-tree[1] for more information.
|
gitlink:git-diff-tree[1] for more information.
|
||||||
@ -276,7 +276,7 @@ ADVANCED OPTIONS
|
|||||||
|
|
||||||
-b<refname>::
|
-b<refname>::
|
||||||
--branch <refname>::
|
--branch <refname>::
|
||||||
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
|
This can be used to join arbitrary git branches to remotes/git-svn
|
||||||
on new commits where the tree object is equivalent.
|
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
|
Originally, git-svn recommended that the remotes/git-svn branch be
|
||||||
pulled from. This is because the author favored 'git-svn commit B'
|
pulled from. This is because the author favored 'git-svn set-tree B'
|
||||||
to commit a single head rather than the 'git-svn commit A..B' notation
|
to commit a single head rather than the 'git-svn set-tree A..B' notation
|
||||||
to commit multiple commits.
|
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
|
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'
|
'git rebase' to update your work branch instead of 'git pull'. 'pull'
|
||||||
can cause non-linear history to be flattened when committing into SVN,
|
can cause non-linear history to be flattened when committing into SVN,
|
||||||
|
12
git-svn.perl
12
git-svn.perl
@ -107,7 +107,12 @@ my %cmd = (
|
|||||||
init => [ \&init, "Initialize a repo for tracking" .
|
init => [ \&init, "Initialize a repo for tracking" .
|
||||||
" (requires URL argument)",
|
" (requires URL argument)",
|
||||||
\%init_opts ],
|
\%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, } ],
|
{ 'stdin|' => \$_stdin, %cmt_opts, %fc_opts, } ],
|
||||||
'show-ignore' => [ \&show_ignore, "Show svn:ignore listings",
|
'show-ignore' => [ \&show_ignore, "Show svn:ignore listings",
|
||||||
{ 'revision|r=i' => \$_revision } ],
|
{ 'revision|r=i' => \$_revision } ],
|
||||||
@ -150,11 +155,6 @@ my %cmd = (
|
|||||||
'file|F=s' => \$_file,
|
'file|F=s' => \$_file,
|
||||||
'revision|r=s' => \$_revision,
|
'revision|r=s' => \$_revision,
|
||||||
%cmt_opts } ],
|
%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;
|
my $cmd;
|
||||||
|
@ -56,7 +56,7 @@ git update-index --add --remove dir/a/b/c/d/e/file dir/file file
|
|||||||
git commit -m "$name"
|
git commit -m "$name"
|
||||||
|
|
||||||
test_expect_success "$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 &&
|
svn up $SVN_TREE &&
|
||||||
test -d $SVN_TREE/dir && test ! -d $SVN_TREE/dir/a"
|
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"
|
git commit -m "$name"
|
||||||
|
|
||||||
test_expect_failure "$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
|
|| true
|
||||||
|
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ git update-index --add -- bar
|
|||||||
git commit -m "$name"
|
git commit -m "$name"
|
||||||
|
|
||||||
test_expect_failure "$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
|
|| true
|
||||||
|
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ git-update-index --add bar/zzz/yyy
|
|||||||
git commit -m "$name"
|
git commit -m "$name"
|
||||||
|
|
||||||
test_expect_failure "$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
|
|| true
|
||||||
|
|
||||||
|
|
||||||
@ -115,7 +115,7 @@ git update-index --add -- dir
|
|||||||
git commit -m "$name"
|
git commit -m "$name"
|
||||||
|
|
||||||
test_expect_failure "$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
|
|| true
|
||||||
|
|
||||||
|
|
||||||
@ -127,7 +127,7 @@ git update-index exec.sh
|
|||||||
git commit -m "$name"
|
git commit -m "$name"
|
||||||
|
|
||||||
test_expect_success "$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 &&
|
svn up $SVN_TREE &&
|
||||||
test ! -x $SVN_TREE/exec.sh"
|
test ! -x $SVN_TREE/exec.sh"
|
||||||
|
|
||||||
@ -138,7 +138,7 @@ git update-index exec.sh
|
|||||||
git commit -m "$name"
|
git commit -m "$name"
|
||||||
|
|
||||||
test_expect_success "$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 &&
|
svn up $SVN_TREE &&
|
||||||
test -x $SVN_TREE/exec.sh"
|
test -x $SVN_TREE/exec.sh"
|
||||||
|
|
||||||
@ -153,7 +153,7 @@ then
|
|||||||
git commit -m "$name"
|
git commit -m "$name"
|
||||||
|
|
||||||
test_expect_success "$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 &&
|
svn up $SVN_TREE &&
|
||||||
test -L $SVN_TREE/exec.sh"
|
test -L $SVN_TREE/exec.sh"
|
||||||
|
|
||||||
@ -164,7 +164,7 @@ then
|
|||||||
git commit -m "$name"
|
git commit -m "$name"
|
||||||
|
|
||||||
test_expect_success "$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 &&
|
svn up $SVN_TREE &&
|
||||||
test -x $SVN_TREE/bar/zzz &&
|
test -x $SVN_TREE/bar/zzz &&
|
||||||
test -L $SVN_TREE/exec-2.sh"
|
test -L $SVN_TREE/exec-2.sh"
|
||||||
@ -177,7 +177,7 @@ then
|
|||||||
git commit -m "$name"
|
git commit -m "$name"
|
||||||
|
|
||||||
test_expect_success "$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 &&
|
svn up $SVN_TREE &&
|
||||||
test -f $SVN_TREE/exec-2.sh &&
|
test -f $SVN_TREE/exec-2.sh &&
|
||||||
test ! -L $SVN_TREE/exec-2.sh &&
|
test ! -L $SVN_TREE/exec-2.sh &&
|
||||||
@ -192,7 +192,7 @@ then
|
|||||||
git update-index exec-2.sh
|
git update-index exec-2.sh
|
||||||
git commit -m 'éï∏'
|
git commit -m 'éï∏'
|
||||||
export LC_ALL="$GIT_SVN_LC_ALL"
|
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
|
unset LC_ALL
|
||||||
else
|
else
|
||||||
echo "UTF-8 locale not set, test skipped ($GIT_SVN_LC_ALL)"
|
echo "UTF-8 locale not set, test skipped ($GIT_SVN_LC_ALL)"
|
||||||
|
@ -74,7 +74,7 @@ test_expect_success "$name" \
|
|||||||
'git checkout -b mybranch remotes/git-svn &&
|
'git checkout -b mybranch remotes/git-svn &&
|
||||||
echo Hi again >> kw.c &&
|
echo Hi again >> kw.c &&
|
||||||
git commit -a -m "test keywoards ignoring" &&
|
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'
|
git pull . remotes/git-svn'
|
||||||
|
|
||||||
expect='/* $Id$ */'
|
expect='/* $Id$ */'
|
||||||
|
@ -21,7 +21,7 @@ test_expect_success 'mirror via git-svn' "
|
|||||||
test_expect_success 'Try a commit on rmdir' "
|
test_expect_success 'Try a commit on rmdir' "
|
||||||
git rm -f deeply/nested/directory/number/2/another &&
|
git rm -f deeply/nested/directory/number/2/another &&
|
||||||
git commit -a -m 'remove 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
|
svn ls -R $svnrepo | grep ^deeply/nested/directory/number/1
|
||||||
"
|
"
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user