Autogenerated HTML docs for v1.5.2-rc3-14-g6671
authorJunio C Hamano <junio@hera.kernel.org>
Sat, 12 May 2007 20:50:08 +0000 (20:50 +0000)
committerJunio C Hamano <junio@hera.kernel.org>
Sat, 12 May 2007 20:50:08 +0000 (20:50 +0000)
RelNotes-1.5.2.txt
git-clone.html
git-clone.txt
hooks.html
hooks.txt

index 42e7fa5beccd0a2b5c0b2703cf62034cb1b23ab9..d1c2cac4fcacf09104a8b239b1598a77c443f81b 100644 (file)
@@ -40,7 +40,7 @@ Updates since v1.5.1
   This release supports the "version 2" format of the .idx
   file.  This is automatically enabled when a huge packfile
   needs more than 32-bit to express offsets of objects in the
-  pack
+  pack.
 
 * Comes with an updated git-gui 0.7.0
 
@@ -114,7 +114,7 @@ Updates since v1.5.1
   - Local "git fetch" from a repository whose object store is
     one of the alternates (e.g. fetching from the origin in a
     repository created with "git clone -l -s") avoids
-    downloading objects unnecessary.
+    downloading objects unnecessarily.
 
   - "git blame" uses .mailmap to canonicalize the author name
     just like "git shortlog" does.
@@ -124,7 +124,7 @@ Updates since v1.5.1
 
   - "git cherry-pick" and "git revert" does not use .msg file in
     the working tree to prepare commit message; instead it uses
-    $GIT_DIR/MERGE_MSG as other commands.
+    $GIT_DIR/MERGE_MSG as other commands do.
 
 * Builds
 
@@ -134,7 +134,7 @@ Updates since v1.5.1
   - gitk and git-gui can be configured out.
 
   - Generated documentation pages automatically get version
-    information from GIT_VERSION
+    information from GIT_VERSION.
 
   - Parallel build with "make -j" descending into subdirectory
     was fixed.
@@ -151,11 +151,13 @@ Updates since v1.5.1
   - The recursive merge strategy updated a worktree file that
     was changed identically in two branches, when one of them
     renamed it.  We do not do that when there is no rename, so
-    match that behaviour.
+    match that behaviour.  This avoids excessive rebuilds.
 
   - The default pack depth has been increased to 50, as the
     recent addition of delta_base_cache makes deeper delta chains
-    much less expensive to access.
+    much less expensive to access.  Depending on the project, it was
+    reported that this reduces the resulting pack file by 10%
+    or so.
 
 
 Fixes since v1.5.1
@@ -194,6 +196,6 @@ this release, unless otherwise noted.
 
 --
 exec >/var/tmp/1
-O=v1.5.2-rc2-91-g616e40b
+O=v1.5.2-rc3
 echo O=`git describe refs/heads/master`
 git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint
index e11a31620d03d7e36c39ecbb641624d7d248a2b4..6d6882bbb9a720002d93d5bf7dc8e895c2ea9036 100644 (file)
@@ -470,7 +470,7 @@ Make a local clone that borrows from the current directory, without checking thi
 <div class="listingblock">\r
 <div class="content">\r
 <pre><tt>$ git clone -l -s -n . ../copy\r
-$ cd copy\r
+$ cd ../copy\r
 $ git show-branch</tt></pre>\r
 </div></div>\r
 </dd>\r
@@ -521,7 +521,7 @@ Create a repository on the kernel.org machine that borrows from Linus
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 04-Apr-2007 18:33:33 UTC\r
+Last updated 12-May-2007 20:49:27 UTC\r
 </div>\r
 </div>\r
 </body>\r
index 6d32c491a591daa183424a8743ed119e07631b27..644bf126fb8766fb1825f0688089b213b4326977 100644 (file)
@@ -132,7 +132,7 @@ Make a local clone that borrows from the current directory, without checking thi
 +
 ------------
 $ git clone -l -s -n . ../copy
-$ cd copy
+$ cd ../copy
 $ git show-branch
 ------------
 
index 85d26b2297b0005a72da314c3a797c6167128f7b..9a6616dff46ad5571044c801390f26da4ab082d0 100644 (file)
@@ -337,7 +337,31 @@ parameter, and is invoked after a commit is made.</p>
 <p>This hook is meant primarily for notification, and cannot affect\r
 the outcome of <tt>git-commit</tt>.</p>\r
 </div>\r
-<h2>update</h2>\r
+<h2><a id="pre-receive"></a>pre-receive</h2>\r
+<div class="sectionbody">\r
+<p>This hook is invoked by <tt>git-receive-pack</tt> on the remote repository,\r
+which happens when a <tt>git push</tt> is done on a local repository.\r
+Just before starting to update refs on the remote repository, the\r
+pre-receive hook is invoked.  Its exit status determines the success\r
+or failure of the update.</p>\r
+<p>This hook executes once for the receive operation. It takes no\r
+arguments, but for each ref to be updated it receives on standard\r
+input a line of the format:</p>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><tt>&lt;old-value&gt; SP &lt;new-value&gt; SP &lt;ref-name&gt; LF</tt></pre>\r
+</div></div>\r
+<p>where <tt>&lt;old-value&gt;</tt> is the old object name stored in the ref,\r
+<tt>&lt;new-value&gt;</tt> is the new object name to be stored in the ref and\r
+<tt>&lt;ref-name&gt;</tt> is the full name of the ref.\r
+When creating a new ref, <tt>&lt;old-value&gt;</tt> is 40 <tt>0</tt>.</p>\r
+<p>If the hook exits with non-zero status, none of the refs will be\r
+updated. If the hook exits with zero, updating of individual refs can\r
+still be prevented by the <a href="#update"><em>update</em></a> hook.</p>\r
+<p>If you want to report something to the <tt>git-send-pack</tt> on the other end,\r
+you can simply <tt>echo</tt> your messages.</p>\r
+</div>\r
+<h2><a id="update"></a>update</h2>\r
 <div class="sectionbody">\r
 <p>This hook is invoked by <tt>git-receive-pack</tt> on the remote repository,\r
 which happens when a <tt>git push</tt> is done on a local repository.\r
@@ -365,24 +389,46 @@ and the new objectname to be stored in the ref.
 </ul>\r
 <p>A zero exit from the update hook allows the ref to be updated.\r
 Exiting with a non-zero status prevents <tt>git-receive-pack</tt>\r
-from updating the ref.</p>\r
+from updating that ref.</p>\r
 <p>This hook can be used to prevent <em>forced</em> update on certain refs by\r
 making sure that the object name is a commit object that is a\r
 descendant of the commit object named by the old object name.\r
 That is, to enforce a "fast forward only" policy.</p>\r
 <p>It could also be used to log the old..new status.  However, it\r
 does not know the entire set of branches, so it would end up\r
-firing one e-mail per ref when used naively, though.</p>\r
+firing one e-mail per ref when used naively, though.  The\r
+<a href="#post-receive"><em>post-receive</em></a> hook is more suited to that.</p>\r
 <p>Another use suggested on the mailing list is to use this hook to\r
 implement access control which is finer grained than the one\r
 based on filesystem group.</p>\r
 <p>The standard output of this hook is sent to <tt>stderr</tt>, so if you\r
 want to report something to the <tt>git-send-pack</tt> on the other end,\r
 you can simply <tt>echo</tt> your messages.</p>\r
-<p>The default <em>update</em> hook, when enabled, demonstrates how to\r
-send out a notification e-mail.</p>\r
+<p>The default <em>update</em> hook, when enabled&#8212;and with\r
+<tt>hooks.allowunannotated</tt> config option turned on&#8212;prevents\r
+unannotated tags to be pushed.</p>\r
+</div>\r
+<h2><a id="post-receive"></a>post-receive</h2>\r
+<div class="sectionbody">\r
+<p>This hook is invoked by <tt>git-receive-pack</tt> on the remote repository,\r
+which happens when a <tt>git push</tt> is done on a local repository.\r
+It executes on the remote repository once after all the refs have\r
+been updated.</p>\r
+<p>This hook executes once for the receive operation.  It takes no\r
+arguments, but gets the same information as the <tt>pre-receive</tt>\r
+hook does on its standard input.</p>\r
+<p>This hook does not affect the outcome of <tt>git-receive-pack</tt>, as it\r
+is called after the real work is done.</p>\r
+<p>This supersedes the <a id="post-update"></a> hook in that it actually get's\r
+both old and new values of all the refs.</p>\r
+<p>If you want to report something to the <tt>git-send-pack</tt> on the\r
+other end, you can simply <tt>echo</tt> your messages.</p>\r
+<p>The default <em>post-receive</em> hook is empty, but there is\r
+a sample script <tt>post-receive-email</tt> provided in the <tt>contrib/hooks</tt>\r
+directory in git distribution, which implements sending commit\r
+emails.</p>\r
 </div>\r
-<h2>post-update</h2>\r
+<h2><a id="post-update"></a>post-update</h2>\r
 <div class="sectionbody">\r
 <p>This hook is invoked by <tt>git-receive-pack</tt> on the remote repository,\r
 which happens when a <tt>git push</tt> is done on a local repository.\r
@@ -395,18 +441,21 @@ the outcome of <tt>git-receive-pack</tt>.</p>
 <p>The <em>post-update</em> hook can tell what are the heads that were pushed,\r
 but it does not know what their original and updated values are,\r
 so it is a poor place to do log old..new.</p>\r
+<p>In general, <tt>post-receive</tt> hook is preferred when the hook needs\r
+to decide its acion on the status of the entire set of refs\r
+being updated, as this hook is called once per ref, with\r
+information only on a single ref at a time.</p>\r
 <p>When enabled, the default <em>post-update</em> hook runs\r
 <tt>git-update-server-info</tt> to keep the information used by dumb\r
 transports (e.g., HTTP) up-to-date.  If you are publishing\r
 a git repository that is accessible via HTTP, you should\r
 probably enable this hook.</p>\r
-<p>The standard output of this hook is sent to <tt>/dev/null</tt>; if you\r
-want to report something to the <tt>git-send-pack</tt> on the other end,\r
-you can redirect your output to your <tt>stderr</tt>.</p>\r
+<p>Both standard output and standard error output are forwarded to\r
+<tt>git-send-pack</tt> on the other end.</p>\r
 </div>\r
 <div id="footer">\r
 <div id="footer-text">\r
-Last updated 04-Apr-2007 18:34:45 UTC\r
+Last updated 12-May-2007 20:49:27 UTC\r
 </div>\r
 </div>\r
 </body>\r
index b083290d120b36e882c2a6d190e58ae1ee07b02f..80ba6709ad8759ec6f3f8ed63b804ff6a901c111 100644 (file)
--- a/hooks.txt
+++ b/hooks.txt
@@ -90,6 +90,35 @@ parameter, and is invoked after a commit is made.
 This hook is meant primarily for notification, and cannot affect
 the outcome of `git-commit`.
 
+[[pre-receive]]
+pre-receive
+-----------
+
+This hook is invoked by `git-receive-pack` on the remote repository,
+which happens when a `git push` is done on a local repository.
+Just before starting to update refs on the remote repository, the
+pre-receive hook is invoked.  Its exit status determines the success
+or failure of the update.
+
+This hook executes once for the receive operation. It takes no
+arguments, but for each ref to be updated it receives on standard
+input a line of the format:
+
+  <old-value> SP <new-value> SP <ref-name> LF
+
+where `<old-value>` is the old object name stored in the ref,
+`<new-value>` is the new object name to be stored in the ref and
+`<ref-name>` is the full name of the ref.
+When creating a new ref, `<old-value>` is 40 `0`.
+
+If the hook exits with non-zero status, none of the refs will be
+updated. If the hook exits with zero, updating of individual refs can
+still be prevented by the <<update,'update'>> hook.
+
+If you want to report something to the `git-send-pack` on the other end,
+you can simply `echo` your messages.
+
+[[update]]
 update
 ------
 
@@ -108,7 +137,7 @@ three parameters:
 
 A zero exit from the update hook allows the ref to be updated.
 Exiting with a non-zero status prevents `git-receive-pack`
-from updating the ref.
+from updating that ref.
 
 This hook can be used to prevent 'forced' update on certain refs by
 making sure that the object name is a commit object that is a
@@ -117,7 +146,8 @@ That is, to enforce a "fast forward only" policy.
 
 It could also be used to log the old..new status.  However, it
 does not know the entire set of branches, so it would end up
-firing one e-mail per ref when used naively, though.
+firing one e-mail per ref when used naively, though.  The
+<<post-receive,'post-receive'>> hook is more suited to that.
 
 Another use suggested on the mailing list is to use this hook to
 implement access control which is finer grained than the one
@@ -127,9 +157,38 @@ The standard output of this hook is sent to `stderr`, so if you
 want to report something to the `git-send-pack` on the other end,
 you can simply `echo` your messages.
 
-The default 'update' hook, when enabled, demonstrates how to
-send out a notification e-mail.
+The default 'update' hook, when enabled--and with
+`hooks.allowunannotated` config option turned on--prevents
+unannotated tags to be pushed.
+
+[[post-receive]]
+post-receive
+------------
 
+This hook is invoked by `git-receive-pack` on the remote repository,
+which happens when a `git push` is done on a local repository.
+It executes on the remote repository once after all the refs have
+been updated.
+
+This hook executes once for the receive operation.  It takes no
+arguments, but gets the same information as the `pre-receive`
+hook does on its standard input.
+
+This hook does not affect the outcome of `git-receive-pack`, as it
+is called after the real work is done.
+
+This supersedes the [[post-update]] hook in that it actually get's
+both old and new values of all the refs.
+
+If you want to report something to the `git-send-pack` on the
+other end, you can simply `echo` your messages.
+
+The default 'post-receive' hook is empty, but there is
+a sample script `post-receive-email` provided in the `contrib/hooks`
+directory in git distribution, which implements sending commit
+emails.
+
+[[post-update]]
 post-update
 -----------
 
@@ -148,12 +207,16 @@ The 'post-update' hook can tell what are the heads that were pushed,
 but it does not know what their original and updated values are,
 so it is a poor place to do log old..new.
 
+In general, `post-receive` hook is preferred when the hook needs
+to decide its acion on the status of the entire set of refs
+being updated, as this hook is called once per ref, with
+information only on a single ref at a time.
+
 When enabled, the default 'post-update' hook runs
 `git-update-server-info` to keep the information used by dumb
 transports (e.g., HTTP) up-to-date.  If you are publishing
 a git repository that is accessible via HTTP, you should
 probably enable this hook.
 
-The standard output of this hook is sent to `/dev/null`; if you
-want to report something to the `git-send-pack` on the other end,
-you can redirect your output to your `stderr`.
+Both standard output and standard error output are forwarded to
+`git-send-pack` on the other end.