Home Explore Blog CI



git

6th chunk of `Documentation/git-svn.adoc`
508fb042bb3043515f4e9c94952647aa15f472b168d480000000000100000fa7
 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 data being up to date.  This makes
	absolutely no attempts to do patching when committing to SVN, it
	simply overwrites files with those specified in the tree or
	commit.  All merging is assumed to have taken place
	independently of 'git svn' functions.

'create-ignore'::
	Recursively finds the svn:ignore and svn:global-ignores properties
	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 specific revision.

'show-ignore'::
	Recursively finds and lists the svn:ignore and svn:global-ignores
	properties on directories. The output is suitable for appending to
	the $GIT_DIR/info/exclude file.

'mkdirs'::
	Attempts to recreate empty directories that core Git cannot track
	based on information in $GIT_DIR/svn/<refname>/unhandled.log files.
	Empty directories are automatically recreated when using
	"git svn clone" and "git svn rebase", so "mkdirs" is intended
	for use after commands like "git checkout" or "git reset".
	(See the svn-remote.<name>.automkdirs config file option for
	more information.)

'commit-diff'::
	Commits the diff of two tree-ish arguments from the
	command-line.  This command does not rely on being inside a `git svn
	init`-ed repository.  This command takes three arguments, (a) the
	original tree to diff against, (b) the new tree result, (c) the
	URL of the target Subversion repository.  The final argument
	(URL) may be omitted if you are working from a 'git svn'-aware
	repository (that has been `init`-ed with 'git svn').
	The -r<revision> option is required for this.
+
The commit message is supplied either directly with the `-m` or `-F`
option, or indirectly from the tag or commit when the second tree-ish
denotes such an object, or it is requested by invoking an editor (see
`--edit` option below).

-m <msg>;;
--message=<msg>;;
	Use the given `msg` as the commit message. This option
	disables the `--edit` option.

-F <filename>;;
--file=<filename>;;
	Take the commit message from the given file. This option
	disables the `--edit` option.

'info'::
	Shows information about a file or directory similar to what
	`svn info' provides.  Does not currently support a -r/--revision
	argument.  Use the --url option to output only the value of the
	'URL:' field.

'proplist'::
	Lists the properties stored in the Subversion repository about a
	given file or directory.  Use -r/--revision to refer to a specific
	Subversion revision.

'propget'::
	Gets the Subversion property given as the first argument, for a
	file.  A specific revision can be specified with -r/--revision.

'propset'::
	Sets the Subversion property given as the first argument, to the
	value given as the second argument for the file given as the
	third argument.
+
Example:
+
------------------------------------------------------------------------
git svn propset svn:keywords "FreeBSD=%H" devel/py-tipper/Makefile
------------------------------------------------------------------------

Title: Git SVN Commands for Interacting with SVN Repositories
Summary
The git-svn tool provides various commands for interacting with SVN repositories, including find-rev, set-tree, create-ignore, show-ignore, mkdirs, commit-diff, info, proplist, propget, and propset, which enable users to manage SVN properties, commit changes, and query repository information, with options for customizing behavior and specifying revisions.