Alexandre Julliard : patches: Add pre-push hook that is used to store patch id for commits.

Alexandre Julliard julliard at winehq.org
Wed Mar 21 14:38:52 CDT 2018


Module: tools
Branch: master
Commit: e53ef799a780fa7690676ccf086864d2978951cc
URL:    https://source.winehq.org/git/tools.git/?a=commit;h=e53ef799a780fa7690676ccf086864d2978951cc

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Mar 21 19:11:31 2018 +0100

patches: Add pre-push hook that is used to store patch id for commits.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 patches/pre-push-hook | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/patches/pre-push-hook b/patches/pre-push-hook
new file mode 100755
index 0000000..fe85aec
--- /dev/null
+++ b/patches/pre-push-hook
@@ -0,0 +1,39 @@
+#!/bin/sh
+#
+# Pre-push git hook to store commit ids in the patch.commit files
+# based on the patch id stored in git notes.
+#
+# Copyright 2017 Alexandre Julliard
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+urlbase=$(git config remote.$1.patchesurl) || exit 0
+patchdir=$(git config --path patches.dir) || exit 0
+
+while read local_ref local_sha remote_ref remote_sha
+do
+    for commit in $(git rev-list "$remote_sha..$local_sha" 2>/dev/null)
+    do
+        for patch in $(git notes show $commit 2>/dev/null | grep "^Patch-Id: " | cut -c11-)
+        do
+            if test -f $patchdir/$patch
+            then
+                echo "$urlbase/commit/$commit" >$patchdir/$patch.commit
+            fi
+        done
+    done
+done
+
+exit 0




More information about the wine-cvs mailing list