[PATCH 1 of 3 V3] push: hide description about "-f" in the hint to prevent from using it easily

Augie Fackler raf at durin42.com
Mon Sep 30 14:34:09 CDT 2013


On Tue, Oct 01, 2013 at 12:54:30AM +0900, FUJIWARA Katsunori wrote:
> # HG changeset patch
> # User FUJIWARA Katsunori <foozy at lares.dti.ne.jp>
> # Date 1380554782 -32400
> #      Tue Oct 01 00:26:22 2013 +0900
> # Node ID 220721e66ce9b2eb5b425ed633d0d85173676b9a
> # Parent  baab785e3ecfaf07e287af0e1a02bcaaf9dc38b4
> push: hide description about "-f" in the hint to prevent from using it easily

I think I like this, but I'm unsure if it meets our backwards
compatibility promises. Anyone else?

>
> "use push -f to force" in the hint at abortion of "hg push" may cause
> novice users to execute "push -f" easily without understanding about
> problems of multiple branch heads in the repository.
>
> This patch hides description about "-f" in the hint, and leads into
> seeing "hg help push" for detail about pushing new heads.
>
> diff --git a/mercurial/discovery.py b/mercurial/discovery.py
> --- a/mercurial/discovery.py
> +++ b/mercurial/discovery.py
> @@ -322,11 +322,13 @@
>                      error = _("push creates new remote head %s!"
>                                ) % short(dhs[0])
>                  if heads[2]: # unsynced
> -                    hint = _("you should pull and merge or "
> -                             "use push -f to force")
> +                    hint = _("pull and merge or"
> +                             " see \"hg help push\" for detail about"
> +                             " pushing new heads")
>                  else:
> -                    hint = _("did you forget to merge? "
> -                             "use push -f to force")
> +                    hint = _("merge or"
> +                             " see \"hg help push\" for detail about"
> +                             " pushing new heads")
>              if branch is not None:
>                  repo.ui.note(_("new remote heads on branch '%s'\n") % branch)
>              for h in dhs:
> diff --git a/tests/test-bookmarks-pushpull.t b/tests/test-bookmarks-pushpull.t
> --- a/tests/test-bookmarks-pushpull.t
> +++ b/tests/test-bookmarks-pushpull.t
> @@ -275,7 +275,7 @@
>    pushing to http://localhost:$HGPORT2/
>    searching for changes
>    abort: push creates new remote head c922c0139ca0!
> -  (did you forget to merge? use push -f to force)
> +  (merge or see "hg help push" for detail about pushing new heads)
>    [255]
>    $ hg -R ../a book
>       @                         1:0d2164f0ce0d
> @@ -291,7 +291,7 @@
>    pushing to http://localhost:$HGPORT2/
>    searching for changes
>    abort: push creates new remote head c922c0139ca0!
> -  (did you forget to merge? use push -f to force)
> +  (merge or see "hg help push" for detail about pushing new heads)
>    [255]
>    $ hg -R ../a book
>       @                         1:0d2164f0ce0d
> diff --git a/tests/test-obsolete-checkheads.t b/tests/test-obsolete-checkheads.t
> --- a/tests/test-obsolete-checkheads.t
> +++ b/tests/test-obsolete-checkheads.t
> @@ -98,7 +98,7 @@
>    pushing to $TESTTMP/remote (glob)
>    searching for changes
>    abort: push creates new remote head 71e3228bffe1!
> -  (did you forget to merge? use push -f to force)
> +  (merge or see "hg help push" for detail about pushing new heads)
>    [255]
>
>  old head is now public (public remote version)
> @@ -127,7 +127,7 @@
>  #   pushing to $TESTTMP/remote
>  #   searching for changes
>  #   abort: push creates new remote head 71e3228bffe1!
> -#   (did you forget to merge? use push -f to force)
> +#   (merge or see "hg help push" for detail about pushing new heads)
>  #   [255]
>
>  old head is obsolete but replacement is not pushed
> @@ -158,7 +158,7 @@
>    pushing to $TESTTMP/remote (glob)
>    searching for changes
>    abort: push creates new remote head d7d41ccbd4de!
> -  (did you forget to merge? use push -f to force)
> +  (merge or see "hg help push" for detail about pushing new heads)
>    [255]
>
>
> diff --git a/tests/test-phases-exchange.t b/tests/test-phases-exchange.t
> --- a/tests/test-phases-exchange.t
> +++ b/tests/test-phases-exchange.t
> @@ -844,7 +844,7 @@
>    pushing to ../mu
>    searching for changes
>    abort: push creates new remote head 435b5d83910c!
> -  (did you forget to merge? use push -f to force)
> +  (merge or see "hg help push" for detail about pushing new heads)
>    [255]
>    $ hg push -fr 435b5d83910c ../mu # because the push will create new visible head
>    pushing to ../mu
> 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
> @@ -26,7 +26,7 @@
>    pushing to ../a
>    searching for changes
>    abort: push creates new remote head 1e108cc5548c!
> -  (you should pull and merge or use push -f to force)
> +  (pull and merge or see "hg help push" for detail about pushing new heads)
>    [255]
>
>    $ hg push --debug ../a
> @@ -41,7 +41,7 @@
>    new remote heads on branch 'default'
>    new remote head 1e108cc5548c
>    abort: push creates new remote head 1e108cc5548c!
> -  (you should pull and merge or use push -f to force)
> +  (pull and merge or see "hg help push" for detail about pushing new heads)
>    [255]
>
>    $ hg pull ../a
> @@ -57,7 +57,7 @@
>    pushing to ../a
>    searching for changes
>    abort: push creates new remote head 1e108cc5548c!
> -  (did you forget to merge? use push -f to force)
> +  (merge or see "hg help push" for detail about pushing new heads)
>    [255]
>
>    $ hg merge
> @@ -110,7 +110,7 @@
>    pushing to ../c
>    searching for changes
>    abort: push creates new remote head 6346d66eb9f5!
> -  (did you forget to merge? use push -f to force)
> +  (merge or see "hg help push" for detail about pushing new heads)
>    [255]
>
>    $ hg push -r 2 ../c
> @@ -123,7 +123,7 @@
>    pushing to ../c
>    searching for changes
>    abort: push creates new remote head a5dda829a167!
> -  (did you forget to merge? use push -f to force)
> +  (merge or see "hg help push" for detail about pushing new heads)
>    [255]
>
>    $ hg push -v -r 3 -r 4 ../c
> @@ -133,7 +133,7 @@
>    new remote head a5dda829a167
>    new remote head ee8fbc7a0295
>    abort: push creates new remote head a5dda829a167!
> -  (did you forget to merge? use push -f to force)
> +  (merge or see "hg help push" for detail about pushing new heads)
>    [255]
>
>    $ hg push -v -f -r 3 -r 4 ../c
> @@ -263,7 +263,7 @@
>    pushing to ../f
>    searching for changes
>    abort: push creates new remote head 0b715ef6ff8f on branch 'a'!
> -  (did you forget to merge? use push -f to force)
> +  (merge or see "hg help push" for detail about pushing new heads)
>    [255]
>
>  Push replacement head on existing branches:
> @@ -386,7 +386,7 @@
>    pushing to h
>    searching for changes
>    abort: push creates new remote head 97bd0c84d346!
> -  (you should pull and merge or use push -f to force)
> +  (pull and merge or see "hg help push" for detail about pushing new heads)
>    [255]
>
>
> @@ -458,7 +458,7 @@
>    pushing to ../l
>    searching for changes
>    abort: push creates new remote head 451211cc22b0 on branch 'a'!
> -  (did you forget to merge? use push -f to force)
> +  (merge or see "hg help push" for detail about pushing new heads)
>    [255]
>
>    $ cd ..
> @@ -713,14 +713,14 @@
>    pushing to inner
>    searching for changes
>    abort: push creates new remote head 7d0f4fb6cf04 on branch 'A'!
> -  (did you forget to merge? use push -f to force)
> +  (merge or see "hg help push" for detail about pushing new heads)
>    [255]
>
>    $ hg push inner -r4 -r5
>    pushing to inner
>    searching for changes
>    abort: push creates new remote head 7d0f4fb6cf04 on branch 'A'!
> -  (did you forget to merge? use push -f to force)
> +  (merge or see "hg help push" for detail about pushing new heads)
>    [255]
>
>    $ hg in inner
> diff --git a/tests/test-subrepo.t b/tests/test-subrepo.t
> --- a/tests/test-subrepo.t
> +++ b/tests/test-subrepo.t
> @@ -317,7 +317,7 @@
>    pushing subrepo s to $TESTTMP/t/s
>    searching for changes
>    abort: push creates new remote head 12a213df6fa9! (in subrepo s)
> -  (did you forget to merge? use push -f to force)
> +  (merge or see "hg help push" for detail about pushing new heads)
>    [255]
>    $ hg push -f
>    pushing to $TESTTMP/t (glob)
> @@ -716,7 +716,7 @@
>    $ hg -R repo2 ci -m3
>    $ hg -q -R repo2 push
>    abort: push creates new remote head cc505f09a8b2! (in subrepo s)
> -  (did you forget to merge? use push -f to force)
> +  (merge or see "hg help push" for detail about pushing new heads)
>    [255]
>    $ hg -R repo update
>    0 files updated, 0 files merged, 0 files removed, 0 files unresolved
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel


More information about the Mercurial-devel mailing list