Re: [bug report] git-am applying maildir patches in reverse
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:56:17
William Giokas [off-list ref] writes:
All,
I've been using git for a while and this is the first time I've had to
use `git am` and I've got a 16 patch patchset that I'm looking to apply.
The files were copied to a separate maildir by mutt to keep things
clean, and then I ran `git am -i /path/to/maildir/` expecting things to
start from the patch with the subject
[PATCH 01/16] refactor common code in query_search/sync_search
But instead, it starts with the 16/16 patch and works backwards, which,
obviously, breaks the application process as the patches depend on each
other. I looked in the maildir directory just to see if the file names
were backwards, and that's not the issue. I talked to `gitster` on IRC
and he said to send in a bug report on this issue here. The patchset I'm
trying to apply can be found here[0].
Process to reproduce:
* find a multi-patch set with interdependent patches
* run `git am` on the maildir containing these patches
Expected result:
* Apply patches in [01..N] order
Actual result:
* Patches applied in [N N-1..01] orderNote to bystanders. This is coming from populate_maildir_list() in builtin/mailsplit.c; the function claims to know what "maildir" should look like, so it should be enforcing the ordering as necessary by sorting the list, _if_ the implicit ordering given by string_list_insert() is insufficient. It also is likely that it is a user error to expect that patch e-mails are received and stored in the maildir in the order they were sent, or it could be "mutt" copying the mails in the order the messages were originally received, or something silly like that.
[0]: https://mailman.archlinux.org/pipermail/pacman-dev/2013-March/016541.html Thank you,