[PATCH stable] discovery: don't report all "unsynced" remote heads (issue4230)
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Thu Apr 24 15:26:31 CDT 2014
On 04/24/2014 07:48 AM, Mads Kiilerich wrote:
> # HG changeset patch
> # User Mads Kiilerich <madski at unity3d.com>
> # Date 1398350842 -7200
> # Thu Apr 24 16:47:22 2014 +0200
> # Branch stable
> # Node ID 6cf15ecc6c4f473a5b0e10741745dea2db2d11a4
> # Parent d36440d843284ba546858b241da9cc4817811fe5
> discovery: don't report all "unsynced" remote heads (issue4230)
>
> 8a9e0b523d2d made discovery more helpful - too helpful for some extreme use
> cases.
>
> Instead, we arbitrarily limit the list it at 4 and add 'or more'.
Thanks for the patches, definitly and improvement on the previous state
>
> diff --git a/mercurial/discovery.py b/mercurial/discovery.py
> --- a/mercurial/discovery.py
> +++ b/mercurial/discovery.py
> @@ -313,7 +313,11 @@ def checkheads(repo, remote, outgoing, r
> newhs = candidate_newhs
> unsynced = sorted(h for h in unsyncedheads if h not in discardedheads)
> if unsynced:
> - heads = ' '.join(short(h) for h in unsynced)
> + if len(unsynced) <= 4 or repo.ui.verbose:
> + heads = ' '.join(short(h) for h in unsynced)
> + else:
> + heads = (' '.join(short(h) for h in unsynced[:4]) +
> + ' ' + _("and %s others") % (len(unsynced) - 4))
Sound translation unfriendly but is probably okay
> if branch is None:
> repo.ui.status(_("remote has heads that are "
> "not known locally: %s\n") % heads)
> diff --git a/tests/test-push-warn.t b/tests/test-push-warn.t
> --- a/tests/test-push-warn.t
> +++ b/tests/test-push-warn.t
> @@ -378,7 +378,7 @@ Pushing multi headed new branch:
> added 3 changesets with 3 changes to 1 files (+1 heads)
>
> Checking prepush logic does not allow silently pushing
> -multiple new heads:
> +multiple new heads but also doesn't report too many heads:
>
> $ cd ..
> $ hg init h
> @@ -404,10 +404,29 @@ multiple new heads:
> adding c
> created new head
>
> + $ for i in `seq 3`; do hg -R h up -q 0; echo $i > h/b; hg -R h ci -qAm$i; done
> +
> $ hg -R i push h
> pushing to h
> searching for changes
> - remote has heads on branch 'default' that are not known locally: ce4212fc8847
> + remote has heads on branch 'default' that are not known locally: 534543e22c29 764f8ec07b96 afe7cc7679f5 ce4212fc8847
This line is still a bit long (116 char) maybe we can rephrase of
reformat it so it is not that long?
> + abort: push creates new remote head 97bd0c84d346!
> + (pull and merge or see "hg help push" for details about pushing new heads)
> + [255]
> + $ hg -R h up -q 0; echo x > h/b; hg -R h ci -qAmx
> + $ hg -R i push h
> + pushing to h
> + searching for changes
> + remote has heads on branch 'default' that are not known locally: 18ddb72c4590 534543e22c29 764f8ec07b96 afe7cc7679f5 and 1 others
getting worth here. 130 char.
--
Pierre-Yves
More information about the Mercurial-devel
mailing list