[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] monotone log order
From: |
Timothy Brownawell |
Subject: |
Re: [Monotone-devel] monotone log order |
Date: |
Sat, 18 Feb 2006 15:39:22 -0600 |
On Sat, 2006-02-18 at 19:00 +0100, Richard Levitte - VMS Whacker wrote:
> In message <address@hidden> on Sat, 18 Feb 2006 01:55:32 -0500, Yury
> Polyanskiy <address@hidden> said:
>
> ypolyans> Hi all!
> ypolyans>
> ypolyans> I just found an interesting case when monotone log order is
> ypolyans> somewhat puzzling.
> ypolyans>
> ypolyans> Ok. Here is my graph. First I created initial revision A and
> ypolyans> worked on the project for a month or so:
> ypolyans>
> ypolyans> A->B->...->R
> ypolyans>
> ypolyans> Now I wanted to import a patch made against original A. So I
> commited
> ypolyans> that patch and merged and have now this:
> ypolyans>
> ypolyans> A->B->...->R->S
> ypolyans> | ^
> ypolyans> \---> A1 -----/
> ypolyans>
> ypolyans> After this I commit one more revision to S and do a
> ypolyans> "monotone log". Here's what I see (note dates).
> ypolyans>
> [... remove log showing the revisions in the order T, S, A1, R, A, Q, ...]
> ypolyans>
> ypolyans> Is it ok that _INITIAL_ revision A got between much newer
> ypolyans> (in dates and DAG) R and Q?
>
> If you look closely, it's obvious what happens, monotone does a
> backward breadth-first traversal of the revision tree. I think it's
> been stated a long time ago that monotone itself doesn't really care
> about the time stamps, it only cares about the relationship between
> revisions and regards time stamps as information for the user. The
> main reason, as I understand it, is that time stamps can't really be
> trusted. The time on any random computer that participates in a
> project may be completely off, and it doesn't really matter. So all
> that's left is a choice on how to traverse the tree by only using the
> form of the DAG.
Perhaps toposort order would be more clear?
> BTW, it's incorrect to say that A got between R and Q in the DAG. The
> log is too linear to visually represent a DAG. A is exactly where it
> should be, at the top of the graph.
But it arguably should not be there, because that puts it before its
descentants.
Tim