On Thu, Jun 14, 2007 at 10:58:45AM -0400, Josef Sipek wrote: > On Thu, Jun 14, 2007 at 02:50:58PM +0200, Pierre Habouzit wrote: > > # usage: do_make_header <hash> > > do_make_header() > > { > > - # which revision do we want to work with? > > - local rev="$1" > > - > > # we should try to work with commit objects only > > - if [ `git-cat-file -t "$rev"` != "commit" ]; then > > - echo "Hash $rev is not a commit object" >&2 > > + if [ `git-cat-file -t "$1"` != "commit" ]; then > > + echo "Hash $1 is not a commit object" >&2 > > echo "Aborting..." >&2 > > exit 2 > > fi > > > > - # get the author line from the commit object > > - local author=`git-cat-file -p "$rev" | grep -e '^author ' | head -1` > > - > > - # strip the timestamp & '^author ' string > > - author=`echo "$author" | sed -e 's/^author //' -e 's/ [0-9]* [+-]*[0-9][0-9]*$//'` > > - > > - git-cat-file -p "$rev" | awk " > > -BEGIN{ok=0} > > -(ok==1){print \$0; print \"\nFrom: $author\"; ok=2; next} > > -(ok==2){print \$0} > > -/^\$/ && (ok==0){ok=1} > > -" > > + git-cat-file -p "$1" | sed -e \ > > + '1,/^$/ { > > + /^author/ { > > + s/^author /From: / > > + s/ [0-9]* [+-]*[0-9][0-9]*$// > > + p > > + } > > + /^$/p > > + d > > + }' > > You changed the output slightly. The original awk script outputed: > > >>>>> > the first line of the commit message > > From: foo@.... > > remainder of the commit message > <<<<< > > Yours outputs: > > >>>>> > From: foo@.... > > the entire commit message > <<<<< > > I'd like to keep the previous format as it makes it easier to grab the first > line of each patch file to get the "short summary" (assuming you follow the > kernel/git/guilt commit message conventions). This doesn't make anything in > guilt easier, it just makes the patch files more friendly to other tools one > might use. (Especially if they grab the first line and use it as the subject > in emails.) damn, I thought I had checked that thouroughly, I'll see that in details then. and will give you a new patch. > > @@ -283,10 +264,11 @@ series_remove_patch() > > # usage: series_rename_patch <oldname> <newname> > > series_rename_patch() > > { > > - local old=`echo "$1" | sed -e 's,/,\\\\/,g'` > > - local new=`echo "$2" | sed -e 's,/,\\\\/,g'` > > + awk -v old="$1" -v new="$2" \ > > + '{ if ($0 == old) print new; else print $0 }' \ > > + "$series.tmp" > "$series" > > Shouldn't that be '"$series" > "$series.tmp"' ? > > > - sed -i -e "s/^$old\$/$new/" "$series" > > + mv "$series.tmp" "$series" > > } > > > > # Beware! This is one of the few (only?) places where we modify the applied > > @@ -295,10 +277,15 @@ series_rename_patch() > > # usage: applied_rename_patch <oldname> <newname> > > applied_rename_patch() > > { > > - local old=`echo "$1" | sed -e 's,/,\\\\/,g'` > > - local new=`echo "$2" | sed -e 's,/,\\\\/,g'` > > + awk -v old="$1" -v new="$2" \ > > + 'BEGIN{FS=":"} > > + { if ($1 ~ /^[0-9a-f]*$/ && length($1) == 40 && substr($0, 42) == old) > > + print substr($0, 0, 41) new; > > + else > > + print; > > + }' "$applied" > "$applied.new" > ^^^^ > > > - sed -i -e "s/^\\([0-9a-f]\\{40\\}\\):$old\$/\\1:$new/" "$applied" > > + mv "$applied.tmp" "$applied" > ^^^^ > > ..new or .tmp? Those are obvious blatant mistakes. THe fixes will be available in the coming patch as well. -- ·O· Pierre Habouzit ··O madcoder@xxxxxxxxxx OOO http://www.madism.org
Attachment:
pgpl9QhzLxk55.pgp
Description: PGP signature