diff options
-rw-r--r-- | quilt/scripts/patchfns.in | 36 | ||||
-rw-r--r-- | test/space-in-series.test | 151 |
2 files changed, 169 insertions, 18 deletions
diff --git a/quilt/scripts/patchfns.in b/quilt/scripts/patchfns.in index aaec5cb..c14f189 100644 --- a/quilt/scripts/patchfns.in +++ b/quilt/scripts/patchfns.in @@ -118,7 +118,7 @@ patch_args() { local patch=$1 - if [ -e $SERIES ] + if [ -e "$SERIES" ] then awk ' {sub(/(^|[ \t]+)#.*/, "") } @@ -133,7 +133,7 @@ patch_args() print "-p1" ; exit } - ' $SERIES + ' "$SERIES" fi } @@ -163,7 +163,7 @@ change_db_strip_level() level="" fi - if [ -e $SERIES ] + if [ -e "$SERIES" ] then local tmpfile=$(gen_tempfile) awk ' @@ -198,10 +198,10 @@ change_db_strip_level() insert_arg(2, "'"$level"'") } { print } - ' $SERIES > $tmpfile - if ! cmp $SERIES $tmpfile >/dev/null 2>/dev/null + ' "$SERIES" > $tmpfile + if ! cmp "$SERIES" $tmpfile >/dev/null 2>/dev/null then - cat $tmpfile > $SERIES + cat $tmpfile > "$SERIES" fi rm -f $tmpfile else @@ -213,9 +213,9 @@ patch_in_series() { local patch=$1 - if [ -e $SERIES ] + if [ -e "$SERIES" ] then - grep -q "^$(quote_bre $patch)\([ \t]\|$\)" $SERIES + grep -q "^$(quote_bre $patch)\([ \t]\|$\)" "$SERIES" else return 1 fi @@ -240,7 +240,7 @@ insert_in_series() fi tmpfile=$(gen_tempfile) || return 1 - mkdir -p $(dirname $SERIES) + mkdir -p "$(dirname "$SERIES")" if [ -n "$before" ] then awk ' @@ -273,13 +273,13 @@ remove_from_series() awk ' ! /^'"$(quote_re $patch)"'([ \t]|$)/ \ { print } - ' $SERIES > $tmpfile + ' "$SERIES" > $tmpfile if [ $? -ne 0 ] then rm -f $tmpfile return 1 fi - cat $tmpfile > $SERIES + cat $tmpfile > "$SERIES" rm -f $tmpfile } @@ -294,13 +294,13 @@ rename_in_series() good=1 } { print } END { exit(! good) } - ' $SERIES > $tmpfile + ' "$SERIES" > $tmpfile if [ $? -ne 0 ] then rm -f $tmpfile return 1 fi - cat $tmpfile > $SERIES + cat $tmpfile > "$SERIES" rm -f $tmpfile } @@ -338,10 +338,10 @@ backup_file_name() cat_series() { - if [ -e $SERIES ] + if [ -e "$SERIES" ] then sed -e '/^#/d' -e 's/^[ '$'\t'']*//' \ - -e 's/[ '$'\t''].*//' -e '/^$/d' $SERIES + -e 's/[ '$'\t''].*//' -e '/^$/d' "$SERIES" else return 1 fi @@ -529,7 +529,7 @@ find_patch() local patch=${1#$SUBDIR_DOWN$QUILT_PATCHES/} local bre=$(quote_bre "$patch") set -- $(sed -e "/^$bre\(\|\.patch\|\.diff\?\)\(\|\.gz\|\.bz2\|\.xz\|\.lzma\)\([ "$'\t'"]\|$\)/!d" \ - -e 's/[ '$'\t''].*//' $SERIES) + -e 's/[ '$'\t''].*//' "$SERIES") if [ $# -eq 1 ] then echo $1 @@ -1146,10 +1146,10 @@ fi if [ "${QUILT_SERIES:0:1}" = / ] then SERIES=$QUILT_SERIES -elif [ -f $QUILT_PC/$QUILT_SERIES ] +elif [ -f "$QUILT_PC/$QUILT_SERIES" ] then SERIES=$QUILT_PC/$QUILT_SERIES -elif [ -f $QUILT_SERIES ] +elif [ -f "$QUILT_SERIES" ] then SERIES=$QUILT_SERIES else diff --git a/test/space-in-series.test b/test/space-in-series.test new file mode 100644 index 0000000..ad40a7c --- /dev/null +++ b/test/space-in-series.test @@ -0,0 +1,151 @@ +This test case was originally created as a copy of example1, but where +the series file name contains a space. + + $ export QUILT_SERIES="quilt series" + +The text used here was taken from: +http://the-tech.mit.edu/Shakespeare/midsummer/full.html + + $ mkdir patches + + $ cat > Oberon.txt + < Yet mark'd I where the bolt of Cupid fell: + < It fell upon a little western flower, + < Before milk-white, now purple with love's wound, + < And girls call it love-in-idleness. + + $ quilt new flower.diff + > Patch %{P}flower.diff is now on top + + $ quilt files + $ quilt add Oberon.txt + > File Oberon.txt added to patch %{P}flower.diff + + $ cat >> Oberon.txt + < The juice of it on sleeping eye-lids laid + < Will make a man or woman madly dote + < Upon the next live creature that it sees. + +Or ``quilt edit Oberon.txt'' + + $ quilt refresh -p ab + > Refreshed patch %{P}flower.diff + + $ cat patches/flower.diff + > Index: b/Oberon.txt + > =================================================================== + > --- a/Oberon.txt + > +++ b/Oberon.txt + > @@ -2,3 +2,6 @@ + > It fell upon a little western flower, + > Before milk-white, now purple with love's wound, + > And girls call it love-in-idleness. + > +The juice of it on sleeping eye-lids laid + > +Will make a man or woman madly dote + > +Upon the next live creature that it sees. + + $ sed -ne '1,4p' Oberon.txt > Oberon.new + $ echo "Fetch me that flower; the herb I shew'd thee once:" >> Oberon.new + $ sed -e '1,4d' Oberon.txt >> Oberon.new + $ mv Oberon.new Oberon.txt + $ quilt diff -z -p ab + > Index: b/Oberon.txt + > =================================================================== + > --- a/Oberon.txt + > +++ b/Oberon.txt + > @@ -2,6 +2,7 @@ + > It fell upon a little western flower, + > Before milk-white, now purple with love's wound, + > And girls call it love-in-idleness. + > +Fetch me that flower; the herb I shew'd thee once: + > The juice of it on sleeping eye-lids laid + > Will make a man or woman madly dote + > Upon the next live creature that it sees. + + $ quilt diff -p ab + > Index: b/Oberon.txt + > =================================================================== + > --- a/Oberon.txt + > +++ b/Oberon.txt + > @@ -2,3 +2,7 @@ + > It fell upon a little western flower, + > Before milk-white, now purple with love's wound, + > And girls call it love-in-idleness. + > +Fetch me that flower; the herb I shew'd thee once: + > +The juice of it on sleeping eye-lids laid + > +Will make a man or woman madly dote + > +Upon the next live creature that it sees. + + $ quilt refresh + > Refreshed patch %{P}flower.diff + + $ quilt top + > %{P}flower.diff + + $ quilt files + > Oberon.txt + + $ quilt patches Oberon.txt + > %{P}flower.diff + $ quilt pop -f + > Removing patch %{P}flower.diff + > Restoring Oberon.txt + > + > No patches applied + + $ quilt files patches/flower.diff + > Oberon.txt + + $ sed -e "s/girls/maidens/" Oberon.txt > Oberon.new + $ mv Oberon.new Oberon.txt + $ quilt push + > Applying patch %{P}flower.diff + >~ patching file `?Oberon.txt'? + > Hunk #1 FAILED at 2. + >~ 1 out of 1 hunk FAILED -- rejects in file `?Oberon.txt'? + > Patch %{P}flower.diff does not apply (enforce with -f) + + $ quilt push -f + > Applying patch %{P}flower.diff + >~ patching file `?Oberon.txt'? + > Hunk #1 FAILED at 2. + >~ 1 out of 1 hunk FAILED -- saving rejects to (file )?`?Oberon.txt.rej'? + > Applied patch %{P}flower.diff (forced; needs refresh) + + $ cat >> Oberon.txt + < Fetch me that flower; the herb I shew'd thee once: + < The juice of it on sleeping eye-lids laid + < Will make a man or woman madly dote + < Upon the next live creature that it sees. + + $ quilt refresh -p ab + > Refreshed patch %{P}flower.diff + $ rm -f Oberon.txt.rej + + $ cat Oberon.txt + > Yet mark'd I where the bolt of Cupid fell: + > It fell upon a little western flower, + > Before milk-white, now purple with love's wound, + > And maidens call it love-in-idleness. + > Fetch me that flower; the herb I shew'd thee once: + > The juice of it on sleeping eye-lids laid + > Will make a man or woman madly dote + > Upon the next live creature that it sees. + + $ cat patches/flower.diff + > Index: b/Oberon.txt + > =================================================================== + > --- a/Oberon.txt + > +++ b/Oberon.txt + > @@ -2,3 +2,7 @@ + > It fell upon a little western flower, + > Before milk-white, now purple with love's wound, + > And maidens call it love-in-idleness. + > +Fetch me that flower; the herb I shew'd thee once: + > +The juice of it on sleeping eye-lids laid + > +Will make a man or woman madly dote + > +Upon the next live creature that it sees. + + $ quilt grep love + > Oberon.txt:Before milk-white, now purple with love's wound, + > Oberon.txt:And maidens call it love-in-idleness. |