On Mon, May 7, 2012 at 2:43 PM, Kelly Dean <kellydeanch@xxxxxxxxx> wrote: > --- On Mon, 5/7/12, Thomas Rast <trast@xxxxxxxxxxxxxxx> wrote: >> What's the difference between the following series of >> commits? >> >> Foo >> Bar >> Revert Bar >> >> and >> >> Foo >> >> You claim that they're the same, because the tree state >> after each is >> the same. But I learned that Bar was broken, and >> recorded it for all to see. > No, I don't claim they're the same. Different commits have different timestamps (and different commit messages, but that's not useful for automatic searching to find which commits are derived from which others). Consider if "Revert Bar" and "Bar" didn't point to their parents; could you still deduce from them that Bar was broken? Yes--on the basis of the commit timestamps (which shows their temporal order) and the contents of the trees which the commits point to (which shows that Revert Bar undoes a change made in Bar). But there could be any number of unrelated commits newer than "Bar" but older than "Revert Bar" on other branches. Even if you could trust the timestamps to be accurate (you can't), you still can't determine a commit's parent unambiguously. -PJ Gehm's Corollary to Clark's Law: Any technology distinguishable from magic is insufficiently advanced. -- 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