Re: New branch name with no other changes
Hendrik Boom <[email protected]>
| Newsgroups | gmane.comp.version-control.monotone.devel |
|---|---|
| Message-ID | <[email protected]> |
On Fri, Jun 10, 2011 at 07:03:55AM -0700, Stephen Leake wrote: > Quoting Hendrik Boom <[email protected]>: > >> On Thu, Jun 09, 2011 at 02:14:16PM -0400, Hendrik Boom wrote, >> >> but forgot to mention he was using mtn 1.0: >> >>> I checked out a new workspace, and I want to check it in again unchenged >>> with a new branch name -- the one I want to use to make changes. I'd >>> like to make it clear that the new branch is starting in the same state >>> as the current head in the old one. > > I use this: > > function gds_create_mission(mission, from_branch, new_branch) > local from_project, new_project, result, output, rev > > from_project = mission .. "." .. from_branch > new_project = mission .. "." .. new_branch > > io.write("checking ...\n") > result, output = mtn_automate("branches") > if not result then > error(string.format("Error from 'mtn_automate branches %s'", output)) > end > > if string.find (output, new_project) then > error(string.format("%s branch already declared", new_project)) > end > > result, output = mtn_automate("heads", from_project) > if not result then > error(string.format("Error from 'mtn_automate heads %s'", from_project)) > end > > -- A single head gives an output with a single 40 byte rev id, plus > newline. > if #output > 41 then > error(string.format("%s has multiple heads; need merge", from_project)) > end > > io.write(string.format("creating %s from %s\n", new_project, from_project)) > result, output = mtn_automate("select", "h:" .. from_project) > if not result then > error(string.format("Error from 'mtn_automate select %s'", "h:" .. > from_project)) > end > rev = string.sub(output, 1, 40) > result, output = mtn_automate("cert", rev, "branch", new_project) > if not result then > error(string.format("Error from 'mtn_automate cert %s branch %s : > %s'", rev, new_project, output)) > end > end > > register_command("gds_create_mission", "mission from_branch new_branch", > "create mtn branch for a GDS mission", > "Create mtn branch derived from FROM_BRANCH, in MISSION.", > "gds_create_mission") > > The key command is "automate cert"; just add the new branch cert to the > existing revision. > > There have been discussions before about making something like this part > of mtn, but nothing has been agreed on. Actually, the approve command worked fine, though it took a few moments to determine the right revision ID. Maybe approving the revision in the current workspace should be an option on that command? I wouldn't want it to be the default: too easy to approve the wrong thing by accident. But to me, the obvious thing was to commit with an explicit branch option. Which didn't work. --- hendrik