Mercurial > hg
changeset 23411:2d86f4e38c08
subrepo: add status support for ignored files in git subrepos
Retrieving the status of a git subrepo did not show ignored
files. Using 'git ls-files', we can retrieve these files
and display the correct status.
author | Mathias De Maré <mathias.demare@gmail.com> |
---|---|
date | Fri, 28 Nov 2014 20:16:15 +0100 |
parents | cd9e5e57064d |
children | 19ebd2f88fc7 |
files | mercurial/subrepo.py tests/test-subrepo-git.t |
diffstat | 2 files changed, 15 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/subrepo.py Wed Nov 26 15:37:01 2014 -0800 +++ b/mercurial/subrepo.py Fri Nov 28 20:16:15 2014 +0100 @@ -1570,6 +1570,15 @@ 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)
--- a/tests/test-subrepo-git.t Wed Nov 26 15:37:01 2014 -0800 +++ b/tests/test-subrepo-git.t Fri Nov 28 20:16:15 2014 +0100 @@ -119,7 +119,10 @@ 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 @@ $ hg status -S M s/g A s/f1 + ? s/f2 $ ls s f f1 @@ -430,6 +434,8 @@ $ 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