<div dir="ltr"><div dir="ltr">.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 26, 2019 at 8:29 PM Pierre-Yves David <<a href="mailto:pierre-yves.david@ens-lyon.org">pierre-yves.david@ens-lyon.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
On 4/19/19 9:49 AM, khanchi97 (Sushil khanchi) wrote:<br>
> khanchi97 created this revision.<br>
> Herald added a subscriber: mercurial-devel.<br>
> Herald added a reviewer: hg-reviewers.<br>
> <br>
> REVISION SUMMARY<br>
>    This patch make sure that we abort if the user is trying to<br>
>    close a branch from a cset which is not a branch head.<br>
>    Changes in test file reflect the fixed behaviour.<br>
<br>
Is there a way to override this ? There can be situation where the <br>
changeset is not a local head but could be a remote head.<br></blockquote>By closing remote head, you mean first close that locally (where it is not a head) and push that to a remote (where it is a head)?</div><div class="gmail_quote"><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> <br>
> REPOSITORY<br>
>    rHG Mercurial<br>
> <br>
> REVISION DETAIL<br>
>    <a href="https://phab.mercurial-scm.org/D6282" rel="noreferrer" target="_blank">https://phab.mercurial-scm.org/D6282</a><br>
> <br>
> AFFECTED FILES<br>
>    mercurial/commands.py<br>
>    tests/test-branches.t<br>
> <br>
> CHANGE DETAILS<br>
> <br>
> diff --git a/tests/test-branches.t b/tests/test-branches.t<br>
> --- a/tests/test-branches.t<br>
> +++ b/tests/test-branches.t<br>
> @@ -956,19 +956,16 @@<br>
>   <br>
>   trying to close branch from a cset which is not a branch head<br>
>   it should abort:<br>
> -XXX: it should have aborted here<br>
>     $ hg ci -m "closing branch" --close-branch<br>
> -  created new head<br>
> +  abort: can only close branch heads<br>
> +  [255]<br>
>   <br>
>     $ hg up 0<br>
>     0 files updated, 0 files merged, 1 files removed, 0 files unresolved<br>
>     $ hg log -GT "{rev}: {node|short} {desc|firstline}\n\t{branch}\n\n"<br>
> -  _  3: 006876ddd20e closing branch<br>
> +  o  2: 155349b645be added c<br>
>     |         default<br>
>     |<br>
> -  | o  2: 155349b645be added c<br>
> -  |/         default<br>
> -  |<br>
>     o  1: 5f6d8a4bf34a added b<br>
>     |         default<br>
>     |<br>
> diff --git a/mercurial/commands.py b/mercurial/commands.py<br>
> --- a/mercurial/commands.py<br>
> +++ b/mercurial/commands.py<br>
> @@ -1675,6 +1675,8 @@<br>
>   <br>
>           if not bheads:<br>
>               raise error.Abort(_('can only close branch heads'))<br>
> +        elif branch == repo['.'].branch() and repo['.'].node() not in bheads:<br>
> +            raise error.Abort(_('can only close branch heads'))<br>
>           elif opts.get('amend'):<br>
>               if (repo['.'].p1().branch() != branch and<br>
>                   repo['.'].p2().branch() != branch):<br>
> <br>
> <br>
> <br>
> To: khanchi97, #hg-reviewers<br>
> Cc: mercurial-devel<br>
> _______________________________________________<br>
> Mercurial-devel mailing list<br>
> <a href="mailto:Mercurial-devel@mercurial-scm.org" target="_blank">Mercurial-devel@mercurial-scm.org</a><br>
> <a href="https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel" rel="noreferrer" target="_blank">https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel</a><br>
> <br>
<br>
-- <br>
Pierre-Yves David<br>
_______________________________________________<br>
Mercurial-devel mailing list<br>
<a href="mailto:Mercurial-devel@mercurial-scm.org" target="_blank">Mercurial-devel@mercurial-scm.org</a><br>
<a href="https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel" rel="noreferrer" target="_blank">https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel</a><br>
</blockquote></div></div>