On Sun, Jul 29, 2007 at 12:50:17AM -0700, Eric Lesh wrote: > guilt-select chooses guards that alter which patches will be applied > with a guilt-push. The selected guards are stored in > .git/patches/$branch/guards. > > Signed-off-by: Eric Lesh <eclesh@xxxxxxxx> > --- > Documentation/guilt-select.txt | 42 ++++++++++++++++++++++++++++++++++++++++ > guilt | 1 + > guilt-select | 36 ++++++++++++++++++++++++++++++++++ > 3 files changed, 79 insertions(+), 0 deletions(-) > create mode 100644 Documentation/guilt-select.txt > create mode 100755 guilt-select > > diff --git a/Documentation/guilt-select.txt b/Documentation/guilt-select.txt > new file mode 100644 > index 0000000..8e18f26 > --- /dev/null > +++ b/Documentation/guilt-select.txt You might want to update the guilt(7) page's description of the patch directory. > @@ -0,0 +1,42 @@ > +guilt-select(1) > +=============== > + > +NAME > +---- > +guilt-select - Select guards to apply when pushing patches > + > +SYNOPSIS > +-------- > +include::usage-guilt-select.txt[] > + > +DESCRIPTION > +----------- > +Select guards to apply when pushing patches. > + > +Guards are selected without the + or - prefix. Patches are applied in > +the following way: > + > +An unguarded patch is always applied. > + > +A patch with a positive guard is applied *only* if the guard is > +selected with guilt-select. > + > +A patch with a negative guard is applied *unless* the guard is > +selected with guilt-select. > + > +OPTIONS > +------- > +-n|--none:: > + Remove all selected guards > +-s|--series:: > + List all guards listed in the series file > + > +Author > +------ > +Written by Eric Lesh <eclesh@xxxxxxxx> > + > +Documentation > +------------- > +Documentation by Eric Lesh <eclesh@xxxxxxxx> > + > +include::footer.txt[] > diff --git a/guilt b/guilt > index b2767ea..3882962 100755 > --- a/guilt > +++ b/guilt > @@ -641,6 +641,7 @@ fi > # very useful files > series="$GUILT_DIR/$branch/series" > applied="$GUILT_DIR/$branch/status" > +guards_file="$GUILT_DIR/$branch/guards" > > # determine an editor to use for anything interactive (fall back to vi) > editor="vi" > diff --git a/guilt-select b/guilt-select > new file mode 100755 > index 0000000..f237ef0 > --- /dev/null > +++ b/guilt-select > @@ -0,0 +1,36 @@ > +#!/bin/sh > +# > +# Copyright (c) Eric Lesh, 2007 > +# > + > +USAGE="[-n|--none] [-s|--series] [<guard>]" > + . `dirname $0`/guilt > + > +if [ $# == 0 ]; then > + if [ -s "$guards_file" ]; then > + cat "$guards_file" Later on, for the -s option processing, you sort (presumably to have uniq do the right thing), should we sort here too to be consitent? > + else > + echo "No guards applied" I think outputing this message to stderr might be better; it'll allow for redirection more easily. > + fi > + exit 0 > +fi > + > +case $1 in > + -n|--none) > + rm -f "$guards_file" > + touch "$guards_file" Since guilt-init doesn't create the guards file, I'm thinking that this should be just a rm -f ... > + ;; > + -s|--series) > + (get_series | while read patch; do > + get_guards "$patch" > + done) | sed -e 's/ /\n/g' | sort | uniq > + ;; > + *) > + for x in "$@"; do > + if [ $(echo $x | grep -e "^[+-]") ]; then > + die "'$x' is not a valid guard name" > + fi > + done > + echo "$@" | sed -e 's/ /\n/g' | sort | uniq > "$guards_file" > + ;; > +esac > -- > 1.5.2 -- The box said "Windows XP or better required". So I installed Linux. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html