git-svn: documentation updates
Eliminate 'commit' from some places and plug 'dcommit' more. Also update the section --id (GIT_SVN_ID) usage since we have multi-init/multi-fetch now. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
9aca025849
commit
4511c899e6
@ -49,7 +49,7 @@ latest revision.
|
|||||||
|
|
||||||
Note: You should never attempt to modify the remotes/git-svn
|
Note: You should never attempt to modify the remotes/git-svn
|
||||||
branch outside of git-svn. Instead, create a branch from
|
branch outside of git-svn. Instead, create a branch from
|
||||||
remotes/git-svn and work on that branch. Use the 'commit'
|
remotes/git-svn and work on that branch. Use the 'dcommit'
|
||||||
command (see below) to write git commits back to
|
command (see below) to write git commits back to
|
||||||
remotes/git-svn.
|
remotes/git-svn.
|
||||||
|
|
||||||
@ -274,7 +274,7 @@ ADVANCED OPTIONS
|
|||||||
|
|
||||||
-b<refname>::
|
-b<refname>::
|
||||||
--branch <refname>::
|
--branch <refname>::
|
||||||
Used with 'fetch' or 'commit'.
|
Used with 'fetch', 'dcommit' or 'commit'.
|
||||||
|
|
||||||
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.
|
||||||
@ -368,7 +368,7 @@ SVN was very wrong.
|
|||||||
Basic Examples
|
Basic Examples
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Tracking and contributing to an Subversion managed-project:
|
Tracking and contributing to a Subversion-managed project:
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
# Initialize a repo (like git init-db):
|
# Initialize a repo (like git init-db):
|
||||||
@ -377,10 +377,9 @@ Tracking and contributing to an Subversion managed-project:
|
|||||||
git-svn fetch
|
git-svn fetch
|
||||||
# Create your own branch to hack on:
|
# Create your own branch to hack on:
|
||||||
git checkout -b my-branch remotes/git-svn
|
git checkout -b my-branch remotes/git-svn
|
||||||
# Commit only the git commits you want to SVN:
|
# Do some work, and then commit your new changes to SVN, as well as
|
||||||
git-svn commit <tree-ish> [<tree-ish_2> ...]
|
# automatically updating your working HEAD:
|
||||||
# Commit all the git commits from my-branch that don't exist in SVN:
|
git-svn dcommit
|
||||||
git-svn commit remotes/git-svn..my-branch
|
|
||||||
# Something is committed to SVN, rebase the latest into your branch:
|
# Something is committed to SVN, rebase the latest into your branch:
|
||||||
git-svn fetch && git rebase remotes/git-svn
|
git-svn fetch && git rebase remotes/git-svn
|
||||||
# Append svn:ignore settings to the default git exclude file:
|
# Append svn:ignore settings to the default git exclude file:
|
||||||
@ -404,26 +403,24 @@ which can lead to merge commits reversing previous commits in SVN.
|
|||||||
DESIGN PHILOSOPHY
|
DESIGN PHILOSOPHY
|
||||||
-----------------
|
-----------------
|
||||||
Merge tracking in Subversion is lacking and doing branched development
|
Merge tracking in Subversion is lacking and doing branched development
|
||||||
with Subversion is cumbersome as a result. git-svn completely forgoes
|
with Subversion is cumbersome as a result. git-svn does not do
|
||||||
any automated merge/branch tracking on the Subversion side and leaves it
|
automated merge/branch tracking by default and leaves it entirely up to
|
||||||
entirely up to the user on the git side. It's simply not worth it to do
|
the user on the git side.
|
||||||
a useful translation when the original signal is weak.
|
|
||||||
|
|
||||||
[[tracking-multiple-repos]]
|
[[tracking-multiple-repos]]
|
||||||
TRACKING MULTIPLE REPOSITORIES OR BRANCHES
|
TRACKING MULTIPLE REPOSITORIES OR BRANCHES
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
This is for advanced users, most users should ignore this section.
|
|
||||||
|
|
||||||
Because git-svn does not care about relationships between different
|
Because git-svn does not care about relationships between different
|
||||||
branches or directories in a Subversion repository, git-svn has a simple
|
branches or directories in a Subversion repository, git-svn has a simple
|
||||||
hack to allow it to track an arbitrary number of related _or_ unrelated
|
hack to allow it to track an arbitrary number of related _or_ unrelated
|
||||||
SVN repositories via one git repository. Simply set the GIT_SVN_ID
|
SVN repositories via one git repository. Simply use the --id/-i flag or
|
||||||
environment variable to a name other other than "git-svn" (the default)
|
set the GIT_SVN_ID environment variable to a name other other than
|
||||||
and git-svn will ignore the contents of the $GIT_DIR/svn/git-svn directory
|
"git-svn" (the default) and git-svn will ignore the contents of the
|
||||||
and instead do all of its work in $GIT_DIR/svn/$GIT_SVN_ID for that
|
$GIT_DIR/svn/git-svn directory and instead do all of its work in
|
||||||
invocation. The interface branch will be remotes/$GIT_SVN_ID, instead of
|
$GIT_DIR/svn/$GIT_SVN_ID for that invocation. The interface branch will
|
||||||
remotes/git-svn. Any remotes/$GIT_SVN_ID branch should never be modified
|
be remotes/$GIT_SVN_ID, instead of remotes/git-svn. Any
|
||||||
by the user outside of git-svn commands.
|
remotes/$GIT_SVN_ID branch should never be modified by the user outside
|
||||||
|
of git-svn commands.
|
||||||
|
|
||||||
[[fetch-args]]
|
[[fetch-args]]
|
||||||
ADDITIONAL FETCH ARGUMENTS
|
ADDITIONAL FETCH ARGUMENTS
|
||||||
@ -486,7 +483,8 @@ If you are not using the SVN::* Perl libraries and somebody commits a
|
|||||||
conflicting changeset to SVN at a bad moment (right before you commit)
|
conflicting changeset to SVN at a bad moment (right before you commit)
|
||||||
causing a conflict and your commit to fail, your svn working tree
|
causing a conflict and your commit to fail, your svn working tree
|
||||||
($GIT_DIR/git-svn/tree) may be dirtied. The easiest thing to do is
|
($GIT_DIR/git-svn/tree) may be dirtied. The easiest thing to do is
|
||||||
probably just to rm -rf $GIT_DIR/git-svn/tree and run 'rebuild'.
|
probably just to rm -rf $GIT_DIR/git-svn/tree and run 'rebuild'. You
|
||||||
|
can avoid this problem entirely by using 'dcommit'.
|
||||||
|
|
||||||
We ignore all SVN properties except svn:executable. Too difficult to
|
We ignore all SVN properties except svn:executable. Too difficult to
|
||||||
map them since we rely heavily on git write-tree being _exactly_ the
|
map them since we rely heavily on git write-tree being _exactly_ the
|
||||||
|
Loading…
Reference in New Issue
Block a user