git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[GUILT v2 19/29] Check that "guilt graph" works when working on a branch with a comma.

From
Per Cederqvist <cederp@opera.com>
Date
May 13, 2014, 20:30 UTC
Message-ID
<1400013065-27919-20-git-send-email-cederp@opera.com>
In-Reply-To
<1400013065-27919-1-git-send-email-cederp@opera.com>

git branch names can contain commas. Check that "guilt graph" works even in that case.

Signed-off-by: Per Cederqvist <cederp@opera.com>
---
 regression/t-033.out | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 regression/t-033.sh  | 39 +++++++++++++++++++++++++++++++
 2 files changed, 104 insertions(+)
diff --git a/regression/t-033.out b/regression/t-033.out
index 76613f9..3d1c61f 100644
--- a/regression/t-033.out
+++ b/regression/t-033.out
@@ -1,3 +1,68 @@
 % setup_repo
 % guilt graph
 No patch applied.
+%% Testing branch a,graph
+% git checkout -b a,graph master
+Switched to a new branch 'a,graph'
+% guilt init
+% guilt new a.patch
+% guilt pop
+All patches popped.
+% guilt push
+Applying patch..a.patch
+Patch applied.
+% guilt graph
+digraph G {
+# checking rev 95275d7c05c6a6176d3941374115b91272877f6c
+	"95275d7c05c6a6176d3941374115b91272877f6c" [label="a.patch"]
+}
+% git add file.txt
+% guilt refresh
+Patch a.patch refreshed
+% guilt pop
+All patches popped.
+% guilt push
+Applying patch..a.patch
+Patch applied.
+% guilt graph
+digraph G {
+# checking rev ff2775f8d1dc753f635830adcc3a067e0b681e2d
+	"ff2775f8d1dc753f635830adcc3a067e0b681e2d" [label="a.patch"]
+}
+%% Adding an unrelated file in a new patch. No deps.
+% guilt new b.patch
+% git add file2.txt
+% guilt refresh
+Patch b.patch refreshed
+% guilt pop
+Now at a.patch.
+% guilt push
+Applying patch..b.patch
+Patch applied.
+% guilt graph
+digraph G {
+# checking rev c7014443c33d2b0237293687ceb9cbd38313df65
+	"c7014443c33d2b0237293687ceb9cbd38313df65" [label="b.patch"]
+# checking rev ff2775f8d1dc753f635830adcc3a067e0b681e2d
+	"ff2775f8d1dc753f635830adcc3a067e0b681e2d" [label="a.patch"]
+}
+%% Changing a file already changed in the first patch adds a dependency.
+% guilt new c.patch
+% git add file.txt
+% guilt refresh
+Patch c.patch refreshed
+% guilt pop
+Now at b.patch.
+% guilt push
+Applying patch..c.patch
+Patch applied.
+% guilt graph
+digraph G {
+# checking rev 891bc14b5603474c9743fd04f3da888644413dc5
+	"891bc14b5603474c9743fd04f3da888644413dc5" [label="c.patch"]
+# checking rev c7014443c33d2b0237293687ceb9cbd38313df65
+	"c7014443c33d2b0237293687ceb9cbd38313df65" [label="b.patch"]
+# checking rev ff2775f8d1dc753f635830adcc3a067e0b681e2d
+	"ff2775f8d1dc753f635830adcc3a067e0b681e2d" [label="a.patch"]
+	"891bc14b5603474c9743fd04f3da888644413dc5" -> "ff2775f8d1dc753f635830adcc3a067e0b681e2d"; // ?
+}
diff --git a/regression/t-033.sh b/regression/t-033.sh
index a3a8981..fac081e 100755
--- a/regression/t-033.sh
+++ b/regression/t-033.sh
@@ -3,6 +3,13 @@
 # Test the graph code
 #
 
+function fixup_time_info
+{
+	cmd guilt pop
+	touch -a -m -t "$TOUCH_DATE" ".git/patches/a,graph/$1"
+	cmd guilt push
+}
+
 source "$REG_DIR/scaffold"
 
 cmd setup_repo
@@ -11,3 +18,35 @@ cmd setup_repo
 # message when no patches are applied.  (An older version of guilt
 # used to enter an endless loop in this situation.)
 shouldfail guilt graph
+
+echo "%% Testing branch a,graph"
+cmd git checkout -b a,graph master
+
+cmd guilt init
+
+cmd guilt new a.patch
+
+fixup_time_info a.patch
+cmd guilt graph
+
+cmd echo a >> file.txt
+cmd git add file.txt
+cmd guilt refresh
+fixup_time_info a.patch
+cmd guilt graph
+
+echo "%% Adding an unrelated file in a new patch. No deps."
+cmd guilt new b.patch
+cmd echo b >> file2.txt
+cmd git add file2.txt
+cmd guilt refresh
+fixup_time_info b.patch
+cmd guilt graph
+
+echo "%% Changing a file already changed in the first patch adds a dependency."
+cmd guilt new c.patch
+cmd echo c >> file.txt
+cmd git add file.txt
+cmd guilt refresh
+fixup_time_info c.patch
+cmd guilt graph
-- 
1.8.3.1
Previous: Per CederqvistNext: Jeff Sipek
Message 38 of 63 in “[GUILT v2 00/29] Teach guilt import-commit how to create legal patch names, and more”
  1. Per CederqvistMay 13, 2014
  2. 01/29 The tests should not fail if guilt.diffstat is set.Per Cederqvist, May 13, 2014
  3. 02/29 Allow "guilt delete -f" to run from a dir which contains spaces.Per Cederqvist, May 13, 2014
  4. 03/29 Added test case for "guilt delete -f".Per Cederqvist, May 13, 2014
  5. 04/29 Allow "guilt import-commit" to run from a dir which contains spaces.Per Cederqvist, May 13, 2014
  6. Jeff SipekMay 13, 2014
  7. 05/29 "guilt new": Accept more than 4 arguments.Per Cederqvist, May 13, 2014
  8. 06/29 Fix the do_get_patch function.Per Cederqvist, May 13, 2014
  9. Jeff SipekMay 13, 2014
  10. Per CederqvistMay 14, 2014
  11. 07/29 Added test cases for "guilt fold".Per Cederqvist, May 13, 2014
  12. Jeff SipekMay 13, 2014
  13. Per CederqvistMay 14, 2014
  14. 08/29 Added more test cases for "guilt new": empty patches.Per Cederqvist, May 13, 2014
  15. Jeff SipekMay 14, 2014
  16. Per CederqvistMay 14, 2014
  17. 09/29 Test suite: properly check the exit status of commands.Per Cederqvist, May 13, 2014
  18. 10/29 Run test_failed if the exit status of a test script is bad.Per Cederqvist, May 13, 2014
  19. Jeff SipekMay 13, 2014
  20. 11/29 test suite: remove pointless redirection.Per Cederqvist, May 13, 2014
  21. 12/29 "guilt header": more robust header selection.Per Cederqvist, May 13, 2014
  22. Jeff SipekMay 15, 2014
  23. Per CederqvistMay 16, 2014
  24. Jeff SipekMay 16, 2014
  25. 13/29 Check that "guilt header '.*'" fails.Per Cederqvist, May 13, 2014
  26. Jeff SipekMay 15, 2014
  27. 14/29 Use "git check-ref-format" to validate patch names.Per Cederqvist, May 13, 2014
  28. Jeff SipekMay 15, 2014
  29. 15/29 Produce legal patch names in guilt-import-commit.Per Cederqvist, May 13, 2014
  30. Jeff SipekMay 15, 2014
  31. 16/29 Fix backslash handling when creating names of imported patches.Per Cederqvist, May 13, 2014
  32. Jeff SipekMay 13, 2014
  33. Per CederqvistMay 14, 2014
  34. Jeff SipekMay 14, 2014
  35. 17/29 "guilt graph" no longer loops when no patches are applied.Per Cederqvist, May 13, 2014
  36. Jeff SipekMay 13, 2014
  37. 18/29 guilt-graph: Handle commas in branch names.Per Cederqvist, May 13, 2014
  38. 19/29 Check that "guilt graph" works when working on a branch with a comma.Per Cederqvist, May 13, 2014
  39. Jeff SipekMay 13, 2014
  40. 20/29 "guilt graph": Handle patch names containing quotes.Per Cederqvist, May 13, 2014
  41. Jeff SipekMay 13, 2014
  42. 21/29 The log.decorate setting should not influence import-commit.Per Cederqvist, May 13, 2014
  43. 22/29 The log.decorate setting should not influence patchbomb.Per Cederqvist, May 13, 2014
  44. 23/29 The log.decorate setting should not influence guilt rebase.Per Cederqvist, May 13, 2014
  45. 24/29 disp no longer processes backslashes.Per Cederqvist, May 13, 2014
  46. Jeff SipekMay 13, 2014
  47. 25/29 "guilt push" now fails when there are no more patches to push.Per Cederqvist, May 13, 2014
  48. Jeff SipekMay 13, 2014
  49. Per CederqvistMay 14, 2014
  50. Jeff SipekMay 14, 2014
  51. 26/29 "guilt pop" now fails when there are no more patches to pop.Per Cederqvist, May 13, 2014
  52. Jeff SipekMay 13, 2014
  53. 27/29 Minor testsuite fix.Per Cederqvist, May 13, 2014
  54. 28/29 Added guilt.reusebranch configuration option.Per Cederqvist, May 13, 2014
  55. Jeff SipekMay 14, 2014
  56. Per CederqvistMay 15, 2014
  57. Jeff SipekMay 15, 2014
  58. 29/29 Added a short style guide, and Emacs settings.Per Cederqvist, May 13, 2014
  59. Jeff SipekMay 13, 2014
  60. Theodore Ts'oMay 13, 2014
  61. Jeff SipekMay 13, 2014
  62. Per CederqvistMay 13, 2014
  63. Per CederqvistMay 14, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.