aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/guilt/files/optional_head_check.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/guilt/files/optional_head_check.patch')
-rw-r--r--meta/recipes-devtools/guilt/files/optional_head_check.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/meta/recipes-devtools/guilt/files/optional_head_check.patch b/meta/recipes-devtools/guilt/files/optional_head_check.patch
new file mode 100644
index 0000000000..368d63b6ab
--- /dev/null
+++ b/meta/recipes-devtools/guilt/files/optional_head_check.patch
@@ -0,0 +1,58 @@
+guilt: allow guilt-push to opt out of head checking
+
+Depending on the method used to construct a tree, it is entirely
+possible that branches are not only made up of guilt created commits.
+This mixed mode is valid, and in particular is valid when applying
+patches to a tree.
+
+In the default mode of operation, you will see a warning such as
+this when working on a branch:
+
+Expected HEAD commit dbd5861f81a92b8b329561f94b8575c7ee6768b6
+ got 3e8e6f6bd9f1772b91fc1fe9949f541d0560b487
+
+This looks severe, but is harmless during tree construction,
+since even if the HEAD commit was expected, you can still run into
+issues pushing a patch. This is particularly seen when templates are
+adding patches to a kernel.
+
+To make this look less ominous, we make the head check for patch
+pushing opt-in. Which means that by default, you'll no longer see
+this warning if you work with a mixed mode branch during tree
+construction.
+
+Other modes such as pop or refresh can run into problems when
+the HEAD commit isn't tracked or expected, so they should remained
+checked.
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
+
+---
+ guilt | 3 +++
+ guilt-push | 3 +++
+ 2 files changed, 6 insertions(+)
+
+--- a/guilt
++++ b/guilt
+@@ -417,6 +417,9 @@ head_check()
+ return 0 ;;
+ esac
+
++ # If do_head_check isn't set, bail, we are "opt-in"
++ [ -z "$do_head_check" ] && return 0
++
+ if [ "`git rev-parse refs/heads/$branch`" != "`git rev-parse $1`" ]; then
+ disp "Expected HEAD commit $1" >&2
+ disp " got `git rev-parse refs/heads/$branch`" >&2
+--- a/guilt-push
++++ b/guilt-push
+@@ -23,6 +23,9 @@ while [ $# -gt 0 ]; do
+ tag=$2
+ shift
+ ;;
++ --head_check)
++ do_head_check=t
++ ;;
+ *)
+ break
+ ;;