Show More
@@ -1662,13 +1662,42 b' class gitsubrepo(abstractsubrepo):' | |||
|
1662 | 1662 | |
|
1663 | 1663 | deleted, unknown, ignored, clean = [], [], [], [] |
|
1664 | 1664 | |
|
1665 | command = ['status', '--porcelain', '-z'] | |
|
1665 | 1666 | if opts.get('unknown'): |
|
1666 | command = ['ls-files', '--others', '--exclude-standard'] | |
|
1667 | out = self._gitcommand(command) | |
|
1668 | for line in out.split('\n'): | |
|
1669 | if len(line) == 0: | |
|
1670 | continue | |
|
1671 | unknown.append(line) | |
|
1667 | command += ['--untracked-files=all'] | |
|
1668 | if opts.get('ignored'): | |
|
1669 | command += ['--ignored'] | |
|
1670 | out = self._gitcommand(command) | |
|
1671 | ||
|
1672 | changedfiles = set() | |
|
1673 | changedfiles.update(modified) | |
|
1674 | changedfiles.update(added) | |
|
1675 | changedfiles.update(removed) | |
|
1676 | for line in out.split('\0'): | |
|
1677 | if not line: | |
|
1678 | continue | |
|
1679 | st = line[0:2] | |
|
1680 | #moves and copies show 2 files on one line | |
|
1681 | if line.find('\0') >= 0: | |
|
1682 | filename1, filename2 = line[3:].split('\0') | |
|
1683 | else: | |
|
1684 | filename1 = line[3:] | |
|
1685 | filename2 = None | |
|
1686 | ||
|
1687 | changedfiles.add(filename1) | |
|
1688 | if filename2: | |
|
1689 | changedfiles.add(filename2) | |
|
1690 | ||
|
1691 | if st == '??': | |
|
1692 | unknown.append(filename1) | |
|
1693 | elif st == '!!': | |
|
1694 | ignored.append(filename1) | |
|
1695 | ||
|
1696 | if opts.get('clean'): | |
|
1697 | out = self._gitcommand(['ls-files']) | |
|
1698 | for f in out.split('\n'): | |
|
1699 | if not f in changedfiles: | |
|
1700 | clean.append(f) | |
|
1672 | 1701 | |
|
1673 | 1702 | return scmutil.status(modified, added, removed, deleted, |
|
1674 | 1703 | unknown, ignored, clean) |
@@ -175,6 +175,8 b' user a pulls, merges, commits' | |||
|
175 | 175 | pulling subrepo s from $TESTTMP/gitroot |
|
176 | 176 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
177 | 177 | (branch merge, don't forget to commit) |
|
178 | $ hg st --subrepos s | |
|
179 | A s/f | |
|
178 | 180 | $ cat s/f |
|
179 | 181 | f |
|
180 | 182 | $ cat s/g |
@@ -944,6 +946,16 b' except for explicitly added files (no pa' | |||
|
944 | 946 | ? s/c.c |
|
945 | 947 | ? s/cpp.cpp |
|
946 | 948 | ? s/foobar.orig |
|
949 | $ hg st --subrepos s --all | |
|
950 | A s/.gitignore | |
|
951 | ? s/barfoo | |
|
952 | ? s/c.c | |
|
953 | ? s/cpp.cpp | |
|
954 | ? s/foobar.orig | |
|
955 | I s/snake.python | |
|
956 | C s/f | |
|
957 | C s/foobar | |
|
958 | C s/g | |
|
947 | 959 | $ hg add --subrepos "glob:**.python" |
|
948 | 960 | $ hg st --subrepos s |
|
949 | 961 | A s/.gitignore |
@@ -978,13 +990,41 b' error given when adding an already track' | |||
|
978 | 990 | $ hg add s/.gitignore |
|
979 | 991 | s/.gitignore already tracked! |
|
980 | 992 | [1] |
|
993 | $ hg add s/g | |
|
994 | s/g already tracked! | |
|
995 | [1] | |
|
981 | 996 | |
|
982 | 997 | removed files can be re-added |
|
998 | removing files using 'rm' or 'git rm' has the same effect, | |
|
999 | since we ignore the staging area | |
|
983 | 1000 | $ hg ci --subrepos -m 'snake' |
|
984 | 1001 | committing subrepository s |
|
985 | 1002 | $ cd s |
|
1003 | $ rm snake.python | |
|
1004 | (remove leftover .hg so Mercurial doesn't look for a root here) | |
|
1005 | $ rm -r .hg | |
|
1006 | $ hg status --subrepos --all . | |
|
1007 | R snake.python | |
|
1008 | ? barfoo | |
|
1009 | ? c.c | |
|
1010 | ? cpp.cpp | |
|
1011 | ? foobar.orig | |
|
1012 | C .gitignore | |
|
1013 | C f | |
|
1014 | C foobar | |
|
1015 | C g | |
|
986 | 1016 | $ git rm snake.python |
|
987 | 1017 |
|
|
1018 | $ hg status --subrepos --all . | |
|
1019 | R snake.python | |
|
1020 | ? barfoo | |
|
1021 | ? c.c | |
|
1022 | ? cpp.cpp | |
|
1023 | ? foobar.orig | |
|
1024 | C .gitignore | |
|
1025 | C f | |
|
1026 | C foobar | |
|
1027 | C g | |
|
988 | 1028 | $ touch snake.python |
|
989 | 1029 | $ cd .. |
|
990 | 1030 | $ hg add s/snake.python |
General Comments 0
You need to be logged in to leave comments.
Login now