monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] Re: Deleting branches


From: Derek Scherger
Subject: Re: [Monotone-devel] Re: Deleting branches
Date: Wed, 01 Sep 2004 17:17:57 -0600
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7) Gecko/20040813

Bruce Stephens wrote:
Peter Simons <address@hidden> writes:

[...]


So I was wondering: Is it very difficult to implement these things
[deleting branches, etc.]? I honestly don't know, so I ask ... but
if it is not, I would recommend doing it _soon_, because I think
these options would really lift the usability of the tool to a new
level.


I don't think it's technically hard.  There's a basic policy problem,
in that configuration management systems tend to be built to avoid
losing data.

It's not hard code wise but the fact that things are distributed poses a bit of a problem. Deleted branches may reappear after syncing with someone who has not (yet?) deleted the branch.

Removing the concept of a collection (as graydon has mused previously) and using branch names (and globs) directly in netsync might help in terms of serving and syncing specific branches.

However, I agree with you that something's needed.  Perhaps a lua hook
that's called when listing branches and similar operations, that can
hide some branches?  Probably augmented by a -all flag to "list

I think the idea of a lua hook like ignore_branch(name) might be a good idea. Although the exact implications of what this might do could be complicated. If all it does is hide them from list branches then it's about a 10 minute job. But branches are used in lots of places and whether such a hook should be consulted in varoius other instances would take some thinking. I suppose once the hook exists it could be applied to other cases as they arise.

Some netsync friendly way to rename a branch might also be good, but this does need to work in a way that your branches get renamed after syncing with me. A table of branch names and associated sha1 id's that are used in branch certs would work but starts to feel like branch names are being versioned.

branches" so that you can see them when you really want to, or maybe
"list all branches" or something.

Perhaps "monotone -norc ls branches" to avoid the ignore_branch hook?

The ignore hook was so easy I went ahead and wrote it. You can get it via netsync from www.echologic.com. Copy the ignore_file hook, rename it to ignore_branch and have fun.

Right away I wonder if netsync should consult this hook... ;)
--
Cheers,
Derek




reply via email to

[Prev in Thread] Current Thread [Next in Thread]