git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Thomas Rast <trast@student.ethz.ch>
To: <git@vger.kernel.org>
Cc: Johan Herland <johan@herland.net>
Subject: [RFC PATCH 6/6] contrib: add a hook that copies notes over rewrites
Date: Sun, 14 Feb 2010 17:17:11 +0100	[thread overview]
Message-ID: <fba55036b8c07f1ee10c4d8f7ed22045277aeb21.1266164150.git.trast@student.ethz.ch> (raw)
In-Reply-To: <cover.1266164150.git.trast@student.ethz.ch>

This hook can be used to copy your notes across rewrites.  You must
also choose across which type of rewrite you want to copy them, or
just enable all of them by saying

  git config hooks.rewriteCopyNotes all

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
---
 contrib/hooks/post-rewrite-copy-notes |   37 +++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)
 create mode 100644 contrib/hooks/post-rewrite-copy-notes

diff --git a/contrib/hooks/post-rewrite-copy-notes b/contrib/hooks/post-rewrite-copy-notes
new file mode 100644
index 0000000..73d6a82
--- /dev/null
+++ b/contrib/hooks/post-rewrite-copy-notes
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+# This hook copies over the git-notes annotation from the
+# pre-rewritten commit to the post-rewritten one.  It only does so if
+# the invoking command is listed in hooks.rewriteCopyNotes (which must
+# be space separated).  If hooks.rewriteCopyNotesVerbose is set, it
+# lists the commits for which 'git notes copy' was successful on
+# stderr.
+
+type="$1"
+run=
+
+enabled="$(git config --get hooks.rewriteCopyNotes)"
+if test "$enabled" = all || test "$enabled" = true; then
+    enabled="amend rebase filter-branch"
+fi
+
+for enabled_type in $enabled; do
+    test "$enabled_type" = "$type" && run=t
+done
+
+if test -z "$run"; then
+    exit
+done
+
+verbose=$(git config --get hooks.rewriteCopyNotesVerbose)
+test "$verbose" = true && echo "Copying notes:" >2
+end_msg="No commit had any notes."
+
+while read pre post extra; do
+    git notes copy "$pre" "$post" 2>/dev/null &&
+    end_msg="Done." &&
+    test "$verbose" = true &&
+    echo "    $pre -> $post" >2
+done
+
+test "$verbose" = true && echo "$end_msg" >2
-- 
1.7.0.216.g74d8e

  parent reply	other threads:[~2010-02-14 16:17 UTC|newest]

Thread overview: 135+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-14 16:17 [RFC PATCH 0/6] post-rewrite hook and copying notes Thomas Rast
2010-02-14 16:17 ` [RFC PATCH 1/6] Documentation: document post-rewrite hook Thomas Rast
2010-02-14 16:17 ` [RFC PATCH 2/6] commit --amend: invoke " Thomas Rast
2010-02-14 16:17 ` [RFC PATCH 3/6] filter-branch: " Thomas Rast
2010-02-15 20:36   ` Johannes Sixt
2010-02-14 16:17 ` [RFC PATCH 4/6] rebase: " Thomas Rast
2010-02-14 16:17 ` [RFC PATCH 5/6] rebase -i: " Thomas Rast
2010-02-14 16:17 ` Thomas Rast [this message]
2010-02-14 16:21   ` [RFC PATCH 6/6] contrib: add a hook that copies notes over rewrites Thomas Rast
2010-02-14 21:46 ` [PATCH] WIP: git notes copy --stdin Thomas Rast
2010-02-15  1:25   ` Johan Herland
2010-02-16 23:25 ` [RFC PATCH v2 00/11] post-rewrite / automatic notes copying Thomas Rast
2010-02-16 23:25   ` [RFC PATCH v2 01/11] Documentation: document post-rewrite hook Thomas Rast
2010-02-16 23:59     ` Junio C Hamano
2010-02-17  0:18       ` Thomas Rast
2010-02-17  0:29         ` Junio C Hamano
2010-02-16 23:25   ` [RFC PATCH v2 02/11] commit --amend: invoke " Thomas Rast
2010-02-16 23:25   ` [RFC PATCH v2 03/11] rebase: " Thomas Rast
2010-02-16 23:26   ` [RFC PATCH v2 04/11] rebase -i: " Thomas Rast
2010-02-16 23:26   ` [RFC PATCH v2 05/11] notes: clean up t3301 Thomas Rast
2010-02-16 23:52     ` Junio C Hamano
2010-02-16 23:26   ` [RFC PATCH v2 06/11] notes: implement 'git notes copy --stdin' Thomas Rast
2010-02-16 23:26   ` [RFC PATCH v2 07/11] notes: implement helpers needed for note copying during rewrite Thomas Rast
2010-02-16 23:58     ` Junio C Hamano
2010-02-17  0:09       ` Thomas Rast
2010-02-17  0:18         ` Junio C Hamano
2010-02-20 14:58           ` [WIP/RFC PATCH] Support showing notes from more than one notes tree Thomas Rast
2010-02-20 15:23             ` Thomas Rast
2010-02-16 23:26   ` [RFC PATCH v2 08/11] rebase: support automatic notes copying Thomas Rast
2010-02-16 23:26   ` [RFC PATCH v2 09/11] commit --amend: copy notes to the new commit Thomas Rast
2010-02-16 23:26   ` [RFC PATCH v2 10/11] filter-branch: invoke post-rewrite hook Thomas Rast
2010-02-16 23:26   ` [RFC PATCH v2 11/11] filter-branch: learn how to filter notes Thomas Rast
2010-02-17 19:59     ` Johannes Sixt
2010-02-17 23:06       ` Thomas Rast
2010-02-20 22:16   ` [RFC PATCH v3 00/12] several notes refs, post-rewrite, notes rewriting Thomas Rast
2010-02-20 22:16     ` [RFC PATCH v3 01/12] Support showing notes from more than one notes tree Thomas Rast
2010-02-21  3:06       ` Junio C Hamano
2010-02-20 22:16     ` [RFC PATCH v3 02/12] Documentation: document post-rewrite hook Thomas Rast
2010-02-20 22:16     ` [RFC PATCH v3 03/12] commit --amend: invoke " Thomas Rast
2010-02-21  3:12       ` Junio C Hamano
2010-02-20 22:16     ` [RFC PATCH v3 04/12] rebase: " Thomas Rast
2010-02-20 22:16     ` [RFC PATCH v3 05/12] rebase -i: " Thomas Rast
2010-02-20 22:16     ` [RFC PATCH v3 06/12] notes: implement 'git notes copy --stdin' Thomas Rast
2010-02-21  3:31       ` Junio C Hamano
2010-02-20 22:16     ` [RFC PATCH v3 07/12] notes: implement helpers needed for note copying during rewrite Thomas Rast
2010-02-21  3:34       ` Junio C Hamano
2010-02-20 22:16     ` [RFC PATCH v3 08/12] rebase: support automatic notes copying Thomas Rast
2010-02-20 22:16     ` [RFC PATCH v3 09/12] commit --amend: copy notes to the new commit Thomas Rast
2010-02-20 22:16     ` [RFC PATCH v3 10/12] filter-branch: invoke post-rewrite hook Thomas Rast
2010-02-20 22:16     ` [RFC PATCH v3 11/12] filter-branch: learn how to filter notes Thomas Rast
2010-02-20 22:16     ` [RFC PATCH v3 12/12] notes: add shorthand --ref to override GIT_NOTES_REF Thomas Rast
2010-02-21  3:47     ` [RFC PATCH v3 00/12] several notes refs, post-rewrite, notes rewriting Junio C Hamano
2010-02-21  6:14       ` Thomas Rast
2010-02-22  0:18         ` Junio C Hamano
2010-02-22  0:10     ` [PATCH v4 00/11] " Thomas Rast
2010-02-22  0:10       ` [PATCH v4 01/11] test-lib: unset GIT_NOTES_REF to stop it from influencing tests Thomas Rast
2010-02-22  0:10       ` [PATCH v4 02/11] Support showing notes from more than one notes tree Thomas Rast
2010-02-22 23:20         ` Junio C Hamano
2010-02-22 23:25           ` Thomas Rast
2010-02-23  0:21             ` Junio C Hamano
2010-02-22  0:10       ` [PATCH v4 03/11] Documentation: document post-rewrite hook Thomas Rast
2010-02-22  0:10       ` [PATCH v4 04/11] commit --amend: invoke " Thomas Rast
2010-02-22  0:10       ` [PATCH v4 05/11] rebase: " Thomas Rast
2010-02-22  0:10       ` [PATCH v4 06/11] rebase -i: " Thomas Rast
2010-02-22  0:10       ` [PATCH v4 07/11] notes: implement 'git notes copy --stdin' Thomas Rast
2010-02-22  0:10       ` [PATCH v4 08/11] notes: implement helpers needed for note copying during rewrite Thomas Rast
2010-02-22  0:10       ` [PATCH v4 09/11] rebase: support automatic notes copying Thomas Rast
2010-02-22  0:10       ` [PATCH v4 10/11] commit --amend: copy notes to the new commit Thomas Rast
2010-02-22  0:10       ` [PATCH v4 11/11] notes: add shorthand --ref to override GIT_NOTES_REF Thomas Rast
2010-02-22  0:25       ` [PATCH v4 00/11] several notes refs, post-rewrite, notes rewriting Junio C Hamano
2010-02-22  0:32         ` Thomas Rast
2010-02-23  0:42     ` [PATCH v5 " Thomas Rast
2010-02-23  0:42       ` [PATCH v5 01/11] test-lib: unset GIT_NOTES_REF to stop it from influencing tests Thomas Rast
2010-02-23  0:42       ` [PATCH v5 02/11] Support showing notes from more than one notes tree Thomas Rast
2010-02-23  1:47         ` Junio C Hamano
2010-02-23 17:10           ` Thomas Rast
2010-02-23 17:34             ` [PATCH] format-patch: learn to fill comment section of email from notes Thomas Rast
2010-02-23 17:34               ` [PATCH] BROKEN -- " Thomas Rast
2010-02-23 17:37                 ` Thomas Rast
2010-02-24  7:45                   ` Stephen Boyd
2010-02-23 21:56               ` [PATCH] " Junio C Hamano
2010-03-10 14:08               ` Thomas Rast
2010-02-23  0:42       ` [PATCH v5 03/11] Documentation: document post-rewrite hook Thomas Rast
2010-02-23  0:42       ` [PATCH v5 04/11] commit --amend: invoke " Thomas Rast
2010-02-23  0:42       ` [PATCH v5 05/11] rebase: " Thomas Rast
2010-02-23  0:42       ` [PATCH v5 06/11] rebase -i: " Thomas Rast
2010-02-24  6:15         ` Junio C Hamano
2010-02-23  0:42       ` [PATCH v5 07/11] notes: implement 'git notes copy --stdin' Thomas Rast
2010-02-23  0:42       ` [PATCH v5 08/11] notes: implement helpers needed for note copying during rewrite Thomas Rast
2010-02-23  0:42       ` [PATCH v5 09/11] rebase: support automatic notes copying Thomas Rast
2010-02-25  3:58         ` Junio C Hamano
2010-03-10 14:03           ` [PATCH v6 00/13] several notes refs, post-rewrite, notes rewriting Thomas Rast
2010-03-10 14:03             ` [PATCH v6 01/13] test-lib: unset GIT_NOTES_REF to stop it from influencing tests Thomas Rast
2010-03-11  8:55               ` Johan Herland
2010-03-10 14:03             ` [PATCH v6 02/13] Support showing notes from more than one notes tree Thomas Rast
2010-03-11 10:03               ` Johan Herland
2010-03-12 17:04                 ` [PATCH v7 00/13] tr/display-notes Thomas Rast
2010-03-12 17:04                   ` [PATCH v7 01/13] test-lib: unset GIT_NOTES_REF to stop it from influencing tests Thomas Rast
2010-03-12 17:04                   ` [PATCH v7 02/13] Support showing notes from more than one notes tree Thomas Rast
2010-03-12 17:04                   ` [PATCH v7 03/13] Documentation: document post-rewrite hook Thomas Rast
2010-03-12 17:04                   ` [PATCH v7 04/13] commit --amend: invoke " Thomas Rast
2010-03-12 17:04                   ` [PATCH v7 05/13] rebase: " Thomas Rast
2010-03-12 17:04                   ` [PATCH v7 06/13] rebase -i: " Thomas Rast
2010-03-12 17:04                   ` [PATCH v7 07/13] notes: implement 'git notes copy --stdin' Thomas Rast
2010-06-14 23:40                     ` [PATCH] notes: Initialize variable to appease Sun Studio Ævar Arnfjörð Bjarmason
2010-06-19  4:52                       ` Junio C Hamano
2010-06-19 11:58                         ` Ævar Arnfjörð Bjarmason
2010-06-21 20:53                           ` Ramsay Jones
2010-03-12 17:04                   ` [PATCH v7 08/13] notes: implement helpers needed for note copying during rewrite Thomas Rast
2010-03-12 17:04                   ` [PATCH v7 09/13] rebase: support automatic notes copying Thomas Rast
2010-03-12 17:04                   ` [PATCH v7 10/13] commit --amend: copy notes to the new commit Thomas Rast
2010-03-12 17:04                   ` [PATCH v7 11/13] notes: add shorthand --ref to override GIT_NOTES_REF Thomas Rast
2010-03-12 17:04                   ` [PATCH v7 12/13] notes: track whether notes_trees were changed at all Thomas Rast
2010-03-12 17:04                   ` [PATCH v7 13/13] git-notes(1): add a section about the meaning of history Thomas Rast
2010-03-10 14:03             ` [PATCH v6 03/13] Documentation: document post-rewrite hook Thomas Rast
2010-03-10 14:05             ` [PATCH v6 04/13] commit --amend: invoke " Thomas Rast
2010-03-10 14:05             ` [PATCH v6 05/13] rebase: " Thomas Rast
2010-03-10 14:05             ` [PATCH v6 06/13] rebase -i: " Thomas Rast
2010-03-10 14:05             ` [PATCH v6 07/13] notes: implement 'git notes copy --stdin' Thomas Rast
2010-03-11 10:30               ` Johan Herland
2010-03-10 14:05             ` [PATCH v6 08/13] notes: implement helpers needed for note copying during rewrite Thomas Rast
2010-03-11 10:50               ` Johan Herland
2010-03-10 14:05             ` [PATCH v6 09/13] rebase: support automatic notes copying Thomas Rast
2010-03-10 14:05             ` [PATCH v6 10/13] commit --amend: copy notes to the new commit Thomas Rast
2010-03-10 14:05             ` [PATCH v6 11/13] notes: add shorthand --ref to override GIT_NOTES_REF Thomas Rast
2010-03-11 10:56               ` Johan Herland
2010-03-10 14:05             ` [PATCH v6 12/13] notes: track whether notes_trees were changed at all Thomas Rast
2010-03-11 10:58               ` Johan Herland
2010-03-10 14:06             ` [PATCH v6 13/13] git-notes(1): add a section about the meaning of history Thomas Rast
2010-03-11 10:59               ` Johan Herland
2010-03-10 21:23             ` [PATCH v6 00/13] several notes refs, post-rewrite, notes rewriting Junio C Hamano
2010-02-23  0:42       ` [PATCH v5 10/11] commit --amend: copy notes to the new commit Thomas Rast
2010-02-23  0:42       ` [PATCH v5 11/11] notes: add shorthand --ref to override GIT_NOTES_REF Thomas Rast
2010-02-23  0:49       ` [PATCH v5 00/11] several notes refs, post-rewrite, notes rewriting Junio C Hamano
2010-02-23  0:49       ` Thomas Rast

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fba55036b8c07f1ee10c4d8f7ed22045277aeb21.1266164150.git.trast@student.ethz.ch \
    --to=trast@student.ethz.ch \
    --cc=git@vger.kernel.org \
    --cc=johan@herland.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).