[PATCH V5] push: provide a hint when no paths in configured (issue3692)

Anurag Goel anurag.dsps at gmail.com
Mon Feb 24 16:44:19 CST 2014


# HG changeset patch
# User anuraggoel <anurag.dsps at gmail.com>
# Date 1393281671 -19800
#      Tue Feb 25 04:11:11 2014 +0530
# Node ID 4da8330542ac0b05a206f85aabd33e51f15705ca
# Parent  aa021ece4506f5e962c8d87ab58ab594a0105ced
push: provide a hint when no paths in configured (issue3692)

When user type "hg push" command then this patch helps user by
providing hint if no default path is configured.

Second patch is the test coverage, to test the change behaviour of
first patch.

diff -r aa021ece4506 -r 4da8330542ac mercurial/commands.py
--- a/mercurial/commands.py	Thu Feb 20 00:46:13 2014 -0600
+++ b/mercurial/commands.py	Tue Feb 25 04:11:11 2014 +0530
@@ -4614,7 +4614,15 @@
     dest, branches = hg.parseurl(dest, opts.get('branch'))
     ui.status(_('pushing to %s\n') % util.hidepassword(dest))
     revs, checkout = hg.addbranchrevs(repo, repo, branches, opts.get('rev'))
-    other = hg.peer(repo, opts, dest)
+    try:
+        other = hg.peer(repo, opts, dest)
+    except error.RepoError:
+        if dest == "default-push":
+            raise util.Abort(_("default repository not configured!"),
+                    hint=_('see the "path" section in "hg help config"'))
+        else:
+            raise
+
     if revs:
         revs = [repo.lookup(r) for r in scmutil.revrange(repo, revs)]
 
diff -r aa021ece4506 -r 4da8330542ac tests/test-default-push.t
--- a/tests/test-default-push.t	Thu Feb 20 00:46:13 2014 -0600
+++ b/tests/test-default-push.t	Tue Feb 25 04:11:11 2014 +0530
@@ -15,6 +15,16 @@
   $ echo b >> b/a
   $ hg --cwd b ci -mb
 
+Push should provide a hint when both 'default' and 'default-push' not set:
+  $ cd c
+  $ hg push --config paths.default= 
+  pushing to default-push
+  abort: default repository not configured!
+  (see the "path" section in "hg help config")
+  [255]
+
+  $ cd ..
+
 Push should push to 'default' when 'default-push' not set:
 
   $ hg --cwd b push


More information about the Mercurial-devel mailing list