rpms/kernel/devel gen-patches,1.3,1.4
Roland McGrath (roland)
fedora-extras-commits at redhat.com
Thu Jan 3 23:46:43 UTC 2008
Author: roland
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv20844
Modified Files:
gen-patches
Log Message:
Soup to handle lagging rebases
Index: gen-patches
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/gen-patches,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- gen-patches 19 Dec 2007 09:36:28 -0000 1.3
+++ gen-patches 3 Jan 2008 23:46:08 -0000 1.4
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
#
# This script goes with the Makefile hacks for git/branch builds.
#
@@ -129,13 +129,36 @@
GIT_DIFF_OPTS=-pu
export GIT_DIFF_OPTS
+i=0
+last_base=$base
+last_base_rev=$base_rev
for branch; do
-
- merge_base=`git-merge-base $base_rev $branch` || {
- echo >&2 "No common ancestor for $base and $branch"
+ branch_rev=`git-rev-parse $branch` || exit 2
+ merge_base=`git-merge-base $last_base_rev $branch_rev` || {
+ echo >&2 "No common ancestor for $last_base and $branch"
exit 2
}
- branch_rev=`git-rev-parse $branch`
+ if ((i > 0)) && [ "x$merge_base" = "x${merge_rev[$(($i - 1))]}" ]; then
+ echo >&2 "$last_base is not an ancestor of $branch"
+ exit 2
+ fi
+ merge_rev[$i]=$merge_base
+ ((i++))
+ last_base=$branch
+ last_base_rev=$branch_rev
+done
+merge_rev[$i]=$last_base_rev
+
+test "x${merge_rev[0]}" = "x$base_rev" || {
+ echo >&2 "$base is not an ancestor of $branch"
+ exit 2
+}
+
+i=1
+for branch; do
+
+ branch_rev=${merge_rev[$i]}
+ ((i++))
case "$branch" in
refs/remotes/*/master)
@@ -156,7 +179,7 @@
file=linux-${version}-${branch_name}.patch
git diff --no-renames --patch-with-stat \
- -r "${merge_base}" -r "${branch_rev}" > $file || exit
+ -r "${base_rev}" -r "${branch_rev}" > $file || exit
if [ ! -s $file ]; then
rm -f $file
continue
@@ -165,8 +188,7 @@
usepatch $file
log $branch_rev branch $branch
- base="$branch"
- base_rev="$base"
+ base_rev="$branch_rev"
done
name=`echo ${name:-${branch}} | sed s/-/_/g`
More information about the fedora-extras-commits
mailing list