[PATCH] subrepo: show the source that git pulls
Eric Eisner
ede at MIT.EDU
Tue Mar 8 14:40:41 CST 2011
# HG changeset patch
# User Eric Eisner <ede at mit.edu>
# Date 1299616616 18000
# Node ID e82bcd733af0e06af69f4617d6492fd1d1161abd
# Parent 0ab0ceefddf217b23d1ea80d27f2dc0cd417e664
subrepo: show the source that git pulls
diff --git a/mercurial/subrepo.py b/mercurial/subrepo.py
--- a/mercurial/subrepo.py
+++ b/mercurial/subrepo.py
@@ -714,6 +714,12 @@ class gitsubrepo(abstractsubrepo):
current = None
return current
+ def _gitremote(self, remote):
+ out = self._gitcommand(['remote', 'show', '-n', remote])
+ line = out.split('\n')[1]
+ i = line.index('URL: ') + len('URL: ')
+ return line[i:]
+
def _githavelocally(self, revision):
out, code = self._gitdir(['cat-file', '-e', revision])
return code == 0
@@ -768,7 +774,8 @@ class gitsubrepo(abstractsubrepo):
self._gitnodir(['clone', source, self._abspath])
if self._githavelocally(revision):
return
- self._ui.status(_('pulling subrepo %s\n') % self._relpath)
+ self._ui.status(_('pulling subrepo %s from %s\n') %
+ (self._relpath, self._gitremote('origin')))
# try only origin: the originally cloned repo
self._gitcommand(['fetch'])
if not self._githavelocally(revision):
diff --git a/tests/test-subrepo-git.t b/tests/test-subrepo-git.t
--- a/tests/test-subrepo-git.t
+++ b/tests/test-subrepo-git.t
@@ -155,7 +155,7 @@ user a pulls, merges, commits
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hg merge 2>/dev/null
- pulling subrepo s
+ pulling subrepo s from $TESTTMP/gitroot
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ cat s/f
@@ -232,7 +232,7 @@ sync to upstream git, distribute changes
$ cd ../tb
$ hg pull -q
$ hg update 2>/dev/null
- pulling subrepo s
+ pulling subrepo s from $TESTTMP/gitroot
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg debugsub
path s
@@ -262,7 +262,7 @@ archive subrepos
$ cd ../tc
$ hg pull -q
$ hg archive --subrepos -r 5 ../archive 2>/dev/null
- pulling subrepo s
+ pulling subrepo s from $TESTTMP/gitroot
$ cd ../archive
$ cat s/f
f
More information about the Mercurial-devel
mailing list