{"thread":{"id":"27201","subject":"Difference between --date-order and reverse chronological order?","startedAt":"2011-04-27T15:15:06Z","lastAt":"2011-04-27T19:39:50Z","messageCount":3,"participants":["Dun Peal","Junio C Hamano","Johannes Sixt"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"166522","messageId":"12e0244a-313e-4d67-9b91-c0d443276cff@k7g2000yqj.googlegroups.com","threadId":"27201","inReplyTo":null,"subject":"Difference between --date-order and reverse chronological order?","fromName":"Dun Peal","fromEmail":"dunpealer@gmail.com","sentAt":"2011-04-27T15:15:06Z","receivedAt":"2011-04-27T15:15:06Z","isPatch":false,"sender":{"key":"dunpealer@gmail.com","avatar":"https://gravatar.com/avatar/42f3e6a1166eb44e33f24c20ccbe809fa8591413f366dfe3755c8a8d4935ace9?d=mp&s=160"},"body":"Hi.\n\nThe git-log manpage defines --date-order:\n\n\"This option is similar to --topo-order in the sense that no parent\ncomes before all of its children, but otherwise things are still\nordered in the commit timestamp order.\"\n\nBut by Git's definition, for a child commit to be created, its parent\nmust already exist. So even in reverse chronological order, all\nparents should come after all their children, no?\n\nThanks, D.\n"},{"id":"166536","messageId":"7v7haf8ulj.fsf@alter.siamese.dyndns.org","threadId":"27201","inReplyTo":"12e0244a-313e-4d67-9b91-c0d443276cff@k7g2000yqj.googlegroups.com","subject":"Re: Difference between --date-order and reverse chronological order?","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-04-27T17:36:24Z","receivedAt":"2011-04-27T17:36:24Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Dun Peal <dunpealer@gmail.com> writes:\n\n> But by Git's definition, for a child commit to be created, its parent\n> must already exist. So even in reverse chronological order, all\n> parents should come after all their children, no?\n\nI think \"distributed\" and \"your clock may be skewed\" would solve that\npuzzlement ;-)\n"},{"id":"166547","messageId":"4DB87106.9030209@kdbg.org","threadId":"27201","inReplyTo":"7v7haf8ulj.fsf@alter.siamese.dyndns.org","subject":"Re: Difference between --date-order and reverse chronological order?","fromName":"Johannes Sixt","fromEmail":"j6t@kdbg.org","sentAt":"2011-04-27T19:39:50Z","receivedAt":"2011-04-27T19:39:50Z","isPatch":false,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 27.04.2011 19:36, schrieb Junio C Hamano:\n> Dun Peal <dunpealer@gmail.com> writes:\n> \n>> But by Git's definition, for a child commit to be created, its parent\n>> must already exist. So even in reverse chronological order, all\n>> parents should come after all their children, no?\n> \n> I think \"distributed\" and \"your clock may be skewed\" would solve that\n> puzzlement ;-)\n\nAre you saying that given this history:\n\n      E----D\n    /     /\n   A--B--C\n\n* we can get D-C-B-E-A or D-E-C-B-A with --topo-order\n\n* we can get the above plus D-C-E-B-A with --date-order\n\n* and with neither --topo-order nor --date-order we can also get\nD-E-A-C-B or D-C-B-A-E if there was sufficient clock skew when the\ncommits were created. How would such a clock skew have looked like?\n\n-- Hannes\n"}]}