Fix git-rev-list "date order" with --topo-order

This fixes git-rev-list so that when there are multiple branches, we still
sort the heads in proper approximate date order even when sorting the
output topologically.

This makes things like

	gitk --all -d

work sanely and show the branches in date order (where "date order" is
obviously modified by the paren-child dependency requirements of the
topological sort).

The trivial fix is to just build the "work" list in date order rather than
inserting the new work entries at the beginning.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
1 file changed
tree: 359343ed6f24dc27f834df0b71902e484cca624b
  1. arm/
  2. compat/
  3. debian/
  4. Documentation/
  5. mozilla-sha1/
  6. ppc/
  7. t/
  8. templates/
  9. .gitignore
  10. apply.c
  11. blob.c
  12. blob.h
  13. cache.h
  14. cat-file.c
  15. check-ref-format.c
  16. checkout-index.c
  17. clone-pack.c
  18. cmd-rename.sh
  19. commit-tree.c
  20. commit.c
  21. commit.h
  22. config.c
  23. connect.c
  24. convert-objects.c
  25. copy.c
  26. COPYING
  27. count-delta.c
  28. count-delta.h
  29. csum-file.c
  30. csum-file.h
  31. ctype.c
  32. daemon.c
  33. date.c
  34. delta.h
  35. diff-delta.c
  36. diff-files.c
  37. diff-index.c
  38. diff-stages.c
  39. diff-tree.c
  40. diff.c
  41. diff.h
  42. diffcore-break.c
  43. diffcore-order.c
  44. diffcore-pathspec.c
  45. diffcore-pickaxe.c
  46. diffcore-rename.c
  47. diffcore.h
  48. entry.c
  49. environment.c
  50. epoch.c
  51. epoch.h
  52. fetch-pack.c
  53. fetch.c
  54. fetch.h
  55. fsck-objects.c
  56. get-tar-commit-id.c
  57. git-add.sh
  58. git-am.sh
  59. git-applymbox.sh
  60. git-applypatch.sh
  61. git-archimport.perl
  62. git-bisect.sh
  63. git-branch.sh
  64. git-checkout.sh
  65. git-cherry.sh
  66. git-clone.sh
  67. git-commit.sh
  68. git-core.spec.in
  69. git-count-objects.sh
  70. git-cvsexportcommit.perl
  71. git-cvsimport.perl
  72. git-diff.sh
  73. git-fetch.sh
  74. git-fmt-merge-msg.perl
  75. git-format-patch.sh
  76. git-grep.sh
  77. git-log.sh
  78. git-lost-found.sh
  79. git-ls-remote.sh
  80. git-merge-octopus.sh
  81. git-merge-one-file.sh
  82. git-merge-ours.sh
  83. git-merge-recursive.py
  84. git-merge-resolve.sh
  85. git-merge-stupid.sh
  86. git-merge.sh
  87. git-mv.perl
  88. git-octopus.sh
  89. git-parse-remote.sh
  90. git-prune.sh
  91. git-pull.sh
  92. git-push.sh
  93. git-rebase.sh
  94. git-relink.perl
  95. git-repack.sh
  96. git-request-pull.sh
  97. git-reset.sh
  98. git-resolve.sh
  99. git-revert.sh
  100. git-send-email.perl
  101. git-sh-setup.sh
  102. git-shortlog.perl
  103. git-status.sh
  104. git-svnimport.perl
  105. git-tag.sh
  106. git-verify-tag.sh
  107. git-whatchanged.sh
  108. git.sh
  109. gitk
  110. gitMergeCommon.py
  111. hash-object.c
  112. http-fetch.c
  113. http-push.c
  114. ident.c
  115. index-pack.c
  116. index.c
  117. init-db.c
  118. INSTALL
  119. local-fetch.c
  120. ls-files.c
  121. ls-tree.c
  122. mailinfo.c
  123. mailsplit.c
  124. Makefile
  125. merge-base.c
  126. merge-index.c
  127. mktag.c
  128. name-rev.c
  129. object.c
  130. object.h
  131. pack-check.c
  132. pack-objects.c
  133. pack-redundant.c
  134. pack.h
  135. patch-delta.c
  136. patch-id.c
  137. path.c
  138. peek-remote.c
  139. pkt-line.c
  140. pkt-line.h
  141. prune-packed.c
  142. quote.c
  143. quote.h
  144. read-cache.c
  145. read-tree.c
  146. README
  147. receive-pack.c
  148. refs.c
  149. refs.h
  150. rev-list.c
  151. rev-parse.c
  152. rsh.c
  153. rsh.h
  154. run-command.c
  155. run-command.h
  156. send-pack.c
  157. server-info.c
  158. setup.c
  159. sha1_file.c
  160. sha1_name.c
  161. shell.c
  162. show-branch.c
  163. show-index.c
  164. ssh-fetch.c
  165. ssh-pull.c
  166. ssh-push.c
  167. ssh-upload.c
  168. strbuf.c
  169. strbuf.h
  170. stripspace.c
  171. symbolic-ref.c
  172. tag.c
  173. tag.h
  174. tar-tree.c
  175. test-date.c
  176. test-delta.c
  177. tree-diff.c
  178. tree.c
  179. tree.h
  180. unpack-file.c
  181. unpack-objects.c
  182. update-index.c
  183. update-ref.c
  184. update-server-info.c
  185. upload-pack.c
  186. usage.c
  187. var.c
  188. verify-pack.c
  189. write-tree.c