Home Explore Blog CI



git

5th chunk of `Documentation/git-svn.adoc`
37956674d127ce1461cb2287fa85dd59fdf4fce9765dd5530000000100000fa2
 (discard this
	patch), "all" (accept all patches), or "quit".
+
'git svn dcommit' returns immediately if answer is "no" or "quit", without
committing anything to SVN.

'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.

-d<path>;;
--destination=<path>;;

	If more than one --branches (or --tags) option was given to the 'init'
	or 'clone' command, you must provide the location of the branch (or
	tag) you wish to create in the SVN repository.  <path> specifies which
	path to use to create the branch or tag and should match the pattern
	on the left-hand side of one of the configured branches or tags
	refspecs.  You can see these refspecs with the commands
+
	git config --get-all svn-remote.<name>.branches
	git config --get-all svn-remote.<name>.tags
+
where <name> is the name of the SVN repository as specified by the -R option to
'init' (or "svn" by default).

--username;;
	Specify the SVN username to perform the commit as.  This option overrides
	the 'username' configuration property.

--commit-url;;
	Use the specified URL to connect to the destination Subversion
	repository.  This is useful in cases where the source SVN
	repository is read-only.  This option overrides configuration
	property 'commiturl'.
+
	git config --get-all svn-remote.<name>.commiturl
+

--parents;;
	Create parent folders. This parameter is equivalent to the parameter
	--parents on svn cp commands and is useful for non-standard repository
	layouts.

'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.
+
The following features from `svn log' are supported:
+
--
-r <n>[:<n>];;
--revision=<n>[:<n>];;
	is supported, non-numeric args are not:
	HEAD, NEXT, BASE, PREV, etc ...
-v;;
--verbose;;
	it's not completely compatible with the --verbose
	output in svn log, but reasonably close.
--limit=<n>;;
	is NOT the same as --max-count, doesn't count
	merged/excluded commits
--incremental;;
	supported
--
+
New features:
+
--
--show-commit;;
	shows the Git commit sha1, as well
--oneline;;
	our version of --pretty=oneline
--
+
NOTE: SVN itself only stores times in UTC and nothing else. The regular svn
client converts the UTC time to the local time (or based on the TZ=
environment). This command has the same behaviour.
+
Any other arguments are passed directly to 'git log'

'blame'::
	Show what revision and author last modified each line of a file. The
	output of this mode is format-compatible with the output of
	`svn blame' by default. Like the SVN blame command,
	local uncommitted changes in the working tree are ignored;
	the version of the file in the HEAD revision is annotated. Unknown
	arguments are passed directly to 'git blame'.
+
--git-format;;
	Produce output in the same format as 'git blame', but with
	SVN revision numbers instead of Git commit hashes. In this mode,
	changes that haven't been committed to SVN (including local
	working-copy edits) are shown as revision 0.

'find-rev'::
	When given an SVN revision number of the form 'rN', returns the
	corresponding Git commit hash (this can optionally be followed by a
	tree-ish to specify which branch should be searched).  When given a
	tree-ish, returns the corresponding SVN revision number.
+
-B;;
--before;;
	Don't require an exact match if given an SVN revision, instead find
	the commit corresponding to the state of the SVN repository (on the
	current branch) at the specified revision.
+
-A;;
--after;;
	Don't require an exact match if given an SVN revision; if there is
	not an exact match return the closest match searching forward in the
	history.

'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

Title: Git SVN Commands and Options
Summary
The git-svn tool provides various commands, including branch, tag, log, blame, find-rev, and set-tree, with options for specifying commit messages, destinations, usernames, and URLs, and for customizing the behavior of these commands, including support for SVN revision numbers, Git commit hashes, and local working-copy edits.