emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Recording the date at which a change was pushed to Savannah


From: Yuri Khan
Subject: Re: Recording the date at which a change was pushed to Savannah
Date: Wed, 3 Dec 2014 23:19:34 +0700

On Wed, Dec 3, 2014 at 8:18 PM, Stefan Monnier <address@hidden> wrote:

> I think the fundamental thing missing is the "mainline": In Bzr, when
> you look at the DAG of the `trunk', you know which commits are on the
> mainline and which commits were made on a branch and later merged
> onto the mainline.
>
> In Git, you don't know that because you only have the DAG and the
> parents of a merge are "unordered".

Parents are in fact ordered; you can find out each merge’s parents by
addressing them as <rev>^1 for first parent, <rev>^2 etc.

This makes it possible to devise workflows that make it possible to
determine the mainline history. For example, agree that when feature
branches are merged into master, the previous master has to be the
first parent and branches have to be the second and subsequent
parents. Then the mainline is the transitive closure found by starting
at current master and following only the first parents of each commit.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]