On Wed, Mar 18, 2009 at 12:42:27PM +0100, Johannes Sixt wrote: > --- 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html