Merge pull request #2317 from mroutis/fix-1475

scm: reset tracked files after every operation
This commit is contained in:
Ruslan Kuprieiev
2019-07-28 02:39:47 +03:00
committed by GitHub
3 changed files with 11 additions and 2 deletions
+1
View File
@@ -4,6 +4,7 @@ def scm_context(method):
result = method(repo, *args, **kw)
repo.scm.reset_ignores()
repo.scm.remind_to_track()
repo.scm.reset_tracked_files()
return result
except Exception:
repo.scm.cleanup_ignores()
+5
View File
@@ -126,6 +126,11 @@ class Base(object):
Method to reset in-memory ignore storing mechanism.
"""
def reset_tracked_files(self):
"""
Method to reset in-memory tracked files storing mechanism.
"""
def remind_to_track(self):
"""
Method to remind user to track newly created files handled by scm
+5 -2
View File
@@ -54,7 +54,7 @@ class Git(Base):
self.git.git.update_environment(LD_LIBRARY_PATH=libpath)
self.ignored_paths = []
self.files_to_track = []
self.files_to_track = set()
@staticmethod
def is_repo(root_dir):
@@ -245,6 +245,9 @@ class Git(Base):
def reset_ignores(self):
self.ignored_paths = []
def reset_tracked_files(self):
self.files_to_track = set()
def remind_to_track(self):
if not self.files_to_track:
return
@@ -257,7 +260,7 @@ class Git(Base):
)
def track_file(self, path):
self.files_to_track.append(path)
self.files_to_track.add(path)
def belongs_to_scm(self, path):
basename = os.path.basename(path)