Autogenerated HTML docs for v1.5.0.3-310-g05ef5
authorJunio C Hamano <junio@hera.kernel.org>
Thu, 8 Mar 2007 02:43:00 +0000 (02:43 +0000)
committerJunio C Hamano <junio@hera.kernel.org>
Thu, 8 Mar 2007 02:43:00 +0000 (02:43 +0000)
git-archimport.html
git-archimport.txt
git-receive-pack.html
git-receive-pack.txt
git.html

index 887acd215f5699ee91066baead217143022169f1..9ecbb6349c205077ffda0d851a459145e1174f73 100644 (file)
@@ -274,7 +274,7 @@ git-archimport(1) Manual Page
 <div class="sectionbody">\r
 <div class="verseblock">\r
 <div class="content"><em>git-archimport</em> [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]\r
-               &lt;archive/branch&gt; [ &lt;archive/branch&gt; ]</div></div>\r
+               &lt;archive/branch&gt;[:&lt;git-branch&gt;] &#8230;</div></div>\r
 </div>\r
 <h2>DESCRIPTION</h2>\r
 <div class="sectionbody">\r
@@ -298,6 +298,16 @@ know about the repositories you pass to <tt>git-archimport</tt>.</p>
 directory. To follow the development of a project that uses Arch, rerun\r
 <tt>git-archimport</tt> with the same parameters as the initial import to perform\r
 incremental imports.</p>\r
+<p>While git-archimport will try to create sensible branch names for the\r
+archives that it imports, it is also possible to specify git branch names\r
+manually.  To do so, write a git branch name after each &lt;archive/branch&gt;\r
+parameter, separated by a colon.  This way, you can shorten the Arch\r
+branch names and convert Arch jargon to git jargon, for example mapping a\r
+"PROJECT--devo--VERSION" branch to "master".</p>\r
+<p>Associating multiple Arch branches to one git branch is possible; the\r
+result will make the most sense only if no commits are made to the first\r
+branch, after the second branch is created.  Still, this is useful to\r
+convert Arch repositories that had been rotated periodically.</p>\r
 </div>\r
 <h2>MERGES</h2>\r
 <div class="sectionbody">\r
@@ -356,7 +366,9 @@ patches that have been traded out-of-sequence between the branches.</p>
         Use this for compatibility with old-style branch names used by\r
         earlier versions of git-archimport.  Old-style branch names\r
         were category--branch, whereas new-style branch names are\r
-        archive,category--branch--version.\r
+        archive,category--branch--version.  In both cases, names given\r
+        on the command-line will override the automatically-generated\r
+        ones.\r
 </p>\r
 </dd>\r
 <dt>\r
@@ -410,7 +422,7 @@ patches that have been traded out-of-sequence between the branches.</p>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 03-Oct-2006 08:40:52 UTC\r
+Last updated 08-Mar-2007 02:42:38 UTC\r
 </div>\r
 </div>\r
 </body>\r
index 5a13187a87e55b90ab0be8c32a8116200f492bbc..82cb41d2791abbd32bd8209660e9879b9f2b8f32 100644 (file)
@@ -10,7 +10,7 @@ SYNOPSIS
 --------
 [verse]
 'git-archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]
-               <archive/branch> [ <archive/branch> ]
+               <archive/branch>[:<git-branch>] ...
 
 DESCRIPTION
 -----------
@@ -39,6 +39,19 @@ directory. To follow the development of a project that uses Arch, rerun
 `git-archimport` with the same parameters as the initial import to perform 
 incremental imports.
 
+While git-archimport will try to create sensible branch names for the
+archives that it imports, it is also possible to specify git branch names
+manually.  To do so, write a git branch name after each <archive/branch>
+parameter, separated by a colon.  This way, you can shorten the Arch
+branch names and convert Arch jargon to git jargon, for example mapping a
+"PROJECT--devo--VERSION" branch to "master".
+
+Associating multiple Arch branches to one git branch is possible; the
+result will make the most sense only if no commits are made to the first
+branch, after the second branch is created.  Still, this is useful to
+convert Arch repositories that had been rotated periodically.
+
+
 MERGES
 ------
 Patch merge data from Arch is used to mark merges in git as well. git 
@@ -73,7 +86,9 @@ OPTIONS
        Use this for compatibility with old-style branch names used by
        earlier versions of git-archimport.  Old-style branch names
        were category--branch, whereas new-style branch names are
-       archive,category--branch--version.
+       archive,category--branch--version.  In both cases, names given
+       on the command-line will override the automatically-generated
+       ones.
 
 -D <depth>::
        Follow merge ancestry and attempt to import trees that have been
index 6c73b5d9406fbb7c6d1871ee24fbe10b995a90fe..d02c4acfb5300dc2d5616f41c25be307f39adae2 100644 (file)
@@ -286,68 +286,126 @@ repository.  For pull operations, see <em>git-fetch-pack</em>.</p>
 (heads/tags) on the remote end (strictly speaking, it is the\r
 local end receive-pack runs, but to the user who is sitting at\r
 the send-pack end, it is updating the remote.  Confused?)</p>\r
+<p>There are other real-world examples of using update and\r
+post-update hooks found in the Documentation/howto directory.</p>\r
+<p>git-receive-pack honours the receive.denyNonFastForwards config\r
+option, which tells it if updates to a ref should be denied if they\r
+are not fast-forwards.</p>\r
+</div>\r
+<h2>OPTIONS</h2>\r
+<div class="sectionbody">\r
+<dl>\r
+<dt>\r
+&lt;directory&gt;\r
+</dt>\r
+<dd>\r
+<p>\r
+        The repository to sync into.\r
+</p>\r
+</dd>\r
+</dl>\r
+</div>\r
+<h2>pre-receive Hook</h2>\r
+<div class="sectionbody">\r
+<p>Before any ref is updated, if $GIT_DIR/hooks/pre-receive file exists\r
+and is executable, it will be invoked once, with three parameters\r
+per ref to be updated:</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>$GIT_DIR/hooks/pre-receive (refname sha1-old sha1-new)+</tt></pre>\r
+</div></div>\r
+<p>The refname parameter is relative to $GIT_DIR; e.g. for the master\r
+head this is "refs/heads/master".  The two sha1 arguments after\r
+each refname are the object names for the refname before and after\r
+sha1-old and sha1-new should be valid objects in the repository.</p>\r
+<p>This hook is called before any refname is updated and before any\r
+fast-forward checks are performed.</p>\r
+<p>If the pre-receive hook exits with a non-zero exit status no updates\r
+will be performed, and the update, post-receive and post-update\r
+hooks will not be invoked either.  This can be useful to quickly\r
+bail out if the update is not to be supported.</p>\r
+</div>\r
+<h2>update Hook</h2>\r
+<div class="sectionbody">\r
 <p>Before each ref is updated, if $GIT_DIR/hooks/update file exists\r
-and executable, it is called with three parameters:</p>\r
+and is executable, it is invoked once per ref, with three parameters:</p>\r
 <div class="literalblock">\r
 <div class="content">\r
 <pre><tt>$GIT_DIR/hooks/update refname sha1-old sha1-new</tt></pre>\r
 </div></div>\r
-<p>The refname parameter is relative to $GIT_DIR; e.g. for the\r
-master head this is "refs/heads/master".  Two sha1 are the\r
-object names for the refname before and after the update.  Note\r
-that the hook is called before the refname is updated, so either\r
-should match what is recorded in refname.</p>\r
-<p>The hook should exit with non-zero status if it wants to\r
-disallow updating the named ref.  Otherwise it should exit with\r
-zero.</p>\r
-<p>Using this hook, it is easy to generate mails on updates to\r
-the local repository. This example script sends a mail with\r
-the commits pushed to the repository:</p>\r
+<p>The refname parameter is relative to $GIT_DIR; e.g. for the master\r
+head this is "refs/heads/master".  The two sha1 arguments are\r
+the object names for the refname before and after the update.\r
+Note that the hook is called before the refname is updated,\r
+or it should match what is recorded in refname.</p>\r
+<p>The hook should exit with non-zero status if it wants to disallow\r
+updating the named ref.  Otherwise it should exit with zero.</p>\r
+<p>Successful execution (a zero exit status) of this hook does not\r
+ensure the ref will actully be updated, it is only a prerequisite.\r
+As such it is not a good idea to send notices (e.g. email) from\r
+this hook.  Consider using the post-receive hook instead.</p>\r
+</div>\r
+<h2>post-receive Hook</h2>\r
+<div class="sectionbody">\r
+<p>After all refs were updated (or attempted to be updated), if any\r
+ref update was successful, and if $GIT_DIR/hooks/post-receive\r
+file exists and is executable, it will be invoke once with three\r
+parameters for each successfully updated ref:</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>$GIT_DIR/hooks/post-receive (refname sha1-old sha1-new)+</tt></pre>\r
+</div></div>\r
+<p>The refname parameter is relative to $GIT_DIR; e.g. for the master\r
+head this is "refs/heads/master".  The two sha1 arguments after\r
+each refname are the object names for the refname before and after\r
+the update.  Refs that were created will have sha1-old equal to\r
+the repository.</p>\r
+<p>Using this hook, it is easy to generate mails describing the updates\r
+to the repository.  This example script sends one mail message per\r
+ref listing the commits pushed to the repository:</p>\r
 <div class="literalblock">\r
 <div class="content">\r
 <pre><tt>#!/bin/sh\r
 # mail out commit update information.\r
-if expr "$2" : '0*$' &gt;/dev/null\r
-then\r
-        echo "Created a new ref, with the following commits:"\r
-        git-rev-list --pretty "$2"\r
-else\r
-        echo "New commits:"\r
-        git-rev-list --pretty "$3" "^$2"\r
-fi |\r
-mail -s "Changes to ref $1" commit-list@mydomain\r
+while test $# -gt 0\r
+do\r
+        if expr "$2" : '0*$' &gt;/dev/null\r
+        then\r
+                echo "Created a new ref, with the following commits:"\r
+                git-rev-list --pretty "$2"\r
+        else\r
+                echo "New commits:"\r
+                git-rev-list --pretty "$3" "^$2"\r
+        fi |\r
+        mail -s "Changes to ref $1" commit-list@mydomain\r
+        shift; shift; shift; # discard this ref's args\r
+done\r
 exit 0</tt></pre>\r
 </div></div>\r
-<p>Another hook $GIT_DIR/hooks/post-update, if exists and\r
-executable, is called with the list of refs that have been\r
-updated.  This can be used to implement repository wide cleanup\r
-task if needed.  The exit code from this hook invocation is\r
-ignored; the only thing left for git-receive-pack to do at that\r
-point is to exit itself anyway.  This hook can be used, for\r
-example, to run "git-update-server-info" if the repository is\r
-packed and is served via a dumb transport.</p>\r
+<p>The exit code from this hook invocation is ignored, however a\r
+non-zero exit code will generate an error message.</p>\r
+<p>Note that it is possible for refname to not have sha1-new when this\r
+hook runs.  This can easily occur if another user modifies the ref\r
+after it was updated by receive-pack, but before the hook was able\r
+to evaluate it.  It is recommended that hooks rely on sha1-new\r
+rather than the current value of refname.</p>\r
+</div>\r
+<h2>post-update Hook</h2>\r
+<div class="sectionbody">\r
+<p>After all other processing, if at least one ref was updated, and\r
+if $GIT_DIR/hooks/post-update file exists and is executable, then\r
+post-update will called with the list of refs that have been updated.\r
+This can be used to implement any repository wide cleanup tasks.</p>\r
+<p>The exit code from this hook invocation is ignored; the only thing\r
+left for git-receive-pack to do at that point is to exit itself\r
+anyway.</p>\r
+<p>This hook can be used, for example, to run "git-update-server-info"\r
+if the repository is packed and is served via a dumb transport.</p>\r
 <div class="literalblock">\r
 <div class="content">\r
 <pre><tt>#!/bin/sh\r
 exec git-update-server-info</tt></pre>\r
 </div></div>\r
-<p>There are other real-world examples of using update and\r
-post-update hooks found in the Documentation/howto directory.</p>\r
-<p>git-receive-pack honours the receive.denyNonFastforwards flag, which\r
-tells it if updates to a ref should be denied if they are not fast-forwards.</p>\r
-</div>\r
-<h2>OPTIONS</h2>\r
-<div class="sectionbody">\r
-<dl>\r
-<dt>\r
-&lt;directory&gt;\r
-</dt>\r
-<dd>\r
-<p>\r
-        The repository to sync into.\r
-</p>\r
-</dd>\r
-</dl>\r
 </div>\r
 <h2>SEE ALSO</h2>\r
 <div class="sectionbody">\r
@@ -367,7 +425,7 @@ tells it if updates to a ref should be denied if they are not fast-forwards.</p>
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 19-Jan-2007 00:37:30 UTC\r
+Last updated 08-Mar-2007 02:42:38 UTC\r
 </div>\r
 </div>\r
 </body>\r
index 10e8c46c4c0787e6a66304ca583890a438d78bb3..3cf55111cc6ecf354b79dd1d2312a5a7b1f188db 100644 (file)
@@ -25,61 +25,126 @@ The command allows for creation and fast forwarding of sha1 refs
 local end receive-pack runs, but to the user who is sitting at
 the send-pack end, it is updating the remote.  Confused?)
 
-Before each ref is updated, if $GIT_DIR/hooks/update file exists
-and executable, it is called with three parameters:
+There are other real-world examples of using update and
+post-update hooks found in the Documentation/howto directory.
 
-       $GIT_DIR/hooks/update refname sha1-old sha1-new
+git-receive-pack honours the receive.denyNonFastForwards config
+option, which tells it if updates to a ref should be denied if they
+are not fast-forwards.
+
+OPTIONS
+-------
+<directory>::
+       The repository to sync into.
+
+pre-receive Hook
+----------------
+Before any ref is updated, if $GIT_DIR/hooks/pre-receive file exists
+and is executable, it will be invoked once, with three parameters
+per ref to be updated:
+
+       $GIT_DIR/hooks/pre-receive (refname sha1-old sha1-new)+
+
+The refname parameter is relative to $GIT_DIR; e.g. for the master
+head this is "refs/heads/master".  The two sha1 arguments after
+each refname are the object names for the refname before and after
+the update.  Refs to be created will have sha1-old equal to 0{40},
+while refs to be deleted will have sha1-new equal to 0{40}, otherwise
+sha1-old and sha1-new should be valid objects in the repository.
+
+This hook is called before any refname is updated and before any
+fast-forward checks are performed.
+
+If the pre-receive hook exits with a non-zero exit status no updates
+will be performed, and the update, post-receive and post-update
+hooks will not be invoked either.  This can be useful to quickly
+bail out if the update is not to be supported.
 
-The refname parameter is relative to $GIT_DIR; e.g. for the
-master head this is "refs/heads/master".  Two sha1 are the
-object names for the refname before and after the update.  Note
-that the hook is called before the refname is updated, so either
-sha1-old is 0{40} (meaning there is no such ref yet), or it
-should match what is recorded in refname.
+update Hook
+-----------
+Before each ref is updated, if $GIT_DIR/hooks/update file exists
+and is executable, it is invoked once per ref, with three parameters:
 
-The hook should exit with non-zero status if it wants to
-disallow updating the named ref.  Otherwise it should exit with
-zero.
+       $GIT_DIR/hooks/update refname sha1-old sha1-new
 
-Using this hook, it is easy to generate mails on updates to
-the local repository. This example script sends a mail with
-the commits pushed to the repository:
+The refname parameter is relative to $GIT_DIR; e.g. for the master
+head this is "refs/heads/master".  The two sha1 arguments are
+the object names for the refname before and after the update.
+Note that the hook is called before the refname is updated,
+so either sha1-old is 0{40} (meaning there is no such ref yet),
+or it should match what is recorded in refname.
+
+The hook should exit with non-zero status if it wants to disallow
+updating the named ref.  Otherwise it should exit with zero.
+
+Successful execution (a zero exit status) of this hook does not
+ensure the ref will actully be updated, it is only a prerequisite.
+As such it is not a good idea to send notices (e.g. email) from
+this hook.  Consider using the post-receive hook instead.
+
+post-receive Hook
+-----------------
+After all refs were updated (or attempted to be updated), if any
+ref update was successful, and if $GIT_DIR/hooks/post-receive
+file exists and is executable, it will be invoke once with three
+parameters for each successfully updated ref:
+
+       $GIT_DIR/hooks/post-receive (refname sha1-old sha1-new)+
+
+The refname parameter is relative to $GIT_DIR; e.g. for the master
+head this is "refs/heads/master".  The two sha1 arguments after
+each refname are the object names for the refname before and after
+the update.  Refs that were created will have sha1-old equal to
+0{40}, while refs that were deleted will have sha1-new equal to
+0{40}, otherwise sha1-old and sha1-new should be valid objects in
+the repository.
+
+Using this hook, it is easy to generate mails describing the updates
+to the repository.  This example script sends one mail message per
+ref listing the commits pushed to the repository:
 
        #!/bin/sh
        # mail out commit update information.
-       if expr "$2" : '0*$' >/dev/null
-       then
-               echo "Created a new ref, with the following commits:"
-               git-rev-list --pretty "$2"
-       else
-               echo "New commits:"
-               git-rev-list --pretty "$3" "^$2"
-       fi |
-       mail -s "Changes to ref $1" commit-list@mydomain
+       while test $# -gt 0
+       do
+               if expr "$2" : '0*$' >/dev/null
+               then
+                       echo "Created a new ref, with the following commits:"
+                       git-rev-list --pretty "$2"
+               else
+                       echo "New commits:"
+                       git-rev-list --pretty "$3" "^$2"
+               fi |
+               mail -s "Changes to ref $1" commit-list@mydomain
+               shift; shift; shift; # discard this ref's args
+       done
        exit 0
 
-Another hook $GIT_DIR/hooks/post-update, if exists and
-executable, is called with the list of refs that have been
-updated.  This can be used to implement repository wide cleanup
-task if needed.  The exit code from this hook invocation is
-ignored; the only thing left for git-receive-pack to do at that
-point is to exit itself anyway.  This hook can be used, for
-example, to run "git-update-server-info" if the repository is
-packed and is served via a dumb transport.
+The exit code from this hook invocation is ignored, however a
+non-zero exit code will generate an error message.
 
-       #!/bin/sh
-       exec git-update-server-info
+Note that it is possible for refname to not have sha1-new when this
+hook runs.  This can easily occur if another user modifies the ref
+after it was updated by receive-pack, but before the hook was able
+to evaluate it.  It is recommended that hooks rely on sha1-new
+rather than the current value of refname.
 
-There are other real-world examples of using update and
-post-update hooks found in the Documentation/howto directory.
+post-update Hook
+----------------
+After all other processing, if at least one ref was updated, and
+if $GIT_DIR/hooks/post-update file exists and is executable, then
+post-update will called with the list of refs that have been updated.
+This can be used to implement any repository wide cleanup tasks.
 
-git-receive-pack honours the receive.denyNonFastforwards flag, which
-tells it if updates to a ref should be denied if they are not fast-forwards.
+The exit code from this hook invocation is ignored; the only thing
+left for git-receive-pack to do at that point is to exit itself
+anyway.
 
-OPTIONS
--------
-<directory>::
-       The repository to sync into.
+This hook can be used, for example, to run "git-update-server-info"
+if the repository is packed and is served via a dumb transport.
+
+       #!/bin/sh
+       exec git-update-server-info
 
 
 SEE ALSO
index 723423042752ae576c1f9f92da26b4eedd62a84a..9824b518318647cb8361790c2de454fdefeaf479 100644 (file)
--- a/git.html
+++ b/git.html
@@ -2309,7 +2309,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 06-Mar-2007 09:58:13 UTC\r
+Last updated 08-Mar-2007 02:42:39 UTC\r
 </div>\r
 </div>\r
 </body>\r