Re: t5505-remote fails on Windows
- From
Jeff King <peff@peff.net>
- Date
- Mar 19, 2009, 04:18 UTC
- Message-ID
- <20090319041837.GA32642@coredump.intra.peff.net>
- In-Reply-To
- <49C0DE23.8020809@viscovery.net>
On Wed, Mar 18, 2009 at 12:42:27PM +0100, Johannes Sixt wrote:
Show 20 quoted lines
> --- expect Wed Mar 18 11:22:53 2009 > +++ output Wed Mar 18 11:22:54 2009 > @@ -12,8 +12,8 @@ > and with remote topic-c > rebase rebases onto remote master > Local refs configured for 'git push': > - master pushes to master (local out of date) > master pushes to upstream (create) > + master pushes to master (local out of date) > * remote two > URL: ../two > HEAD branch (remote HEAD is ambiguous, may be one of the following): > * FAIL 8: show > > > As you can see, the entries for "master pushes to..." are reversed. It > seems that this output is not stable. Before I delve into this, do you > know whether there is some data structure involved that does not guarantee > the order? Such as a hash table, a opendir/readdir sequence, or perhaps > while reading the config file?
That is quite curious, because it is sorted immediately before printing:
$ sed -n 1034,1040p builtin-remote.c
for_each_string_list(add_push_to_show_info, &states.push, &info);
sort_string_list(info.list);
if (info.list->nr)
printf(" Local ref%s configured for 'git push'%s:\n",
info.list->nr > 1 ? "s" : "",
no_query ? " (status not queried)" : "");
for_each_string_list(show_push_info_item, info.list, &info);can you step through in a debugger and make sure the sort_string_list is actually sorting?
-Peff