lkml.org 
[lkml]   [2003]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: BitBucket: GPL-ed KitBeeper clone
    Date
    On Wed 12 Mar 03 06:44, Horst von Brand wrote:
    > There is no universal "before" and "after", even within one repository;

    Sure there is, e.g., by incrementing master transaction number on the
    repository database.

    > there might be changes that can't be ordered. I.e., changes to files foo
    > and bar are independent, and might have happened in any order for the same
    > result. Same for all non-overlapping changes.

    I think what you're saying is that the repository may be ordered in more than
    one way at the same time. Transaction serial number is just one way.
    Whatever else is recorded in the repository, at least there ought to be a
    serial number on every transaction, a simple unstructured counter. With just
    this serial number you already have a way to roll back the entire repository
    to any point in the past, provided all repository transactions are reversible.

    For dependencies between changes, rather than any fixed ordering, it's better
    to record the actual precedence information, i.e., "a before b", where a and
    b are id numbers of changes (I think everybody agrees changes are first class
    objects). These precedence relations can be determined automatically: if two
    changes do not occur in the same file, there is no certainly no precedence
    relation. If two changes overlap the same text, then there is a precedence
    relation. If two changes do not overlap, there may or may not be a
    precedence relation, depending on whether the changes are exact deltas or
    deltas-with-context, and if the latter, whether the context is unambiguous.

    Once you have the precedence relations, there are all kinds of useful things
    you can do with them.

    Regards,

    Daniel
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:33    [W:0.019 / U:118.760 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site