diff --git a/mercurial/subrepo.py b/mercurial/subrepo.py --- a/mercurial/subrepo.py +++ b/mercurial/subrepo.py @@ -1570,6 +1570,15 @@ class gitsubrepo(abstractsubrepo): removed.append(f) deleted, unknown, ignored, clean = [], [], [], [] + + if not rev2: + command = ['ls-files', '--others', '--exclude-standard'] + out = self._gitcommand(command) + for line in out.split('\n'): + if len(line) == 0: + continue + unknown.append(line) + return scmutil.status(modified, added, removed, deleted, unknown, ignored, clean) 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 @@ -119,7 +119,10 @@ clone root separately, make different lo 3 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd ../tb/s + $ hg status --subrepos $ echo f > f + $ hg status --subrepos + ? s/f $ git add f $ cd .. @@ -422,6 +425,7 @@ Check hg update --clean $ hg status -S M s/g A s/f1 + ? s/f2 $ ls s f f1 @@ -430,6 +434,8 @@ Check hg update --clean $ hg update --clean 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg status -S + ? s/f1 + ? s/f2 $ ls s f f1