Issue #2411 resolved

Using Synchronize\Target Checkbox: Can't push a single head, when multiple heads on same branch.

martind2112
created an issue

TortoiseHg version 2.6 with Mercurial-2.4+6-35ba170c0f82, Python-2.7.3, PyQt-4.9.1, Qt-4.8.0

Release Notes for 2.7 don't mention a fix, and I didn't find a duplicate in existing issues.

I have two heads on the 'default' branch.

When I try to push, with the Target checkbox checked and specifying revision '11' (one of the head revisions), TortoiseHg issues the following Mercurial command, which fails.

% hg --repository E:\Hg\CurveEditor~default push --branch . --rev 11 https://www.myurl.xyz/Hg/CurveEditor~default pushing to https://www.myurl.xyz/Hg/CurveEditor~default searching for changes abort: push creates new remote head aa4ef56dc847! hint: did you forget to merge? use push -f to force [command returned code 255 Thu Feb 07 00:37:57 2013]

If I issue the command manually, by removing the "--branch ." switch, the push works as expected.

CurveEditor~default% hg --repository E:\Hg\CurveEditor~default push --rev 11 https://www.myurl.xyz/Hg/CurveEditor~default % hg --cwd E:\Hg\CurveEditor~default --repository E:/Hg/CurveEditor~default push --rev 11 https://www.myurl.xyz/Hg/CurveEditor~default pushing to https://www.myurl.xyz/Hg/CurveEditor~default searching for changes remote: adding changesets remote: adding manifests remote: adding file changes remote: added 1 changesets with 1 changes to 1 files remote: notify: sending 1 subscribers 1 changes [command completed successfully Thu Feb 07 00:39:18 2013]

Another work-around is to set the undesired revision's phase to 'secret'.

REPLIES: 20130208 0722UTC: Sorry, I can't seem to find how to comment on the issue. Yes, I have defaultpush = branch

Comments (6)

  1. Steve Borho

    apparently --branch . and --rev are now conflicting arguments. probably a regression in Mercurial; but if you are selecting a revision target thg should not be adding a --branch argument.

  2. Log in to comment