Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/subrepo.py @ 24943:3e39f67ef663
subrepo: correctly handle git subdirectory status change
'git diff-index' by default does not recurse into subdirectories
when changes are found. As a result, the directory is shown as changed,
rather than the files in this directory.
Adding '-r' results in recursing until the blobs themselves are checked.
author | Mathias De Mar? <mathias.demare@gmail.com> |
---|---|
date | Wed, 06 May 2015 17:15:38 +0200 |
parents | 41cd8171e58f |
children | df63d4843581 |
comparison
equal
deleted
inserted
replaced
24942:8174d27576a3 | 24943:3e39f67ef663 |
---|---|
1709 # if the repo is missing, return no results | 1709 # if the repo is missing, return no results |
1710 return scmutil.status([], [], [], [], [], [], []) | 1710 return scmutil.status([], [], [], [], [], [], []) |
1711 modified, added, removed = [], [], [] | 1711 modified, added, removed = [], [], [] |
1712 self._gitupdatestat() | 1712 self._gitupdatestat() |
1713 if rev2: | 1713 if rev2: |
1714 command = ['diff-tree', rev1, rev2] | 1714 command = ['diff-tree', '-r', rev1, rev2] |
1715 else: | 1715 else: |
1716 command = ['diff-index', rev1] | 1716 command = ['diff-index', rev1] |
1717 out = self._gitcommand(command) | 1717 out = self._gitcommand(command) |
1718 for line in out.split('\n'): | 1718 for line in out.split('\n'): |
1719 tab = line.find('\t') | 1719 tab = line.find('\t') |