Thread (3 messages) flat view 3 messages, 2 authors, 2016-06-15

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] order
Note 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,
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help