[darcs-users] cheap in-repo local branches (just needs implementation)

Grant Husbands darcsusers at grant.x43.net
Thu Jul 23 08:33:08 UTC 2009

Max Battcher <me at worldmaker.net> wrote:
> You're right, I'm sorry; I had pre-lunch brain-fart... Darcs 1 could
> determine patch names from just a context (because the file name used to be
> the date+hash of the name)

Indeed, the same error on my part made my first two numbered points in
my initial email in this thread invalid. Must be an easy mistake to
make. ;-)

> Certainly one possible solution here would be to simply carry over the Hash:
> lines from the darcs-2 inventory format as (optional) hints for file paths
> in context files.

Indeed, this would work, as long as Darcs would also then check the
local repo for parent-inventories and patches corresponding to a
context-with-hashes that it is given. It's something that could be
done, but is an odd and unintuitive behaviour, which is the kind of
thing I'm arguing to avoid.

My proposal in my response to Eric Lippert I do believe would be a
stronger way forward; do you disagree with it? As it stands, Darcs
knows how to access a whole repo by jumping to
./_darcs/hashed_inventory, given a repo location, and considers that
the root of its file knowledge. It shouldn't take much to alter it to
(perhaps) take a repo location as myrepolocation/@branchB, look up the
root inventory filename in _darcs/branch_inventories and otherwise
continue as it did. It would eliminate the parts of the original
proposal that I believe to be the least maintainable.

All significant management of the branch_inventories file would still
need writing, as in the original proposal, but that subset of the code
(be it inside or outside of Darcs itself) would be quite simple, and
in one fell swoop, with little code added, Darcs would be able to
handle branches across all of its commands (and variants of such),
which is something the original proposal can't provide.

If you agree, I'll expand the proposal to include the all-in-one
repo+branch identifier and post it both in this thread and as an
update to the bug tracker entry.


More information about the darcs-users mailing list