diff options
author | Adam Spiers <git@adamspiers.org> | 2018-09-09 22:21:48 +0100 |
---|---|---|
committer | Adam Spiers <git@adamspiers.org> | 2018-09-09 22:22:25 +0100 |
commit | 404170854547f796b862416dbd4a666b338000a8 (patch) | |
tree | 2845c368f47efb2c243eb107fda99f6e490602fc /git_deps | |
parent | 4fd28c7326125260acaefdb9bbae2907bb028b71 (diff) | |
download | git-deps-404170854547f796b862416dbd4a666b338000a8.tar.gz |
extract process_new_dependency() method
Diffstat (limited to 'git_deps')
-rw-r--r-- | git_deps/detector.py | 67 |
1 files changed, 37 insertions, 30 deletions
diff --git a/git_deps/detector.py b/git_deps/detector.py index e82536f..ec607c4 100644 --- a/git_deps/detector.py +++ b/git_deps/detector.py @@ -188,36 +188,9 @@ class DependencyDetector(object): continue if dependency_sha1 not in self.dependencies[dependent_sha1]: - if not self.seen_commit(dependency): - self.notify_listeners("new_commit", dependency) - self.dependencies[dependent_sha1][dependency_sha1] = {} - - self.notify_listeners("new_dependency", - dependent, dependency, path, line_num) - - self.logger.debug( - " New dependency %s -> %s via line %s (%s)" % - (dependent_sha1[:8], dependency_sha1[:8], line_num, - GitUtils.oneline(dependency))) - - if dependency_sha1 in self.todo_d: - self.logger.debug( - " Dependency on %s via line %s already in TODO" - % (dependency_sha1[:8], line_num,)) - continue - - if dependency_sha1 in self.done_d: - self.logger.debug( - " Dependency on %s via line %s already done" % - (dependency_sha1[:8], line_num,)) - continue - - if dependency_sha1 not in self.dependencies: - if self.options.recurse: - self.todo.append(dependency) - self.todo_d[dependency.hex] = True - self.logger.debug(" + Added %s to TODO" % - dependency.hex[:8]) + self.process_new_dependency(dependent, dependent_sha1, + dependency, dependency_sha1, + path, line_num) dep_sources = self.dependencies[dependent_sha1][dependency_sha1] @@ -278,6 +251,40 @@ class DependencyDetector(object): return True return False + def process_new_dependency(self,dependent, dependent_sha1, + dependency, dependency_sha1, + path, line_num): + if not self.seen_commit(dependency): + self.notify_listeners("new_commit", dependency) + self.dependencies[dependent_sha1][dependency_sha1] = {} + + self.notify_listeners("new_dependency", + dependent, dependency, path, line_num) + + self.logger.debug( + " New dependency %s -> %s via line %s (%s)" % + (dependent_sha1[:8], dependency_sha1[:8], line_num, + GitUtils.oneline(dependency))) + + if dependency_sha1 in self.todo_d: + self.logger.debug( + " Dependency on %s via line %s already in TODO" + % (dependency_sha1[:8], line_num,)) + return + + if dependency_sha1 in self.done_d: + self.logger.debug( + " Dependency on %s via line %s already done" % + (dependency_sha1[:8], line_num,)) + return + + if dependency_sha1 not in self.dependencies: + if self.options.recurse: + self.todo.append(dependency) + self.todo_d[dependency.hex] = True + self.logger.debug(" + Added %s to TODO" % + dependency.hex[:8]) + def branch_contains(self, commit, branch): sha1 = commit.hex branch_commit = self.get_commit(branch) |