[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnu-arch-users] [BUG] FEATURE PLANS: summary revlibs
From: |
Tom Lord |
Subject: |
[Gnu-arch-users] [BUG] FEATURE PLANS: summary revlibs |
Date: |
Fri, 28 May 2004 17:17:49 -0700 (PDT) |
We currently have --greedy and --sparse revlibs.
"greedy" should not be a boolean ("greedy or not greedy")
but should be part of a set of options including at least:
passive (== the current not greedy)
greedy (== the current greedy)
summary (new)
In a summary library, if REV has a patch log entry that
contains the header
Summary-basis: REV
(naming itself as a basis), then it is a _permanent_addition_ to the
revlib. It will be greedily added and can only be deleted by hand
(using `library-remove').
If a revision in a summary revlib is not permanent, it's sliding.
When a new sliding revision is needed in a library, the
already-present nearest neighbor revisions are checked. Either of
them that is not permanent and that can be locked and that has an
identical "Summary-basis:" can be removed from the library and
converted into the newly desired revision.
Suppose that know sliding revision exists which can be turned into our
desired revision. In that case,
0) If the basis revision exists in the library, link to that
and build by applying at most two changesets.
1) Otherwise, if the library is --sparse, recursively try to
build the BASIS revision as a temp directory and
patch against that.
2) Otherwise, (missing basis, not --sparse), recursively
add the basis to the library and goto step 0.
(Note that the intention here is to encourage people to make a summary
revlib for summary versions.)
-t
- [Gnu-arch-users] [BUG] FEATURE PLANS: summary revlibs,
Tom Lord <=