From: Jon Seymour Date: Mon, 15 Feb 2010 14:20:12 GMT Subject: Re: Walking commits from the first Message-ID: <2cfc40321002150620i7e290c10pfc978ec9754a914a@mail.gmail.com> In-Reply-To: <2cfc40321002150605l4de9d970t919ee56d7a3d697e@mail.gmail.com> On Tue, Feb 16, 2010 at 1:05 AM, Jon Seymour wrote: > On Mon, Feb 15, 2010 at 10:33 PM, Pavan Kumar Sunkara > > The history is useful for understanding how something came to be - > commits followed backwards down one merge branch will tend to have > some semantic relationship to each other unless your committers are on > acid. Trying to comprehend the evolution of history by replaying it > forwards and keeping track of n parallel threads of development as > they diverge seems like an unnecessarily complicated way of trying to > comprehend the world. > That said, of course, git once had an option to rev-list that I contributed (--merge-order) that attempted to create the best possible linear history by performing a topological sort that minimised the number of "jumps" between semantically unrelated commits in the linear order. The algorithm was kind of cool (based as it was on a conservation of mass analogy), but it eventually got stripped out for various eminently understandable reasons (like no-one was using it, I wasn't maintaining it and it was the only remaining use of a dependency on the open-ssl infinite precision integer arithmetic libraries that complicated the build). git rev-list --topo-order will do a topological sort that guarantees that you never visit a commit before visiting all its ancestors. > jon. > >> -- >> To unsubscribe from this list: send the line "unsubscribe git" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at  http://vger.kernel.org/majordomo-info.html >> >