On Mon, 2006-01-16 at 12:20 -0800, Drakie Awita wrote:
> If I have 3 revisions of A, B, and W in a single branch of
> "prj.release", with history graph of: A->B, A->W
> Then monotone reports that there're two heads, B and W, in the branch
> of "prj.release".
> Let's say revision W is mistakenly checked into the branch of
> "prj.release" and should have had checked into its own branch of
> "prj.working". In order to avoid the merge between B and W, how can I
> rename the branch name of revision W from "prj.release" to
> I've tried "monotone cert <rev-W> branch prj.working"; but it appends
> the branch names, instead of replacing it ("monotone log" shows two
> "Branch:" names), and "monotone heads -b prj.release" still shows two
> heads of both rev-B and rev-W.
> Is there anyway to undo the mistake of checking into a wrong branch?
> Or at least have the "prj.release" branch back to single head (with
> the content of rev-B) without unnecessary merge of rev-B and rev-W?
If you have not synced your database to somewhere else:
monotone db execute "DELETE FROM revision_certs WHERE id = 'W' AND name
monotone cert W branch prj.working
If you have synced your database to somewhere else:
There's not really a good way. The closest is:
"monotone disapprove W -b prj.release"
Merge branch prj.release .
but I think it won't be happy when you eventually do decide to merge a
decendant of W into the release branch.
Monotone-devel mailing list