|
From: | Derek Scherger |
Subject: | Re: [Monotone-devel] Ideas and questions. |
Date: | Wed, 16 Feb 2005 20:35:22 -0700 |
User-agent: | Mozilla Thunderbird 1.0 (X11/20041231) |
Joel Rosdahl wrote:
Have you considered taking this machinery a bit further, to enable branch renaming? What I'm thinking (and it's probably not a novel idea) is that maybe branch certs could store epochs instead of branch names? Then some commands could be added for managing a mapping between branch epochs and names. Would this be possible? If so, what are the arguments against?
I had this thought today as well, and it really does seem like it might be a good idea.
Some way of syncing branch rename operations would be needed though so that if two databases have disagreeing names with the same hash (i.e. branch fred with hash 1234 verses branch barney with hash 1234) there's some way for netsync to resolve this.
Perhaps this could be as easy as requiring the local database branch name to always agree with the remote database branch name from the point of view of the client. So if I'm trying to push fred to joel's server and he has it as barney then I would have to rename fred to barney before this would be possible.
Similarly as for epochs, if two names disagree on the branch hash, one of them (again as I understand the epoch idea the local branch) must be updated so that its hash matches the remote one before a sync is possible.
This seems like it should work and would make renaming branches at least possible.
Cheers, Derek
[Prev in Thread] | Current Thread | [Next in Thread] |