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

[PATCH] git-mailsplit: with maildirs try to process new/ if cur/ is empty

From
Gerrit Pape <pape@smarden.org>
Date
Oct 26, 2007, 14:15 UTC
Message-ID
<20071026141539.29928.qmail@d3691352d65cf2.315fe32.mid.smarden.org>

When saving patches to a maildir with e.g. mutt, the files are put into the new/ subdirectory of the maildir, not cur/. This makes git-am state "Nothing to do.". This patch lets git-mailsplit fallback to new/ if the cur/ subdirectory is empty.

This was reported by Joey Hess through
 http://bugs.debian.org/447396
Signed-off-by: Gerrit Pape <pape@smarden.org>
---
 Documentation/git-am.txt |    3 ++-
 builtin-mailsplit.c      |    5 +++++
 2 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt
index e4a6b3a..49f79f6 100644
--- a/Documentation/git-am.txt
+++ b/Documentation/git-am.txt
@@ -26,7 +26,8 @@ OPTIONS
 <mbox>|<Maildir>...::
 	The list of mailbox files to read patches from. If you do not
 	supply this argument, reads from the standard input. If you supply
-	directories, they'll be treated as Maildirs.
+	directories, they'll be treated as Maildirs, which should contain
+	the patches either in the cur/ subdirectory, or in new/.
 
 -s, --signoff::
 	Add `Signed-off-by:` line to the commit message, using
diff --git a/builtin-mailsplit.c b/builtin-mailsplit.c
index 43fc373..eaf3cbe 100644
--- a/builtin-mailsplit.c
+++ b/builtin-mailsplit.c
@@ -131,6 +131,11 @@ static int split_maildir(const char *maildir, const char *dir,
 	snprintf(curdir, sizeof(curdir), "%s/cur", maildir);
 	if (populate_maildir_list(&list, curdir) < 0)
 		goto out;
+	if (list.nr == 0) {
+		snprintf(curdir, sizeof(curdir), "%s/new", maildir);
+		if (populate_maildir_list(&list, curdir) < 0)
+			goto out;
+	}
 
 	for (i = 0; i < list.nr; i++) {
 		FILE *f;
-- 
1.5.3.4
Next: Fernando J. Pereda
Message 1 of 20 in “git-mailsplit: with maildirs try to process new/ if cur/ is empty”
  1. git-mailsplit: with maildirs try to process new/ if cur/ is emptyGerrit Pape, Oct 26, 2007
  2. Fernando J. PeredaOct 26, 2007
  3. git-mailsplit: with maildirs try to process new/ if cur/ is emptyGerrit Pape, Nov 5, 2007
  4. Jakub NarebskiNov 5, 2007
  5. Jeff KingNov 5, 2007
  6. Alex RiesenNov 5, 2007
  7. Michael CohenNov 6, 2007
  8. Alex RiesenNov 6, 2007
  9. Jeff KingNov 6, 2007
  10. Johannes SchindelinNov 6, 2007
  11. Jeff KingNov 6, 2007
  12. Johannes SchindelinNov 6, 2007
  13. Karl HasselströmNov 6, 2007
  14. Johannes SchindelinNov 6, 2007
  15. Alex RiesenNov 6, 2007
  16. git-mailsplit: with maildirs not only process cur/, but also new/Gerrit Pape, Nov 6, 2007
  17. Junio C HamanoNov 8, 2007
  18. Jeff KingNov 8, 2007
  19. Alex RiesenNov 8, 2007
  20. Fernando J. PeredaNov 8, 2007

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.