Code

Merge branch 'maint'
[git.git] / Documentation / git-svn.txt
index f230125a81baab9f13bf84e3543b63fc77a8e827..84c8f3cde0b781ef1579b38a17430dc405115190 100644 (file)
@@ -13,7 +13,7 @@ DESCRIPTION
 -----------
 'git-svn' is a simple conduit for changesets between Subversion and git.
 It provides a bidirectional flow of changes between a Subversion and a git
 -----------
 'git-svn' is a simple conduit for changesets between Subversion and git.
 It provides a bidirectional flow of changes between a Subversion and a git
-respository.
+repository.
 
 'git-svn' can track a single Subversion branch simply by using a
 URL to the branch, follow branches laid out in the Subversion recommended
 
 'git-svn' can track a single Subversion branch simply by using a
 URL to the branch, follow branches laid out in the Subversion recommended
@@ -138,8 +138,33 @@ and have no uncommitted changes.
 +
 --no-rebase;;
        After committing, do not rebase or reset.
 +
 --no-rebase;;
        After committing, do not rebase or reset.
+--commit-url <URL>;;
+       Commit to this SVN URL (the full path).  This is intended to
+       allow existing git-svn repositories created with one transport
+       method (e.g. `svn://` or `http://` for anonymous read) to be
+       reused if a user is later given access to an alternate transport
+       method (e.g. `svn+ssh://` or `https://`) for commit.
+
+       Using this option for any other purpose (don't ask)
+       is very strongly discouraged.
 --
 
 --
 
+'branch'::
+       Create a branch in the SVN repository.
+
+-m;;
+--message;;
+       Allows to specify the commit message.
+
+-t;;
+--tag;;
+       Create a tag by using the tags_subdir instead of the branches_subdir
+       specified during git svn init.
+
+'tag'::
+       Create a tag in the SVN repository. This is a shorthand for
+       'branch -t'.
+
 'log'::
        This should make it easy to look up svn log messages when svn
        users refer to -r/--revision numbers.
 'log'::
        This should make it easy to look up svn log messages when svn
        users refer to -r/--revision numbers.
@@ -209,7 +234,7 @@ Any other arguments are passed directly to 'git-log'
        Recursively finds the svn:ignore property on directories and
        creates matching .gitignore files. The resulting files are staged to
        be committed, but are not committed. Use -r/--revision to refer to a
        Recursively finds the svn:ignore property on directories and
        creates matching .gitignore files. The resulting files are staged to
        be committed, but are not committed. Use -r/--revision to refer to a
-       specfic revision.
+       specific revision.
 
 'show-ignore'::
        Recursively finds and lists the svn:ignore property on
 
 'show-ignore'::
        Recursively finds and lists the svn:ignore property on
@@ -363,7 +388,8 @@ Passed directly to 'git-rebase' when using 'dcommit' if a
 -n::
 --dry-run::
 
 -n::
 --dry-run::
 
-This can be used with the 'dcommit' and 'rebase' commands.
+This can be used with the 'dcommit', 'rebase', 'branch' and 'tag'
+commands.
 
 For 'dcommit', print out the series of git arguments that would show
 which diffs would be committed to SVN.
 
 For 'dcommit', print out the series of git arguments that would show
 which diffs would be committed to SVN.
@@ -372,6 +398,9 @@ For 'rebase', display the local branch associated with the upstream svn
 repository associated with the current branch and the URL of svn
 repository that will be fetched from.
 
 repository associated with the current branch and the URL of svn
 repository that will be fetched from.
 
+For 'branch' and 'tag', display the urls that will be used for copying when
+creating the branch or tag.
+
 --
 
 ADVANCED OPTIONS
 --
 
 ADVANCED OPTIONS
@@ -464,7 +493,7 @@ Tracking and contributing to the trunk of a Subversion-managed project:
 
 ------------------------------------------------------------------------
 # Clone a repo (like git clone):
 
 ------------------------------------------------------------------------
 # Clone a repo (like git clone):
-       git svn clone http://svn.foo.org/project/trunk
+       git svn clone http://svn.example.com/project/trunk
 # Enter the newly cloned directory:
        cd trunk
 # You should be on master branch, double-check with git-branch
 # Enter the newly cloned directory:
        cd trunk
 # You should be on master branch, double-check with git-branch
@@ -486,9 +515,11 @@ Tracking and contributing to an entire Subversion-managed project
 
 ------------------------------------------------------------------------
 # Clone a repo (like git clone):
 
 ------------------------------------------------------------------------
 # Clone a repo (like git clone):
-       git svn clone http://svn.foo.org/project -T trunk -b branches -t tags
+       git svn clone http://svn.example.com/project -T trunk -b branches -t tags
 # View all branches and tags you have cloned:
        git branch -r
 # View all branches and tags you have cloned:
        git branch -r
+# Create a new branch in SVN
+    git svn branch waldo
 # Reset your master to trunk (or any other branch, replacing 'trunk'
 # with the appropriate name):
        git reset --hard remotes/trunk
 # Reset your master to trunk (or any other branch, replacing 'trunk'
 # with the appropriate name):
        git reset --hard remotes/trunk
@@ -505,7 +536,7 @@ have each person clone that repository with 'git-clone':
 
 ------------------------------------------------------------------------
 # Do the initial import on a server
 
 ------------------------------------------------------------------------
 # Do the initial import on a server
-       ssh server "cd /pub && git svn clone http://svn.foo.org/project
+       ssh server "cd /pub && git svn clone http://svn.example.com/project
 # Clone locally - make sure the refs/remotes/ space matches the server
        mkdir project
        cd project
 # Clone locally - make sure the refs/remotes/ space matches the server
        mkdir project
        cd project
@@ -514,7 +545,7 @@ have each person clone that repository with 'git-clone':
        git config --add remote.origin.fetch '+refs/remotes/*:refs/remotes/*'
        git fetch
 # Initialize git-svn locally (be sure to use the same URL and -T/-b/-t options as were used on server)
        git config --add remote.origin.fetch '+refs/remotes/*:refs/remotes/*'
        git fetch
 # Initialize git-svn locally (be sure to use the same URL and -T/-b/-t options as were used on server)
-       git svn init http://svn.foo.org/project
+       git svn init http://svn.example.com/project
 # Pull the latest changes from Subversion
        git svn rebase
 ------------------------------------------------------------------------
 # Pull the latest changes from Subversion
        git svn rebase
 ------------------------------------------------------------------------