equal
deleted
inserted
replaced
106 |
106 |
107 The fact it is actually new is the responsability of the caller |
107 The fact it is actually new is the responsability of the caller |
108 """ |
108 """ |
109 |
109 |
110 ### method to manipulate the entries |
110 ### method to manipulate the entries |
|
111 |
|
112 def set_tracked(self, filename): |
|
113 new = False |
|
114 entry = self.get(filename) |
|
115 if entry is None: |
|
116 self._dirs_incr(filename) |
|
117 entry = DirstateItem( |
|
118 p1_tracked=False, |
|
119 p2_tracked=False, |
|
120 wc_tracked=True, |
|
121 merged=False, |
|
122 clean_p1=False, |
|
123 clean_p2=False, |
|
124 possibly_dirty=False, |
|
125 parentfiledata=None, |
|
126 ) |
|
127 |
|
128 self._insert_entry(filename, entry) |
|
129 new = True |
|
130 elif not entry.tracked: |
|
131 self._dirs_incr(filename, entry) |
|
132 entry.set_tracked() |
|
133 self._refresh_entry(filename, entry) |
|
134 new = True |
|
135 else: |
|
136 # XXX This is probably overkill for more case, but we need this to |
|
137 # fully replace the `normallookup` call with `set_tracked` one. |
|
138 # Consider smoothing this in the future. |
|
139 entry.set_possibly_dirty() |
|
140 self._refresh_entry(filename, entry) |
|
141 return new |
111 |
142 |
112 def set_untracked(self, f): |
143 def set_untracked(self, f): |
113 """Mark a file as no longer tracked in the dirstate map""" |
144 """Mark a file as no longer tracked in the dirstate map""" |
114 entry = self.get(f) |
145 entry = self.get(f) |
115 if entry is None: |
146 if entry is None: |
489 clean_p2=clean_p2, |
520 clean_p2=clean_p2, |
490 possibly_dirty=possibly_dirty, |
521 possibly_dirty=possibly_dirty, |
491 parentfiledata=parentfiledata, |
522 parentfiledata=parentfiledata, |
492 ) |
523 ) |
493 self._map[filename] = entry |
524 self._map[filename] = entry |
494 |
|
495 def set_tracked(self, filename): |
|
496 new = False |
|
497 entry = self.get(filename) |
|
498 if entry is None: |
|
499 self._dirs_incr(filename) |
|
500 entry = DirstateItem( |
|
501 p1_tracked=False, |
|
502 p2_tracked=False, |
|
503 wc_tracked=True, |
|
504 merged=False, |
|
505 clean_p1=False, |
|
506 clean_p2=False, |
|
507 possibly_dirty=False, |
|
508 parentfiledata=None, |
|
509 ) |
|
510 self._map[filename] = entry |
|
511 new = True |
|
512 elif not entry.tracked: |
|
513 self._dirs_incr(filename, entry) |
|
514 entry.set_tracked() |
|
515 new = True |
|
516 else: |
|
517 # XXX This is probably overkill for more case, but we need this to |
|
518 # fully replace the `normallookup` call with `set_tracked` one. |
|
519 # Consider smoothing this in the future. |
|
520 self.set_possibly_dirty(filename) |
|
521 return new |
|
522 |
525 |
523 |
526 |
524 if rustmod is not None: |
527 if rustmod is not None: |
525 |
528 |
526 class dirstatemap(_dirstatemapcommon): |
529 class dirstatemap(_dirstatemapcommon): |
892 mode, size, mtime = parentfiledata |
895 mode, size, mtime = parentfiledata |
893 self.addfile(filename, mode=mode, size=size, mtime=mtime) |
896 self.addfile(filename, mode=mode, size=size, mtime=mtime) |
894 else: |
897 else: |
895 assert False, 'unreachable' |
898 assert False, 'unreachable' |
896 |
899 |
897 def set_tracked(self, filename): |
|
898 new = False |
|
899 entry = self.get(filename) |
|
900 if entry is None: |
|
901 self.addfile(filename, added=True) |
|
902 new = True |
|
903 elif not entry.tracked: |
|
904 entry.set_tracked() |
|
905 self._map.set_dirstate_item(filename, entry) |
|
906 new = True |
|
907 else: |
|
908 # XXX This is probably overkill for more case, but we need this to |
|
909 # fully replace the `normallookup` call with `set_tracked` one. |
|
910 # Consider smoothing this in the future. |
|
911 self.set_possibly_dirty(filename) |
|
912 return new |
|
913 |
|
914 ### Legacy method we need to get rid of |
900 ### Legacy method we need to get rid of |
915 |
901 |
916 def addfile( |
902 def addfile( |
917 self, |
903 self, |
918 f, |
904 f, |