From: Per Cederqvist <cederp@opera.com>
To: Jeff Sipek <jeffpc@josefsipek.net>
Cc: git@vger.kernel.org, Per Cederqvist <cederp@opera.com>
Subject: [GUILT v4 08/33] Added more test cases for "guilt new": empty patches.
Date: Sun, 18 May 2014 23:59:44 +0200 [thread overview]
Message-ID: <1400450409-30998-9-git-send-email-cederp@opera.com> (raw)
In-Reply-To: <1400450409-30998-1-git-send-email-cederp@opera.com>
Test that empty patches are handled correctly, both with and without
the guilt.diffstat configuration option.
Signed-off-by: Per Cederqvist <cederp@opera.com>
Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
---
regression/t-020.out | 269 +++++++++++++++++++++++++++++++++++++++++++++++++++
regression/t-020.sh | 60 ++++++++++++
2 files changed, 329 insertions(+)
diff --git a/regression/t-020.out b/regression/t-020.out
index af45734..42433dc 100644
--- a/regression/t-020.out
+++ b/regression/t-020.out
@@ -1128,3 +1128,272 @@ f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
f bacb4aad8a55fe4e7aa58a9ae169990bb764069f .git/patches/master/series
f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/status
+% guilt new empty.patch
+% guilt pop
+All patches popped.
+% guilt push
+Applying patch..empty.patch
+Patch applied.
+% list_files
+d .git/patches
+d .git/patches/master
+d .git/refs/patches
+d .git/refs/patches/master
+f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
+f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
+f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
+f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
+f d15a1d2d34493f790c78ddacb8815b0b9536ee2b .git/patches/master/series
+f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/empty.patch
+f e90b964f01cbef60bbe00c38c55d9ea86618a66a .git/patches/master/status
+r c7a139f532a43c3c8b0e068cac04f8f6af0f94e1 .git/refs/patches/master/empty.patch
+% 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 true
+% guilt refresh
+Patch empty.patch refreshed
+% guilt pop
+All patches popped.
+% guilt push
+Applying patch..empty.patch
+Patch applied.
+% list_files
+d .git/patches
+d .git/patches/master
+d .git/refs/patches
+d .git/refs/patches/master
+f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
+f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
+f 7d261b8caad0f161c21daf5de65eeb521ff8c067 .git/patches/master/empty.patch
+f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
+f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
+f d15a1d2d34493f790c78ddacb8815b0b9536ee2b .git/patches/master/series
+f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/empty.patch~
+f e90b964f01cbef60bbe00c38c55d9ea86618a66a .git/patches/master/status
+r c7a139f532a43c3c8b0e068cac04f8f6af0f94e1 .git/refs/patches/master/empty.patch
+% 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
+% guilt pop
+All patches popped.
+% guilt push
+Applying patch..empty.patch
+Patch applied.
+% list_files
+d .git/patches
+d .git/patches/master
+d .git/refs/patches
+d .git/refs/patches/master
+f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
+f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
+f 7ad87a0bdb8cf0a57cfc384633edabbb9c2bfa1b .git/patches/master/empty.patch
+f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
+f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
+f d15a1d2d34493f790c78ddacb8815b0b9536ee2b .git/patches/master/series
+f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/empty.patch~
+f e90b964f01cbef60bbe00c38c55d9ea86618a66a .git/patches/master/status
+r 8ed27228b117c0c88abf3d586bcc43c68e975cea .git/refs/patches/master/empty.patch
+% git log -p
+commit 8ed27228b117c0c88abf3d586bcc43c68e975cea
+Author: Per Cederqvist <ceder@lysator.liu.se>
+Date: Mon Jan 1 00:00:00 2007 +0000
+
+ Fix a bug.
+
+ This commit fixes a serious bug.
+
+ FIXME:
+ - add a test case
+ - track down the bug
+ - actually fix it
+
+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 true
+% guilt refresh
+Patch empty.patch refreshed
+% guilt pop
+All patches popped.
+% guilt push
+Applying patch..empty.patch
+Patch applied.
+% list_files
+d .git/patches
+d .git/patches/master
+d .git/refs/patches
+d .git/refs/patches/master
+f 0803c721968056410df61400bb239380d033b9d5 .git/patches/master/empty.patch
+f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
+f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
+f 7ad87a0bdb8cf0a57cfc384633edabbb9c2bfa1b .git/patches/master/empty.patch~
+f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
+f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
+f d15a1d2d34493f790c78ddacb8815b0b9536ee2b .git/patches/master/series
+f e90b964f01cbef60bbe00c38c55d9ea86618a66a .git/patches/master/status
+r 8ed27228b117c0c88abf3d586bcc43c68e975cea .git/refs/patches/master/empty.patch
+% git log -p
+commit 8ed27228b117c0c88abf3d586bcc43c68e975cea
+Author: Per Cederqvist <ceder@lysator.liu.se>
+Date: Mon Jan 1 00:00:00 2007 +0000
+
+ Fix a bug.
+
+ This commit fixes a serious bug.
+
+ FIXME:
+ - add a test case
+ - track down the bug
+ - actually fix it
+
+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
+% guilt refresh
+Patch empty.patch refreshed
+% guilt pop
+All patches popped.
+% guilt push
+Applying patch..empty.patch
+Patch applied.
+% list_files
+d .git/patches
+d .git/patches/master
+d .git/refs/patches
+d .git/refs/patches/master
+f 0803c721968056410df61400bb239380d033b9d5 .git/patches/master/empty.patch~
+f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
+f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
+f 7ad87a0bdb8cf0a57cfc384633edabbb9c2bfa1b .git/patches/master/empty.patch
+f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
+f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
+f d15a1d2d34493f790c78ddacb8815b0b9536ee2b .git/patches/master/series
+f e90b964f01cbef60bbe00c38c55d9ea86618a66a .git/patches/master/status
+r 8ed27228b117c0c88abf3d586bcc43c68e975cea .git/refs/patches/master/empty.patch
+% git log -p
+commit 8ed27228b117c0c88abf3d586bcc43c68e975cea
+Author: Per Cederqvist <ceder@lysator.liu.se>
+Date: Mon Jan 1 00:00:00 2007 +0000
+
+ Fix a bug.
+
+ This commit fixes a serious bug.
+
+ FIXME:
+ - add a test case
+ - track down the bug
+ - actually fix it
+
+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
+% guilt delete empty.patch
+Cannot delete an applied patch
+% guilt pop -a
+All patches popped.
+% guilt delete -f empty.patch
+% list_files
+d .git/patches
+d .git/patches/master
+d .git/refs/patches
+d .git/refs/patches/master
+f 0803c721968056410df61400bb239380d033b9d5 .git/patches/master/empty.patch~
+f 22930c6d1f1938f298a4fca51c57e4b47171db21 .git/patches/master/mode
+f 413390f3906f16f30b054a4fb86c1e014b964504 .git/patches/master/remove
+f 9c18cc7abe6b87f18503714a80a677b4094eb457 .git/patches/master/add
+f bacb4aad8a55fe4e7aa58a9ae169990bb764069f .git/patches/master/series
+f bc9ab2e0f5db99d483961e956e814d963f0309f8 .git/patches/master/modify
+f da39a3ee5e6b4b0d3255bfef95601890afd80709 .git/patches/master/status
+% git log -p
+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
diff --git a/regression/t-020.sh b/regression/t-020.sh
index cdd08ba..c165884 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
+Fix a bug.
+
+From: Per Cederqvist <ceder@lysator.liu.se>
+
+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
next prev parent reply other threads:[~2014-05-18 22:05 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-18 21:59 [GUILT v4 00/33] Teach guilt import-commit how to create legal patch names, and more Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 01/33] The tests should not fail if guilt.diffstat is set Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 02/33] Allow "guilt delete -f" to run from a dir which contains spaces Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 03/33] Added test case for "guilt delete -f" Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 04/33] Allow "guilt import-commit" to run from a dir which contains spaces Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 05/33] "guilt new": Accept more than 4 arguments Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 06/33] Fix the do_get_patch function Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 07/33] Added test cases for "guilt fold" Per Cederqvist
2014-05-18 21:59 ` Per Cederqvist [this message]
2014-05-18 21:59 ` [GUILT v4 09/33] Test suite: properly check the exit status of commands Per Cederqvist
2015-01-22 14:27 ` Jeff Sipek
2014-05-18 21:59 ` [GUILT v4 10/33] Run test_failed if the exit status of a test script is bad Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 11/33] test suite: remove pointless redirection Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 12/33] "guilt header": more robust header selection Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 13/33] Check that "guilt header '.*'" fails Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 14/33] Use "git check-ref-format" to validate patch names Per Cederqvist
2015-01-22 14:18 ` Jeff Sipek
2014-05-18 21:59 ` [GUILT v4 15/33] Produce legal patch names in guilt-import-commit Per Cederqvist
2015-01-22 14:15 ` Jeff Sipek
2015-01-22 15:50 ` Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 16/33] Fix backslash handling when creating names of imported patches Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 17/33] "guilt graph" no longer loops when no patches are applied Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 18/33] guilt-graph: Handle commas in branch names Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 19/33] Check that "guilt graph" works when working on a branch with a comma Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 20/33] "guilt graph": Handle patch names containing quotes Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 21/33] The log.decorate setting should not influence import-commit Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 22/33] The log.decorate setting should not influence patchbomb Per Cederqvist
2014-05-18 21:59 ` [GUILT v4 23/33] The log.decorate setting should not influence guilt rebase Per Cederqvist
2014-05-18 22:00 ` [GUILT v4 24/33] disp no longer processes backslashes Per Cederqvist
2014-05-18 22:00 ` [GUILT v4 25/33] "guilt push" now fails when there are no more patches to push Per Cederqvist
2014-05-18 22:00 ` [GUILT v4 26/33] "guilt pop" now fails when there are no more patches to pop Per Cederqvist
2014-05-18 22:00 ` [GUILT v4 27/33] Minor testsuite fix Per Cederqvist
2014-05-18 22:00 ` [GUILT v4 28/33] Fix coding style errors in t-061.sh Per Cederqvist
2014-05-18 22:00 ` [GUILT v4 29/33] Added guilt.reusebranch configuration option Per Cederqvist
2014-05-18 22:00 ` [GUILT v4 30/33] Added a short style guide, and Emacs settings Per Cederqvist
2014-05-18 22:00 ` [GUILT v4 31/33] Don't use "git log -p" in the test suite Per Cederqvist
2014-05-18 22:00 ` [GUILT v4 32/33] Improved doc and tests for guilt header Per Cederqvist
2015-01-22 13:56 ` Jeff Sipek
2014-05-18 22:00 ` [GUILT v4 33/33] Document the exit status of guilt push and guilt pop Per Cederqvist
2015-01-22 14:31 ` Jeff Sipek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1400450409-30998-9-git-send-email-cederp@opera.com \
--to=cederp@opera.com \
--cc=git@vger.kernel.org \
--cc=jeffpc@josefsipek.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).