[Nix-dev] Re: Re: DVCS - what we care about?
Yury G. Kudryashov
urkud+nix at ya.ru
Fri Aug 13 18:33:30 CEST 2010
me22 wrote:
> On 13 August 2010 02:44, Yury G. Kudryashov <urkud+nix at ya.ru> wrote:
>>
>> Suppose that you have two branches, "master" and "stdenv". As usual, you
>> merge master->stdenv every day or two and you merge stdenv->master every
>> month or two. Then it is not possible to search for commits that first
>> appeared in stdenv.
>>
Disclaimer: I use git, not mtn. I just try to explain Michael's point.
>
> Who is "you" in this example? It it possible to talk about "the"
> stdenv branch in a DVCS?
In monotone they recommend to choose unique names (like org.nixos.nixpkgs).
And their concept of a branch is quite different. It is just a subgraph in
DAG, i.e. it is possible to have fork->merge inside one branch. Moreover, a
branch can have many heads (and not all parents of a branch head belong to
the branch).
In monotone any vertex of the DAG has one or more "certificates" (name=value
pairs) attached, and one of the cert types is "branch name", hence every
commit carries a "branch name" property. I never used a DVCS system other
than git, so I don't know whether this information is usefull.
> What happens if the commit first appeared in
> the third branch, and was merged into master and stdenv separately,
> which were then merged?
Then this commit will have "third" branch name attached.
>
> I don't know how even as a human I'd decide what came from where in a
> history like this:
>
> a b c
> \ / \ /
> d e
> |\ /|
> f X g
> |/ \|
> h i
> \ /
> j
More information about the nix-dev
mailing list