1104 if line and line[0] in " MADRCU!?": |
1104 if line and line[0] in " MADRCU!?": |
1105 flag = line[1] |
1105 flag = line[1] |
1106 path = line[3:].split(" -> ")[-1] |
1106 path = line[3:].split(" -> ")[-1] |
1107 name = os.path.normcase(os.path.join(repodir, path)) |
1107 name = os.path.normcase(os.path.join(repodir, path)) |
1108 dirName = os.path.dirname(name) |
1108 dirName = os.path.dirname(name) |
1109 if name.startswith(dname): |
1109 if name.startswith(dname) and flag in "?!": |
1110 if flag in "?!": |
1110 isDir = name.endswith(("/", "\\")) |
1111 isDir = name.endswith(("/", "\\")) |
1111 if isDir: |
1112 if isDir: |
1112 name = name[:-1] |
1113 name = name[:-1] |
1113 if name in names: |
1114 if name in names: |
1114 names[name] = self.canBeAdded |
1115 names[name] = self.canBeAdded |
1115 if isDir: |
1116 if isDir: |
1116 # it's a directory |
1117 # it's a directory |
1117 for nname in names: |
1118 for nname in names: |
1118 if nname.startswith(name): |
1119 if nname.startswith(name): |
1119 names[nname] = self.canBeAdded |
1120 names[nname] = self.canBeAdded |
|
1121 if flag not in "?!": |
1120 if flag not in "?!": |
1122 self.statusCache[name] = self.canBeCommitted |
1121 self.statusCache[name] = self.canBeCommitted |
1123 self.statusCache[dirName] = self.canBeCommitted |
1122 self.statusCache[dirName] = self.canBeCommitted |
1124 else: |
1123 else: |
1125 self.statusCache[name] = self.canBeAdded |
1124 self.statusCache[name] = self.canBeAdded |