Autogenerated HTML docs for v1.5.0.1-213-g509b
authorJunio C Hamano <junio@hera.kernel.org>
Fri, 23 Feb 2007 11:13:52 +0000 (11:13 +0000)
committerJunio C Hamano <junio@hera.kernel.org>
Fri, 23 Feb 2007 11:13:52 +0000 (11:13 +0000)
git-svn.html
git-svn.txt
git.html

index b4221ec5a26f6d9c395d6c0ab385253e8318b0fd..2fd6550c4c2e830357a8c7c9dff9d5ded7bec6c4 100644 (file)
@@ -278,13 +278,12 @@ git-svn(1) Manual Page
 <div class="sectionbody">\r
 <p>git-svn is a simple conduit for changesets between Subversion and git.\r
 It is not to be confused with <a href="git-svnimport.html">git-svnimport(1)</a>, which is\r
-read-only and geared towards tracking multiple branches.</p>\r
+read-only.</p>\r
 <p>git-svn was originally designed for an individual developer who wants a\r
 bidirectional flow of changesets between a single branch in Subversion\r
 and an arbitrary number of branches in git.  Since its inception,\r
 git-svn has gained the ability to track multiple branches in a manner\r
-similar to git-svnimport; but it cannot (yet) automatically detect new\r
-branches and tags like git-svnimport does.</p>\r
+similar to git-svnimport.</p>\r
 <p>git-svn is especially useful when it comes to tracking repositories\r
 not organized in the way Subversion developers recommend (trunk,\r
 branches, tags directories).</p>\r
@@ -297,29 +296,144 @@ branches, tags directories).</p>
 </dt>\r
 <dd>\r
 <p>\r
-        Creates an empty git repository with additional metadata\r
-        directories for git-svn.  The Subversion URL must be specified\r
-        as a command-line argument.  Optionally, the target directory\r
-        to operate on can be specified as a second argument.  Normally\r
-        this command initializes the current directory.\r
+        Initializes an empty git repository with additional\r
+        metadata directories for git-svn.  The Subversion URL\r
+        may be specified as a command-line argument, or as full\r
+        URL arguments to -T/-t/-b.  Optionally, the target\r
+        directory to operate on can be specified as a second\r
+        argument.  Normally this command initializes the current\r
+        directory.\r
 </p>\r
 </dd>\r
 <dt>\r
+-T&lt;trunk_subdir&gt;\r
+</dt>\r
+<dt>\r
+--trunk=&lt;trunk_subdir&gt;\r
+</dt>\r
+<dt>\r
+-t&lt;tags_subdir&gt;\r
+</dt>\r
+<dt>\r
+--tags=&lt;tags_subdir&gt;\r
+</dt>\r
+<dt>\r
+-b&lt;branches_subdir&gt;\r
+</dt>\r
+<dt>\r
+--branches=&lt;branches_subdir&gt;\r
+</dt>\r
+<dd>\r
+<p>\r
+        These are optional command-line options for init.  Each of\r
+        these flags can point to a relative repository path\r
+        (--tags=project/tags') or a full url\r
+        (--tags=https://foo.org/project/tags)\r
+</p>\r
+</dd>\r
+<dt>\r
+--no-metadata\r
+</dt>\r
+<dd>\r
+<p>\r
+        Set the <em>noMetadata</em> option in the [svn-remote] config.\r
+</p>\r
+</dd>\r
+<dt>\r
+--use-svm-props\r
+</dt>\r
+<dd>\r
+<p>\r
+        Set the <em>useSvmProps</em> option in the [svn-remote] config.\r
+</p>\r
+</dd>\r
+<dt>\r
+--use-svnsync-props\r
+</dt>\r
+<dd>\r
+<p>\r
+        Set the <em>useSvnsyncProps</em> option in the [svn-remote] config.\r
+</p>\r
+</dd>\r
+<dt>\r
+--rewrite-root=&lt;URL&gt;\r
+</dt>\r
+<dd>\r
+<p>\r
+        Set the <em>rewriteRoot</em> option in the [svn-remote] config.\r
+</p>\r
+</dd>\r
+<dt>\r
+--username=&lt;USER&gt;\r
+</dt>\r
+<dd>\r
+<p>\r
+        For transports that SVN handles authentication for (http,\r
+        https, and plain svn), specify the username.  For other\r
+        transports (eg svn+ssh://), you must include the username in\r
+        the URL, eg svn+ssh://foo@svn.bar.com/project\r
+</p>\r
+<p>--prefix=&lt;prefix&gt;\r
+        This allows one to specify a prefix which is prepended\r
+        to the names of remotes if trunk/branches/tags are\r
+        specified.  The prefix does not automatically include a\r
+        trailing slash, so be sure you include one in the\r
+        argument if that is what you want.  This is useful if\r
+        you wish to track multiple projects that share a common\r
+        repository.</p>\r
+</dd>\r
+<dt>\r
 <em>fetch</em>\r
 </dt>\r
 <dd>\r
 <p>\r
-Fetch unfetched revisions from the Subversion URL we are\r
-tracking.  refs/remotes/git-svn will be updated to the\r
-latest revision.\r
+        Fetch unfetched revisions from the Subversion remote we are\r
+        tracking.  The name of the [svn-remote "&#8230;"] section in the\r
+        .git/config file may be specified as an optional command-line\r
+        argument.\r
 </p>\r
-<p>Note: You should never attempt to modify the remotes/git-svn\r
-branch outside of git-svn.  Instead, create a branch from\r
-remotes/git-svn and work on that branch.  Use the <em>dcommit</em>\r
-command (see below) to write git commits back to\r
-remotes/git-svn.</p>\r
-<p>See <em><a href="#fetch-args">Additional Fetch Arguments</a></em> if you are interested in\r
-manually joining branches on commit.</p>\r
+</dd>\r
+<dt>\r
+<em>clone</em>\r
+</dt>\r
+<dd>\r
+<p>\r
+        Runs <em>init</em> and <em>fetch</em>.  It will automatically create a\r
+        directory based on the basename of the URL passed to it;\r
+        or if a second argument is passed; it will create a directory\r
+        and work within that.  It accepts all arguments that the\r
+        <em>init</em> and <em>fetch</em> commands accept; with the exception of\r
+        <em>--fetch-all</em>.   After a repository is cloned, the <em>fetch</em>\r
+        command will be able to update revisions without affecting\r
+        the working tree; and the <em>rebase</em> command will be able\r
+        to update the working tree with the latest changes.\r
+</p>\r
+</dd>\r
+<dt>\r
+<em>rebase</em>\r
+</dt>\r
+<dd>\r
+<p>\r
+        This fetches revisions from the SVN parent of the current HEAD\r
+        and rebases the current (uncommitted to SVN) work against it.\r
+</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>This works similarly to 'svn update' or 'git-pull' except that\r
+it preserves linear history with 'git-rebase' instead of\r
+'git-merge' for ease of dcommit-ing with git-svn.</tt></pre>\r
+</div></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>This accepts all options that 'git-svn fetch' and 'git-rebase'\r
+accepts.  However '--fetch-all' only fetches from the current\r
+[svn-remote], and not all [svn-remote] definitions.</tt></pre>\r
+</div></div>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>Like 'git-rebase'; this requires that the working tree be clean\r
+and have no uncommitted changes.</tt></pre>\r
+</div></div>\r
 </dd>\r
 <dt>\r
 <em>dcommit</em>\r
@@ -391,21 +505,6 @@ manually joining branches on commit.</p>
 </p>\r
 </dd>\r
 <dt>\r
-<em>rebuild</em>\r
-</dt>\r
-<dd>\r
-<p>\r
-        Not a part of daily usage, but this is a useful command if\r
-        you've just cloned a repository (using <a href="git-clone.html">git-clone(1)</a>) that was\r
-        tracked with git-svn.  Unfortunately, git-clone does not clone\r
-        git-svn metadata and the svn working tree that git-svn uses for\r
-        its operations.  This rebuilds the metadata so git-svn can\r
-        resume fetch operations.  A Subversion URL may be optionally\r
-        specified at the command-line if the directory/repository you're\r
-        tracking has moved or changed protocols.\r
-</p>\r
-</dd>\r
-<dt>\r
 <em>show-ignore</em>\r
 </dt>\r
 <dd>\r
@@ -431,82 +530,13 @@ manually joining branches on commit.</p>
         The -r&lt;revision&gt; option is required for this.\r
 </p>\r
 </dd>\r
-<dt>\r
-<em>graft-branches</em>\r
-</dt>\r
-<dd>\r
-<p>\r
-        This command attempts to detect merges/branches from already\r
-        imported history.  Techniques used currently include regexes,\r
-        file copies, and tree-matches).  This command generates (or\r
-        modifies) the $GIT_DIR/info/grafts file.  This command is\r
-        considered experimental, and inherently flawed because\r
-        merge-tracking in SVN is inherently flawed and inconsistent\r
-        across different repositories.\r
-</p>\r
-</dd>\r
-<dt>\r
-<em>multi-init</em>\r
-</dt>\r
-<dd>\r
-<p>\r
-        This command supports git-svnimport-like command-line syntax for\r
-        importing repositories that are laid out as recommended by the\r
-        SVN folks.  This is a bit more tolerant than the git-svnimport\r
-        command-line syntax and doesn't require the user to figure out\r
-        where the repository URL ends and where the repository path\r
-        begins.\r
-</p>\r
-</dd>\r
-<dt>\r
--T&lt;trunk_subdir&gt;\r
-</dt>\r
-<dt>\r
---trunk=&lt;trunk_subdir&gt;\r
-</dt>\r
-<dt>\r
--t&lt;tags_subdir&gt;\r
-</dt>\r
-<dt>\r
---tags=&lt;tags_subdir&gt;\r
-</dt>\r
-<dt>\r
--b&lt;branches_subdir&gt;\r
-</dt>\r
-<dt>\r
---branches=&lt;branches_subdir&gt;\r
-</dt>\r
-<dd>\r
-<p>\r
-        These are the command-line options for multi-init.  Each of\r
-        these flags can point to a relative repository path\r
-        (--tags=project/tags') or a full url\r
-        (--tags=https://foo.org/project/tags)\r
-</p>\r
-<p>--prefix=&lt;prefix&gt;\r
-        This allows one to specify a prefix which is prepended to the\r
-        names of remotes.  The prefix does not automatically include a\r
-        trailing slash, so be sure you include one in the argument if\r
-        that is what you want.  This is useful if you wish to track\r
-        multiple projects that share a common repository.</p>\r
-</dd>\r
-<dt>\r
-<em>multi-fetch</em>\r
-</dt>\r
-<dd>\r
-<p>\r
-        This runs fetch on all known SVN branches we're tracking.  This\r
-        will NOT discover new branches (unlike git-svnimport), so\r
-        multi-init will need to be re-run (it's idempotent).\r
-</p>\r
-</dd>\r
 </dl>\r
 </div>\r
 <h2>OPTIONS</h2>\r
 <div class="sectionbody">\r
 <dl>\r
 <dt>\r
---shared\r
+--shared[={false|true|umask|group|all|world|everybody}]\r
 </dt>\r
 <dt>\r
 --template=&lt;template_directory&gt;\r
@@ -525,13 +555,14 @@ manually joining branches on commit.</p>
 </dt>\r
 <dd>\r
 <p>\r
-Only used with the <em>fetch</em> command.\r
+Used with the <em>fetch</em> command.\r
 </p>\r
-<p>Takes any valid -r&lt;argument&gt; svn would accept and passes it\r
-directly to svn. -r&lt;ARG1&gt;:&lt;ARG2&gt; ranges and "{" DATE "}" syntax\r
-is also supported.  This is passed directly to svn, see svn\r
-documentation for more details.</p>\r
-<p>This can allow you to make partial mirrors when running fetch.</p>\r
+<p>This allows revision ranges for partial/cauterized history\r
+to be supported.  $NUMBER, $NUMBER1:$NUMBER2 (numeric ranges),\r
+$NUMBER:HEAD, and BASE:$NUMBER are all supported.</p>\r
+<p>This can allow you to make partial mirrors when running fetch;\r
+but is generally not recommended because history will be skipped\r
+and lost.</p>\r
 </dd>\r
 <dt>\r
 -\r
@@ -661,7 +692,7 @@ config key: svn.repackflags</p>
 </dt>\r
 <dd>\r
 <p>\r
-These are only used with the <em>dcommit</em> command.\r
+These are only used with the <em>dcommit</em> and <em>rebase</em> commands.\r
 </p>\r
 <p>Passed directly to git-rebase when using <em>dcommit</em> if a\r
 <em>git-reset</em> cannot be used (see dcommit).</p>\r
@@ -685,37 +716,30 @@ which diffs would be committed to SVN.</p>
 <div class="sectionbody">\r
 <dl>\r
 <dt>\r
--b&lt;refname&gt;\r
+-i&lt;GIT_SVN_ID&gt;\r
 </dt>\r
 <dt>\r
---branch &lt;refname&gt;\r
+--id &lt;GIT_SVN_ID&gt;\r
 </dt>\r
 <dd>\r
 <p>\r
-Used with <em>fetch</em>, <em>dcommit</em> or <em>set-tree</em>.\r
+This sets GIT_SVN_ID (instead of using the environment).  This\r
+allows the user to override the default refname to fetch from\r
+when tracking a single URL.  The <em>log</em> and <em>dcommit</em> commands\r
+no longer require this switch as an argument.\r
 </p>\r
-<p>This can be used to join arbitrary git branches to remotes/git-svn\r
-on new commits where the tree object is equivalent.</p>\r
-<p>When used with different GIT_SVN_ID values, tags and branches in\r
-SVN can be tracked this way, as can some merges where the heads\r
-end up having completely equivalent content.  This can even be\r
-used to track branches across multiple SVN _repositories_.</p>\r
-<p>This option may be specified multiple times, once for each\r
-branch.</p>\r
-<p>config key: svn.branch</p>\r
 </dd>\r
 <dt>\r
--i&lt;GIT_SVN_ID&gt;\r
+-R&lt;remote name&gt;\r
 </dt>\r
 <dt>\r
---id &lt;GIT_SVN_ID&gt;\r
+--svn-remote &lt;remote name&gt;\r
 </dt>\r
 <dd>\r
 <p>\r
-This sets GIT_SVN_ID (instead of using the environment).  See the\r
-section on\r
-<em><a href="#tracking-multiple-repos">Tracking Multiple Repositories or Branches</a></em>\r
-for more information on using GIT_SVN_ID.\r
+        Specify the [svn-remote "&lt;remote name&gt;"] section to use,\r
+        this allows SVN multiple repositories to be tracked.\r
+        Default: "svn"\r
 </p>\r
 </dd>\r
 <dt>\r
@@ -726,12 +750,21 @@ for more information on using GIT_SVN_ID.
         This is especially helpful when we're tracking a directory\r
         that has been moved around within the repository, or if we\r
         started tracking a branch and never tracked the trunk it was\r
-        descended from.\r
+        descended from. This feature is enabled by default, use\r
+        --no-follow-parent to disable it.\r
 </p>\r
 <p>config key: svn.followparent</p>\r
 </dd>\r
+</dl>\r
+</div>\r
+<h2>CONFIG FILE-ONLY OPTIONS</h2>\r
+<div class="sectionbody">\r
+<dl>\r
 <dt>\r
---no-metadata\r
+svn.noMetadata\r
+</dt>\r
+<dt>\r
+svn-remote.&lt;name&gt;.noMetadata\r
 </dt>\r
 <dd>\r
 <p>\r
@@ -739,89 +772,105 @@ for more information on using GIT_SVN_ID.
 </p>\r
 <div class="literalblock">\r
 <div class="content">\r
-<pre><tt>With this, you lose the ability to use the rebuild command.  If\r
-you ever lose your .git/svn/git-svn/.rev_db file, you won't be\r
-able to fetch again, either.  This is fine for one-shot imports.</tt></pre>\r
+<pre><tt>If you lose your .git/svn/git-svn/.rev_db file, git-svn will not\r
+be able to rebuild it and you won't be able to fetch again,\r
+either.  This is fine for one-shot imports.</tt></pre>\r
 </div></div>\r
 <div class="literalblock">\r
 <div class="content">\r
-<pre><tt>The 'git-svn log' command will not work on repositories using this,\r
-either.</tt></pre>\r
+<pre><tt>The 'git-svn log' command will not work on repositories using\r
+this, either.  Using this conflicts with the 'useSvmProps'\r
+option for (hopefully) obvious reasons.</tt></pre>\r
 </div></div>\r
-<p>config key: svn.nometadata</p>\r
 </dd>\r
-</dl>\r
-</div>\r
-<h2>COMPATIBILITY OPTIONS</h2>\r
-<div class="sectionbody">\r
-<dl>\r
 <dt>\r
---upgrade\r
+svn.useSvmProps\r
+</dt>\r
+<dt>\r
+svn-remote.&lt;name&gt;.useSvmProps\r
 </dt>\r
 <dd>\r
 <p>\r
-Only used with the <em>rebuild</em> command.\r
+        This allows git-svn to re-map repository URLs and UUIDs from\r
+        mirrors created using SVN::Mirror (or svk) for metadata.\r
 </p>\r
-<p>Run this if you used an old version of git-svn that used\r
-"git-svn-HEAD" instead of "remotes/git-svn" as the branch\r
-for tracking the remote.</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>If an SVN revision has a property, "svm:headrev", it is likely\r
+that the revision was created by SVN::Mirror (also used by SVK).\r
+The property contains a repository UUID and a revision.  We want\r
+to make it look like we are mirroring the original URL, so\r
+introduce a helper function that returns the original identity\r
+URL and UUID, and use it when generating metadata in commit\r
+messages.</tt></pre>\r
+</div></div>\r
 </dd>\r
 <dt>\r
---ignore-nodate\r
+svn.useSvnsyncProps\r
+</dt>\r
+<dt>\r
+svn-remote.&lt;name&gt;.useSvnsyncprops\r
 </dt>\r
 <dd>\r
 <p>\r
-Only used with the <em>fetch</em> command.\r
+        Similar to the useSvmProps option; this is for users\r
+        of the svnsync(1) command distributed with SVN 1.4.x and\r
+        later.\r
 </p>\r
-<p>By default git-svn will crash if it tries to import a revision\r
-from SVN which has <em>(no date)</em> listed as the date of the revision.\r
-This is repository corruption on SVN's part, plain and simple.\r
-But sometimes you really need those revisions anyway.</p>\r
-<p>If supplied git-svn will convert <em>(no date)</em> entries to the UNIX\r
-epoch (midnight on Jan. 1, 1970).  Yes, that's probably very wrong.\r
-SVN was very wrong.</p>\r
+</dd>\r
+<dt>\r
+svn-remote.&lt;name&gt;.rewriteRoot\r
+</dt>\r
+<dd>\r
+<p>\r
+        This allows users to create repositories from alternate\r
+        URLs.  For example, an administrator could run git-svn on the\r
+        server locally (accessing via file://) but wish to distribute\r
+        the repository with a public http:// or svn:// URL in the\r
+        metadata so users of it will see the public URL.\r
+</p>\r
+<p>Since the noMetadata, rewriteRoot, useSvnsyncProps and useSvmProps\r
+options all affect the metadata generated and used by git-svn; they\r
+<strong>must</strong> be set in the configuration file before any history is imported\r
+and these settings should never be changed once they are set.</p>\r
+<p>Additionally, only one of these four options can be used per-svn-remote\r
+section because they affect the <em>git-svn-id:</em> metadata line.</p>\r
 </dd>\r
 </dl>\r
 <h3>Basic Examples</h3>\r
 <p>Tracking and contributing to a the trunk of a Subversion-managed project:</p>\r
 <div class="listingblock">\r
 <div class="content">\r
-<pre><tt># Initialize a repo (like git init):\r
-        git-svn init http://svn.foo.org/project/trunk\r
-# Fetch remote revisions:\r
-        git-svn fetch\r
-# Create your own branch to hack on:\r
-        git checkout -b my-branch remotes/git-svn\r
-# Do some work, and then commit your new changes to SVN, as well as\r
-# automatically updating your working HEAD:\r
+<pre><tt># Clone a repo (like git clone):\r
+        git-svn clone http://svn.foo.org/project/trunk\r
+# Enter the newly cloned directory:\r
+        cd trunk\r
+# You should be on master branch, double-check with git-branch\r
+        git branch\r
+# Do some work and commit locally to git:\r
+        git commit ...\r
+# Something is committed to SVN, rebase your local changes against the\r
+# latest changes in SVN:\r
+        git-svn rebase\r
+# Now commit your changes (that were committed previously using git) to SVN,\r
+# as well as automatically updating your working HEAD:\r
         git-svn dcommit\r
-# Something is committed to SVN, rebase the latest into your branch:\r
-        git-svn fetch &amp;&amp; git rebase remotes/git-svn\r
 # Append svn:ignore settings to the default git exclude file:\r
         git-svn show-ignore &gt;&gt; .git/info/exclude</tt></pre>\r
 </div></div>\r
 <p>Tracking and contributing to an entire Subversion-managed project\r
-(complete with a trunk, tags and branches):\r
-See also:\r
-<em><a href="#tracking-multiple-repos">Tracking Multiple Repositories or Branches</a></em></p>\r
+(complete with a trunk, tags and branches):</p>\r
 <div class="listingblock">\r
 <div class="content">\r
-<pre><tt># Initialize a repo (like git init):\r
-        git-svn multi-init http://svn.foo.org/project \\r
-                -T trunk -b branches -t tags\r
-# Fetch remote revisions:\r
-        git-svn multi-fetch\r
-# Create your own branch of trunk to hack on:\r
-        git checkout -b my-trunk remotes/trunk\r
-# Do some work, and then commit your new changes to SVN, as well as\r
-# automatically updating your working HEAD:\r
-        git-svn dcommit -i trunk\r
-# Something has been committed to trunk, rebase the latest into your branch:\r
-        git-svn multi-fetch &amp;&amp; git rebase remotes/trunk\r
-# Append svn:ignore settings of trunk to the default git exclude file:\r
-        git-svn show-ignore -i trunk &gt;&gt; .git/info/exclude\r
-# Check for new branches and tags (no arguments are needed):\r
-        git-svn multi-init</tt></pre>\r
+<pre><tt># Clone a repo (like git clone):\r
+        git-svn clone http://svn.foo.org/project -T trunk -b branches -t tags\r
+# View all branches and tags you have cloned:\r
+        git branch -r\r
+# Reset your master to trunk (or any other branch, replacing 'trunk'\r
+# with the appropriate name):\r
+        git reset --hard remotes/trunk\r
+# You may only dcommit to one branch/tag/trunk at a time.  The usage\r
+# of dcommit/rebase/show-ignore should be teh same as above.</tt></pre>\r
 </div></div>\r
 </div>\r
 <h2>REBASE VS. PULL/MERGE</h2>\r
@@ -832,7 +881,7 @@ pulled or merged from.  This is because the author favored
 <em>git-svn set-tree A..B</em> notation to commit multiple commits.</p>\r
 <p>If you use <em>git-svn set-tree A..B</em> to commit several diffs and you do\r
 not have the latest remotes/git-svn merged into my-branch, you should\r
-use <em>git rebase</em> to update your work branch instead of <em>git pull</em> or\r
+use <em>git-svn rebase</em> to update your work branch instead of <em>git pull</em> or\r
 <em>git merge</em>.  <em>pull/merge</em> can cause non-linear history to be flattened\r
 when committing into SVN, which can lead to merge commits reversing\r
 previous commits in SVN.</p>\r
@@ -842,60 +891,45 @@ previous commits in SVN.</p>
 <p>Merge tracking in Subversion is lacking and doing branched development\r
 with Subversion is cumbersome as a result.  git-svn does not do\r
 automated merge/branch tracking by default and leaves it entirely up to\r
-the user on the git side.</p>\r
+the user on the git side.  git-svn does however follow copy\r
+history of the directory that it is tracking, however (much like\r
+how <em>svn log</em> works).</p>\r
 </div>\r
-<h2><a id="tracking-multiple-repos"></a>TRACKING MULTIPLE REPOSITORIES OR BRANCHES</h2>\r
+<h2>BUGS</h2>\r
 <div class="sectionbody">\r
-<p>Because git-svn does not care about relationships between different\r
-branches or directories in a Subversion repository, git-svn has a simple\r
-hack to allow it to track an arbitrary number of related _or_ unrelated\r
-SVN repositories via one git repository.  Simply use the --id/-i flag or\r
-set the GIT_SVN_ID environment variable to a name other other than\r
-"git-svn" (the default) and git-svn will ignore the contents of the\r
-$GIT_DIR/svn/git-svn directory and instead do all of its work in\r
-$GIT_DIR/svn/$GIT_SVN_ID for that invocation.  The interface branch will\r
-be remotes/$GIT_SVN_ID, instead of remotes/git-svn.  Any\r
-remotes/$GIT_SVN_ID branch should never be modified by the user outside\r
-of git-svn commands.</p>\r
+<p>We ignore all SVN properties except svn:executable.  Any unhandled\r
+properties are logged to $GIT_DIR/svn/&lt;refname&gt;/unhandled.log</p>\r
+<p>Renamed and copied directories are not detected by git and hence not\r
+tracked when committing to SVN.  I do not plan on adding support for\r
+this as it's quite difficult and time-consuming to get working for all\r
+the possible corner cases (git doesn't do it, either).  Committing\r
+renamed and copied files are fully supported if they're similar enough\r
+for git to detect them.</p>\r
 </div>\r
-<h2><a id="fetch-args"></a>ADDITIONAL FETCH ARGUMENTS</h2>\r
+<h2>CONFIGURATION</h2>\r
 <div class="sectionbody">\r
-<p>This is for advanced users, most users should ignore this section.</p>\r
-<p>Unfetched SVN revisions may be imported as children of existing commits\r
-by specifying additional arguments to <em>fetch</em>.  Additional parents may\r
-optionally be specified in the form of sha1 hex sums at the\r
-command-line.  Unfetched SVN revisions may also be tied to particular\r
-git commits with the following syntax:</p>\r
+<p>git-svn stores [svn-remote] configuration information in the\r
+repository .git/config file.  It is similar the core git\r
+[remote] sections except <em>fetch</em> keys do not accept glob\r
+arguments; but they are instead handled by the <em>branches</em>\r
+and <em>tags</em> keys.  Since some SVN repositories are oddly\r
+configured with multiple projects glob expansions such those\r
+listed below are allowed:</p>\r
 <div class="listingblock">\r
 <div class="content">\r
-<pre><tt>        svn_revision_number=git_commit_sha1</tt></pre>\r
+<pre><tt>[svn-remote "project-a"]\r
+        url = http://server.org/svn\r
+        branches = branches/*/project-a:refs/remotes/project-a/branches/*\r
+        tags = tags/*/project-a:refs/remotes/project-a/tags/*\r
+        trunk = trunk/project-a:refs/remotes/project-a/trunk</tt></pre>\r
 </div></div>\r
-<p>This allows you to tie unfetched SVN revision 375 to your current HEAD:</p>\r
-<div class="listingblock">\r
-<div class="content">\r
-<pre><tt>        git-svn fetch 375=$(git-rev-parse HEAD)</tt></pre>\r
-</div></div>\r
-<p>If you're tracking a directory that has moved, or otherwise been\r
-branched or tagged off of another directory in the repository and you\r
-care about the full history of the project, then you can use\r
-the --follow-parent option.</p>\r
-<div class="listingblock">\r
-<div class="content">\r
-<pre><tt>        git-svn fetch --follow-parent</tt></pre>\r
-</div></div>\r
-</div>\r
-<h2>BUGS</h2>\r
-<div class="sectionbody">\r
-<p>We ignore all SVN properties except svn:executable.  Too difficult to\r
-map them since we rely heavily on git write-tree being _exactly_ the\r
-same on both the SVN and git working trees and I prefer not to clutter\r
-working trees with metadata files.</p>\r
-<p>Renamed and copied directories are not detected by git and hence not\r
-tracked when committing to SVN.  I do not plan on adding support for\r
-this as it's quite difficult and time-consuming to get working for all\r
-the possible corner cases (git doesn't do it, either).  Renamed and\r
-copied files are fully supported if they're similar enough for git to\r
-detect them.</p>\r
+<p>Keep in mind that the <em><strong></em> (asterisk) wildcard of the local ref\r
+(left of the <em>:</em>) *must</strong> be the farthest right path component;\r
+however the remote wildcard may be anywhere as long as it's own\r
+independent path componet (surrounded by <em>/</em> or EOL).   This\r
+type of configuration is not automatically created by <em>init</em> and\r
+should be manually entered with a text-editor or using\r
+<a href="git-config.html">git-config(1)</a></p>\r
 </div>\r
 <h2>SEE ALSO</h2>\r
 <div class="sectionbody">\r
@@ -911,7 +945,7 @@ detect them.</p>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 04-Feb-2007 08:31:45 UTC\r
+Last updated 23-Feb-2007 11:13:37 UTC\r
 </div>\r
 </div>\r
 </body>\r
index 6ce6a3944de5c1b815cd922b26f5eca2be08ed84..cf094ca357758d147c9ab7684ef5abc7d15a50ef 100644 (file)
@@ -13,14 +13,13 @@ DESCRIPTION
 -----------
 git-svn is a simple conduit for changesets between Subversion and git.
 It is not to be confused with gitlink:git-svnimport[1], which is
-read-only and geared towards tracking multiple branches.
+read-only.
 
 git-svn was originally designed for an individual developer who wants a
 bidirectional flow of changesets between a single branch in Subversion
 and an arbitrary number of branches in git.  Since its inception,
 git-svn has gained the ability to track multiple branches in a manner
-similar to git-svnimport; but it cannot (yet) automatically detect new
-branches and tags like git-svnimport does.
+similar to git-svnimport.
 
 git-svn is especially useful when it comes to tracking repositories
 not organized in the way Subversion developers recommend (trunk,
@@ -31,26 +30,80 @@ COMMANDS
 --
 
 'init'::
-       Creates an empty git repository with additional metadata
-       directories for git-svn.  The Subversion URL must be specified
-       as a command-line argument.  Optionally, the target directory
-       to operate on can be specified as a second argument.  Normally
-       this command initializes the current directory.
+       Initializes an empty git repository with additional
+       metadata directories for git-svn.  The Subversion URL
+       may be specified as a command-line argument, or as full
+       URL arguments to -T/-t/-b.  Optionally, the target
+       directory to operate on can be specified as a second
+       argument.  Normally this command initializes the current
+       directory.
 
-'fetch'::
+-T<trunk_subdir>::
+--trunk=<trunk_subdir>::
+-t<tags_subdir>::
+--tags=<tags_subdir>::
+-b<branches_subdir>::
+--branches=<branches_subdir>::
+       These are optional command-line options for init.  Each of
+       these flags can point to a relative repository path
+       (--tags=project/tags') or a full url
+       (--tags=https://foo.org/project/tags)
 
-Fetch unfetched revisions from the Subversion URL we are
-tracking.  refs/remotes/git-svn will be updated to the
-latest revision.
+--no-metadata::
+       Set the 'noMetadata' option in the [svn-remote] config.
+--use-svm-props::
+       Set the 'useSvmProps' option in the [svn-remote] config.
+--use-svnsync-props::
+       Set the 'useSvnsyncProps' option in the [svn-remote] config.
+--rewrite-root=<URL>::
+       Set the 'rewriteRoot' option in the [svn-remote] config.
+--username=<USER>::
+       For transports that SVN handles authentication for (http,
+       https, and plain svn), specify the username.  For other
+       transports (eg svn+ssh://), you must include the username in
+       the URL, eg svn+ssh://foo@svn.bar.com/project
 
-Note: You should never attempt to modify the remotes/git-svn
-branch outside of git-svn.  Instead, create a branch from
-remotes/git-svn and work on that branch.  Use the 'dcommit'
-command (see below) to write git commits back to
-remotes/git-svn.
+--prefix=<prefix>
+       This allows one to specify a prefix which is prepended
+       to the names of remotes if trunk/branches/tags are
+       specified.  The prefix does not automatically include a
+       trailing slash, so be sure you include one in the
+       argument if that is what you want.  This is useful if
+       you wish to track multiple projects that share a common
+       repository.
+
+'fetch'::
 
-See '<<fetch-args,Additional Fetch Arguments>>' if you are interested in
-manually joining branches on commit.
+       Fetch unfetched revisions from the Subversion remote we are
+       tracking.  The name of the [svn-remote "..."] section in the
+       .git/config file may be specified as an optional command-line
+       argument.
+
+'clone'::
+       Runs 'init' and 'fetch'.  It will automatically create a
+       directory based on the basename of the URL passed to it;
+       or if a second argument is passed; it will create a directory
+       and work within that.  It accepts all arguments that the
+       'init' and 'fetch' commands accept; with the exception of
+       '--fetch-all'.   After a repository is cloned, the 'fetch'
+       command will be able to update revisions without affecting
+       the working tree; and the 'rebase' command will be able
+       to update the working tree with the latest changes.
+
+'rebase'::
+       This fetches revisions from the SVN parent of the current HEAD
+       and rebases the current (uncommitted to SVN) work against it.
+
+       This works similarly to 'svn update' or 'git-pull' except that
+       it preserves linear history with 'git-rebase' instead of
+       'git-merge' for ease of dcommit-ing with git-svn.
+
+       This accepts all options that 'git-svn fetch' and 'git-rebase'
+       accepts.  However '--fetch-all' only fetches from the current
+       [svn-remote], and not all [svn-remote] definitions.
+
+       Like 'git-rebase'; this requires that the working tree be clean
+       and have no uncommitted changes.
 
 'dcommit'::
        Commit each diff from a specified head directly to the SVN
@@ -96,16 +149,6 @@ manually joining branches on commit.
        commit.  All merging is assumed to have taken place
        independently of git-svn functions.
 
-'rebuild'::
-       Not a part of daily usage, but this is a useful command if
-       you've just cloned a repository (using gitlink:git-clone[1]) that was
-       tracked with git-svn.  Unfortunately, git-clone does not clone
-       git-svn metadata and the svn working tree that git-svn uses for
-       its operations.  This rebuilds the metadata so git-svn can
-       resume fetch operations.  A Subversion URL may be optionally
-       specified at the command-line if the directory/repository you're
-       tracking has moved or changed protocols.
-
 'show-ignore'::
        Recursively finds and lists the svn:ignore property on
        directories.  The output is suitable for appending to
@@ -122,53 +165,13 @@ manually joining branches on commit.
        repository (that has been init-ed with git-svn).
        The -r<revision> option is required for this.
 
-'graft-branches'::
-       This command attempts to detect merges/branches from already
-       imported history.  Techniques used currently include regexes,
-       file copies, and tree-matches).  This command generates (or
-       modifies) the $GIT_DIR/info/grafts file.  This command is
-       considered experimental, and inherently flawed because
-       merge-tracking in SVN is inherently flawed and inconsistent
-       across different repositories.
-
-'multi-init'::
-       This command supports git-svnimport-like command-line syntax for
-       importing repositories that are laid out as recommended by the
-       SVN folks.  This is a bit more tolerant than the git-svnimport
-       command-line syntax and doesn't require the user to figure out
-       where the repository URL ends and where the repository path
-       begins.
-
--T<trunk_subdir>::
---trunk=<trunk_subdir>::
--t<tags_subdir>::
---tags=<tags_subdir>::
--b<branches_subdir>::
---branches=<branches_subdir>::
-       These are the command-line options for multi-init.  Each of
-       these flags can point to a relative repository path
-       (--tags=project/tags') or a full url
-       (--tags=https://foo.org/project/tags)
-
---prefix=<prefix>
-       This allows one to specify a prefix which is prepended to the
-       names of remotes.  The prefix does not automatically include a
-       trailing slash, so be sure you include one in the argument if
-       that is what you want.  This is useful if you wish to track
-       multiple projects that share a common repository.
-
-'multi-fetch'::
-       This runs fetch on all known SVN branches we're tracking.  This
-       will NOT discover new branches (unlike git-svnimport), so
-       multi-init will need to be re-run (it's idempotent).
-
 --
 
 OPTIONS
 -------
 --
 
---shared::
+--shared[={false|true|umask|group|all|world|everybody}]::
 --template=<template_directory>::
        Only used with the 'init' command.
        These are passed directly to gitlink:git-init[1].
@@ -176,14 +179,15 @@ OPTIONS
 -r <ARG>::
 --revision <ARG>::
 
-Only used with the 'fetch' command.
+Used with the 'fetch' command.
 
-Takes any valid -r<argument> svn would accept and passes it
-directly to svn. -r<ARG1>:<ARG2> ranges and "{" DATE "}" syntax
-is also supported.  This is passed directly to svn, see svn
-documentation for more details.
+This allows revision ranges for partial/cauterized history
+to be supported.  $NUMBER, $NUMBER1:$NUMBER2 (numeric ranges),
+$NUMBER:HEAD, and BASE:$NUMBER are all supported.
 
-This can allow you to make partial mirrors when running fetch.
+This can allow you to make partial mirrors when running fetch;
+but is generally not recommended because history will be skipped
+and lost.
 
 -::
 --stdin::
@@ -270,7 +274,7 @@ config key: svn.repackflags
 -s<strategy>::
 --strategy=<strategy>::
 
-These are only used with the 'dcommit' command.
+These are only used with the 'dcommit' and 'rebase' commands.
 
 Passed directly to git-rebase when using 'dcommit' if a
 'git-reset' cannot be used (see dcommit).
@@ -289,75 +293,79 @@ ADVANCED OPTIONS
 ----------------
 --
 
--b<refname>::
---branch <refname>::
-Used with 'fetch', 'dcommit' or 'set-tree'.
-
-This can be used to join arbitrary git branches to remotes/git-svn
-on new commits where the tree object is equivalent.
-
-When used with different GIT_SVN_ID values, tags and branches in
-SVN can be tracked this way, as can some merges where the heads
-end up having completely equivalent content.  This can even be
-used to track branches across multiple SVN _repositories_.
-
-This option may be specified multiple times, once for each
-branch.
-
-config key: svn.branch
-
 -i<GIT_SVN_ID>::
 --id <GIT_SVN_ID>::
 
-This sets GIT_SVN_ID (instead of using the environment).  See the
-section on
-'<<tracking-multiple-repos,Tracking Multiple Repositories or Branches>>'
-for more information on using GIT_SVN_ID.
+This sets GIT_SVN_ID (instead of using the environment).  This
+allows the user to override the default refname to fetch from
+when tracking a single URL.  The 'log' and 'dcommit' commands
+no longer require this switch as an argument.
+
+-R<remote name>::
+--svn-remote <remote name>::
+       Specify the [svn-remote "<remote name>"] section to use,
+       this allows SVN multiple repositories to be tracked.
+       Default: "svn"
 
 --follow-parent::
        This is especially helpful when we're tracking a directory
        that has been moved around within the repository, or if we
        started tracking a branch and never tracked the trunk it was
-       descended from.
+       descended from. This feature is enabled by default, use
+       --no-follow-parent to disable it.
 
 config key: svn.followparent
 
---no-metadata::
-       This gets rid of the git-svn-id: lines at the end of every commit.
-
-       With this, you lose the ability to use the rebuild command.  If
-       you ever lose your .git/svn/git-svn/.rev_db file, you won't be
-       able to fetch again, either.  This is fine for one-shot imports.
-
-       The 'git-svn log' command will not work on repositories using this,
-       either.
-
-config key: svn.nometadata
-
 --
-
-COMPATIBILITY OPTIONS
----------------------
+CONFIG FILE-ONLY OPTIONS
+------------------------
 --
 
---upgrade::
-Only used with the 'rebuild' command.
-
-Run this if you used an old version of git-svn that used
-"git-svn-HEAD" instead of "remotes/git-svn" as the branch
-for tracking the remote.
-
---ignore-nodate::
-Only used with the 'fetch' command.
-
-By default git-svn will crash if it tries to import a revision
-from SVN which has '(no date)' listed as the date of the revision.
-This is repository corruption on SVN's part, plain and simple.
-But sometimes you really need those revisions anyway.
+svn.noMetadata::
+svn-remote.<name>.noMetadata::
+       This gets rid of the git-svn-id: lines at the end of every commit.
 
-If supplied git-svn will convert '(no date)' entries to the UNIX
-epoch (midnight on Jan. 1, 1970).  Yes, that's probably very wrong.
-SVN was very wrong.
+       If you lose your .git/svn/git-svn/.rev_db file, git-svn will not
+       be able to rebuild it and you won't be able to fetch again,
+       either.  This is fine for one-shot imports.
+
+       The 'git-svn log' command will not work on repositories using
+       this, either.  Using this conflicts with the 'useSvmProps'
+       option for (hopefully) obvious reasons.
+
+svn.useSvmProps::
+svn-remote.<name>.useSvmProps::
+       This allows git-svn to re-map repository URLs and UUIDs from
+       mirrors created using SVN::Mirror (or svk) for metadata.
+
+       If an SVN revision has a property, "svm:headrev", it is likely
+       that the revision was created by SVN::Mirror (also used by SVK).
+       The property contains a repository UUID and a revision.  We want
+       to make it look like we are mirroring the original URL, so
+       introduce a helper function that returns the original identity
+       URL and UUID, and use it when generating metadata in commit
+       messages.
+
+svn.useSvnsyncProps::
+svn-remote.<name>.useSvnsyncprops::
+       Similar to the useSvmProps option; this is for users
+       of the svnsync(1) command distributed with SVN 1.4.x and
+       later.
+
+svn-remote.<name>.rewriteRoot::
+       This allows users to create repositories from alternate
+       URLs.  For example, an administrator could run git-svn on the
+       server locally (accessing via file://) but wish to distribute
+       the repository with a public http:// or svn:// URL in the
+       metadata so users of it will see the public URL.
+
+Since the noMetadata, rewriteRoot, useSvnsyncProps and useSvmProps
+options all affect the metadata generated and used by git-svn; they
+*must* be set in the configuration file before any history is imported
+and these settings should never be changed once they are set.
+
+Additionally, only one of these four options can be used per-svn-remote
+section because they affect the 'git-svn-id:' metadata line.
 
 --
 
@@ -367,43 +375,37 @@ Basic Examples
 Tracking and contributing to a the trunk of a Subversion-managed project:
 
 ------------------------------------------------------------------------
-# Initialize a repo (like git init):
-       git-svn init http://svn.foo.org/project/trunk
-# Fetch remote revisions:
-       git-svn fetch
-# Create your own branch to hack on:
-       git checkout -b my-branch remotes/git-svn
-# Do some work, and then commit your new changes to SVN, as well as
-# automatically updating your working HEAD:
+# Clone a repo (like git clone):
+       git-svn clone http://svn.foo.org/project/trunk
+# Enter the newly cloned directory:
+       cd trunk
+# You should be on master branch, double-check with git-branch
+       git branch
+# Do some work and commit locally to git:
+       git commit ...
+# Something is committed to SVN, rebase your local changes against the
+# latest changes in SVN:
+       git-svn rebase
+# Now commit your changes (that were committed previously using git) to SVN,
+# as well as automatically updating your working HEAD:
        git-svn dcommit
-# Something is committed to SVN, rebase the latest into your branch:
-       git-svn fetch && git rebase remotes/git-svn
 # Append svn:ignore settings to the default git exclude file:
        git-svn show-ignore >> .git/info/exclude
 ------------------------------------------------------------------------
 
 Tracking and contributing to an entire Subversion-managed project
 (complete with a trunk, tags and branches):
-See also:
-'<<tracking-multiple-repos,Tracking Multiple Repositories or Branches>>'
 
 ------------------------------------------------------------------------
-# Initialize a repo (like git init):
-       git-svn multi-init http://svn.foo.org/project \
-               -T trunk -b branches -t tags
-# Fetch remote revisions:
-       git-svn multi-fetch
-# Create your own branch of trunk to hack on:
-       git checkout -b my-trunk remotes/trunk
-# Do some work, and then commit your new changes to SVN, as well as
-# automatically updating your working HEAD:
-       git-svn dcommit -i trunk
-# Something has been committed to trunk, rebase the latest into your branch:
-       git-svn multi-fetch && git rebase remotes/trunk
-# Append svn:ignore settings of trunk to the default git exclude file:
-       git-svn show-ignore -i trunk >> .git/info/exclude
-# Check for new branches and tags (no arguments are needed):
-       git-svn multi-init
+# Clone a repo (like git clone):
+       git-svn clone http://svn.foo.org/project -T trunk -b branches -t tags
+# View all branches and tags you have cloned:
+       git branch -r
+# Reset your master to trunk (or any other branch, replacing 'trunk'
+# with the appropriate name):
+       git reset --hard remotes/trunk
+# You may only dcommit to one branch/tag/trunk at a time.  The usage
+# of dcommit/rebase/show-ignore should be teh same as above.
 ------------------------------------------------------------------------
 
 REBASE VS. PULL/MERGE
@@ -416,7 +418,7 @@ pulled or merged from.  This is because the author favored
 
 If you use 'git-svn set-tree A..B' to commit several diffs and you do
 not have the latest remotes/git-svn merged into my-branch, you should
-use 'git rebase' to update your work branch instead of 'git pull' or
+use 'git-svn rebase' to update your work branch instead of 'git pull' or
 'git merge'.  'pull/merge' can cause non-linear history to be flattened
 when committing into SVN, which can lead to merge commits reversing
 previous commits in SVN.
@@ -426,67 +428,49 @@ DESIGN PHILOSOPHY
 Merge tracking in Subversion is lacking and doing branched development
 with Subversion is cumbersome as a result.  git-svn does not do
 automated merge/branch tracking by default and leaves it entirely up to
-the user on the git side.
-
-[[tracking-multiple-repos]]
-TRACKING MULTIPLE REPOSITORIES OR BRANCHES
-------------------------------------------
-Because git-svn does not care about relationships between different
-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
-SVN repositories via one git repository.  Simply use the --id/-i flag or
-set the GIT_SVN_ID environment variable to a name other other than
-"git-svn" (the default) and git-svn will ignore the contents of the
-$GIT_DIR/svn/git-svn directory and instead do all of its work in
-$GIT_DIR/svn/$GIT_SVN_ID for that invocation.  The interface branch will
-be remotes/$GIT_SVN_ID, instead of remotes/git-svn.  Any
-remotes/$GIT_SVN_ID branch should never be modified by the user outside
-of git-svn commands.
-
-[[fetch-args]]
-ADDITIONAL FETCH ARGUMENTS
---------------------------
-This is for advanced users, most users should ignore this section.
-
-Unfetched SVN revisions may be imported as children of existing commits
-by specifying additional arguments to 'fetch'.  Additional parents may
-optionally be specified in the form of sha1 hex sums at the
-command-line.  Unfetched SVN revisions may also be tied to particular
-git commits with the following syntax:
-
-------------------------------------------------
-       svn_revision_number=git_commit_sha1
-------------------------------------------------
-
-This allows you to tie unfetched SVN revision 375 to your current HEAD:
-
-------------------------------------------------
-       git-svn fetch 375=$(git-rev-parse HEAD)
-------------------------------------------------
-
-If you're tracking a directory that has moved, or otherwise been
-branched or tagged off of another directory in the repository and you
-care about the full history of the project, then you can use
-the --follow-parent option.
-
-------------------------------------------------
-       git-svn fetch --follow-parent
-------------------------------------------------
+the user on the git side.  git-svn does however follow copy
+history of the directory that it is tracking, however (much like
+how 'svn log' works).
 
 BUGS
 ----
 
-We ignore all SVN properties except svn:executable.  Too difficult to
-map them since we rely heavily on git write-tree being _exactly_ the
-same on both the SVN and git working trees and I prefer not to clutter
-working trees with metadata files.
+We ignore all SVN properties except svn:executable.  Any unhandled
+properties are logged to $GIT_DIR/svn/<refname>/unhandled.log
 
 Renamed and copied directories are not detected by git and hence not
 tracked when committing to SVN.  I do not plan on adding support for
 this as it's quite difficult and time-consuming to get working for all
-the possible corner cases (git doesn't do it, either).  Renamed and
-copied files are fully supported if they're similar enough for git to
-detect them.
+the possible corner cases (git doesn't do it, either).  Committing
+renamed and copied files are fully supported if they're similar enough
+for git to detect them.
+
+CONFIGURATION
+-------------
+
+git-svn stores [svn-remote] configuration information in the
+repository .git/config file.  It is similar the core git
+[remote] sections except 'fetch' keys do not accept glob
+arguments; but they are instead handled by the 'branches'
+and 'tags' keys.  Since some SVN repositories are oddly
+configured with multiple projects glob expansions such those
+listed below are allowed:
+
+------------------------------------------------------------------------
+[svn-remote "project-a"]
+       url = http://server.org/svn
+       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
+(left of the ':') *must* be the farthest right path component;
+however the remote wildcard may be anywhere as long as it's own
+independent path componet (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
+gitlink:git-config[1]
 
 SEE ALSO
 --------
index 41e4f9f1bf437c1391877f3dbeb8725844fdb7be..3e453694f45b99434853a318c69a1f4fd392092c 100644 (file)
--- a/git.html
+++ b/git.html
@@ -2290,7 +2290,7 @@ contributors on the git-list &lt;git@vger.kernel.org&gt;.</p>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 21-Feb-2007 20:23:58 UTC\r
+Last updated 23-Feb-2007 11:13:38 UTC\r
 </div>\r
 </div>\r
 </body>\r