# HG changeset patch # User Augie Fackler # Date 2018-09-14 22:18:46 # Node ID 20dbca5817272e8beb5c6228d3ca781a5ae9a97d # Parent 23b749b84b8a8ff233cbd06602d39ad70d88184c # Parent 41ac8ea1bdd751303e49d5a98def025f78dbbf0c merge with stable diff --git a/mercurial/subrepo.py b/mercurial/subrepo.py --- a/mercurial/subrepo.py +++ b/mercurial/subrepo.py @@ -655,7 +655,7 @@ class hgsubrepo(abstractsubrepo): shareopts = {} self.ui.status(_('cloning subrepo %s from %s\n') - % (subrelpath(self), srcurl)) + % (subrelpath(self), util.hidepassword(srcurl))) other, cloned = hg.clone(self._repo._subparent.baseui, {}, other, self._repo.root, update=False, shareopts=shareopts) @@ -664,7 +664,7 @@ class hgsubrepo(abstractsubrepo): self._cachestorehash(srcurl) else: self.ui.status(_('pulling subrepo %s from %s\n') - % (subrelpath(self), srcurl)) + % (subrelpath(self), util.hidepassword(srcurl))) cleansub = self.storeclean(srcurl) exchange.pull(self._repo, other) if cleansub: @@ -735,10 +735,10 @@ class hgsubrepo(abstractsubrepo): if self.storeclean(dsturl): self.ui.status( _('no changes made to subrepo %s since last push to %s\n') - % (subrelpath(self), dsturl)) + % (subrelpath(self), util.hidepassword(dsturl))) return None self.ui.status(_('pushing subrepo %s to %s\n') % - (subrelpath(self), dsturl)) + (subrelpath(self), util.hidepassword(dsturl))) other = hg.peer(self._repo, {'ssh': ssh}, dsturl) res = exchange.push(self._repo, other, force, newbranch=newbranch) diff --git a/tests/test-subrepo-relative-path.t b/tests/test-subrepo-relative-path.t --- a/tests/test-subrepo-relative-path.t +++ b/tests/test-subrepo-relative-path.t @@ -39,7 +39,7 @@ Serving them both using hgweb Clone main from hgweb - $ hg clone "http://localhost:$HGPORT/main" cloned + $ hg clone "http://user:pass@localhost:$HGPORT/main" cloned requesting all changes adding changesets adding manifests @@ -47,7 +47,7 @@ Clone main from hgweb added 1 changesets with 3 changes to 3 files new changesets fdfeeb3e979e updating to branch default - cloning subrepo sub from http://localhost:$HGPORT/sub + cloning subrepo sub from http://user@localhost:$HGPORT/sub requesting all changes adding changesets adding manifests @@ -60,21 +60,28 @@ Ensure that subrepos pay attention to de $ cat > cloned/.hg/hgrc << EOF > [paths] - > default:pushurl = http://localhost:$HGPORT/main + > default:pushurl = http://user:pass@localhost:$HGPORT/main > EOF $ hg -R cloned out -S --config paths.default=bogus://invalid - comparing with http://localhost:$HGPORT/main + comparing with http://user:***@localhost:$HGPORT/main searching for changes no changes found - comparing with http://localhost:$HGPORT/sub + comparing with http://user:***@localhost:$HGPORT/sub searching for changes no changes found [1] +TODO: Figure out why, if the password is left out of the default:pushurl URL, +this says "no changes made to subrepo sub since last push". It looks like from +the original clone command above, the password is getting stripped off, not +just masked out, and that would make the hashed URL different. + $ hg -R cloned push --config paths.default=bogus://invalid - pushing to http://localhost:$HGPORT/main - no changes made to subrepo sub since last push to http://localhost:$HGPORT/sub + pushing to http://user:***@localhost:$HGPORT/main + pushing subrepo sub to http://user:***@localhost:$HGPORT/sub + searching for changes + no changes found searching for changes no changes found abort: HTTP Error 403: ssl required