On Tue, May 13, 2014 at 10:30:44PM +0200, Per Cederqvist wrote: > Test that empty patches are handled correctly, both with and without > the guilt.diffstat configuration option. > > Signed-off-by: Per Cederqvist <cederp@xxxxxxxxx> > --- > regression/t-020.out | 250 +++++++++++++++++++++++++++++++++++++++++++++++++++ > regression/t-020.sh | 60 +++++++++++++ > 2 files changed, 310 insertions(+) > > diff --git a/regression/t-020.out b/regression/t-020.out > index af45734..7e07efa 100644 > --- a/regression/t-020.out > +++ b/regression/t-020.out > @@ -1128,3 +1128,253 @@ f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add ... > +% git log -p > +commit c7a139f532a43c3c8b0e068cac04f8f6af0f94e1 > +Author: Author Name <author@email> > +Date: Mon Jan 1 00:00:00 2007 +0000 > + > + patch empty.patch > + > +commit d4850419ccc1146c7169f500725ce504b9774ed0 > +Author: Author Name <author@email> > +Date: Mon Jan 1 00:00:00 2007 +0000 > + > + initial > + > + Signed-off-by: Commiter Name <commiter@email> > + > +diff --git a/def b/def > +new file mode 100644 > +index 0000000..8baef1b > +--- /dev/null > ++++ b/def > +@@ -0,0 +1 @@ > ++abc > +% git config guilt.diffstat false > +--- > + I'm a bit confused about the above. It looks like contents of an empty patch with an empty diffstat. But the only time I see a cat in the .sh file is when you rewrite... oh I got it. I'll comment about it by the 'cat'. ... > diff --git a/regression/t-020.sh b/regression/t-020.sh > index cdd08ba..906aec6 100755 > --- a/regression/t-020.sh > +++ b/regression/t-020.sh > @@ -5,6 +5,13 @@ > > source "$REG_DIR/scaffold" > > +function fixup_time_info > +{ > + cmd guilt pop > + touch -a -m -t "$TOUCH_DATE" ".git/patches/master/$1" > + cmd guilt push > +} > + > cmd setup_repo > > # > @@ -69,6 +76,59 @@ done > > cmd list_files > > +# push an empty patch with no commit message > +cmd guilt new empty.patch > +fixup_time_info empty.patch > +cmd list_files > +cmd git log -p > + > +# Ensure we can push the empty patch even when guilt.diffstat is true. > +cmd git config guilt.diffstat true > +cmd guilt refresh > +fixup_time_info empty.patch > +cmd list_files > +cmd git log -p > +cmd git config guilt.diffstat false > + > +# Let the patch have a commit message, but no data. > +cat .git/patches/master/empty.patch <<EOF cat > .git/.../empty.patch <<EOF ... EOF Otherwise, you'll just cat the existing patch and that's it. > +Fix a bug. > + > +From: Per Cederqvist <ceder@xxxxxxxxxxxxxx> > + > +This commit fixes a serious bug. > + > +FIXME: > + - add a test case > + - track down the bug > + - actually fix it > +EOF > + > +fixup_time_info empty.patch > +cmd list_files > +cmd git log -p > + > +# And once more, with an empty diffstat. > + > +cmd git config guilt.diffstat true > +cmd guilt refresh > +fixup_time_info empty.patch > +cmd list_files > +cmd git log -p > + > +# Restore the diffstat setting and remove the empty patch. > +cmd git config guilt.diffstat false > +cmd guilt refresh > +fixup_time_info empty.patch > +cmd list_files > +cmd git log -p > +# (Cannot delete an applied patch) > +shouldfail guilt delete empty.patch > +cmd guilt pop -a > +cmd guilt delete -f empty.patch > +cmd list_files > +cmd git log -p > + > # FIXME: > # --all > # -a > -- > 1.8.3.1 > -- Fact: 23.6% of all statistics are generated randomly. -- 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