git-svn: add --authors-prog option
[gitweb.git] / Documentation / git-svn.txt
index cda3389331edd615cab316574e4dedc5cc30bd31..ca3fc3de1fcfc3509a9d5d1ff268c9673bafc3c0 100644 (file)
@@ -85,6 +85,10 @@ COMMANDS
        specified, the prefix must include a trailing slash.
        Setting a prefix is useful if you wish to track multiple
        projects that share a common repository.
+--ignore-paths=<regex>;;
+       When passed to 'init' or 'clone' this regular expression will
+       be preserved as a config key.  See 'fetch' for a description
+       of '--ignore-paths'.
 
 'fetch'::
        Fetch unfetched revisions from the Subversion remote we are
@@ -97,6 +101,9 @@ COMMANDS
        makes 'git-log' (even without --date=local) show the same times
        that `svn log` would in the local timezone.
 
+--parent;;
+       Fetch only from the SVN parent of the current HEAD.
+
 This doesn't interfere with interoperating with the Subversion
 repository you cloned from, but if you wish for your local Git
 repository to be able to interoperate with someone else's local Git
@@ -104,17 +111,25 @@ repository, either don't use this option or you should both use it in
 the same local timezone.
 
 --ignore-paths=<regex>;;
-       This allows one to specify Perl regular expression that will
+       This allows one to specify Perl regular expression that will
        cause skipping of all matching paths from checkout from SVN.
-       Examples:
+       The '--ignore-paths' option should match for every 'fetch'
+       (including automatic fetches due to 'clone', 'dcommit',
+       'rebase', etc) on a given repository.
+
+config key: svn-remote.<name>.ignore-paths
 
-       --ignore-paths="^doc" - skip "doc*" directory for every fetch.
+       If the ignore-paths config key is set and the command
+       line option is also given, both regular expressions
+       will be used.
 
-       --ignore-paths="^[^/]+/(?:branches|tags)" - skip "branches"
-           and "tags" of first level directories.
+Examples:
 
-       Regular expression is not persistent, you should specify
-       it every time when fetching.
+       --ignore-paths="^doc" - skip "doc*" directory for every
+           fetch.
+
+       --ignore-paths="^[^/]+/(?:branches|tags)" - skip
+           "branches" and "tags" of first level directories.
 
 'clone'::
        Runs 'init' and 'fetch'.  It will automatically create a
@@ -383,9 +398,18 @@ after the authors-file is modified should continue operation.
 
 config key: svn.authorsfile
 
+--authors-prog=<filename>::
+
+If this option is specified, for each SVN committer name that does not
+exist in the authors file, the given file is executed with the committer
+name as the first argument.  The program is expected to return a single
+line of the form "Name <email>", which will be treated as if included in
+the authors file.
+
 -q::
 --quiet::
-       Make 'git-svn' less verbose.
+       Make 'git-svn' less verbose. Specify a second time to make it
+       even less verbose.
 
 --repack[=<n>]::
 --repack-flags=<flags>::
@@ -672,14 +696,14 @@ listed below are allowed:
 ------------------------------------------------------------------------
 [svn-remote "project-a"]
        url = http://server.org/svn
+       fetch = trunk/project-a:refs/remotes/project-a/trunk
        branches = branches/*/project-a:refs/remotes/project-a/branches/*
        tags = tags/*/project-a:refs/remotes/project-a/tags/*
-       trunk = trunk/project-a:refs/remotes/project-a/trunk
 ------------------------------------------------------------------------
 
-Keep in mind that the '*' (asterisk) wildcard of the local ref
+Keep in mind that the '\*' (asterisk) wildcard of the local ref
 (right of the ':') *must* be the farthest right path component;
-however the remote wildcard may be anywhere as long as it's own
+however the remote wildcard may be anywhere as long as it's an
 independent path component (surrounded by '/' or EOL).   This
 type of configuration is not automatically created by 'init' and
 should be manually entered with a text-editor or using 'git-config'.