59 lines
1.8 KiB
Diff
59 lines
1.8 KiB
Diff
|
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
|
||
|
;;
|