def get_filenames_diff(self, r): """Get the py files which have been changed since rev.""" cmd = self.filenames_diff_cmd(r) diff_files = shell_out_ignore_exitcode(cmd, cwd=self.root) diff_files = self.parse_diff_filenames(diff_files) return set(f for f in diff_files if f.endswith('.py'))
def get_filenames_diff(self, r): """Get the py files which have been changed since rev.""" cmd = self.filenames_diff_cmd(r) diff_files = shell_out_ignore_exitcode(cmd, cwd=self.root) diff_files = self.parse_diff_filenames(diff_files) return set(f for f in diff_files if f.endswith(".py"))
def merge_base(self, rev1, rev2): # Note: find-merge-base just returns rev1 if rev2 is not found # we assume that rev2 is a legitamate revision. # the following raise a CalledProcessError if it's a bad revision shell_out(["bzr", "log", "-c", rev1], cwd=self.root) output = shell_out_ignore_exitcode(["bzr", "find-merge-base", rev1, rev2], cwd=self.root) # 'merge base is revision [email protected]' return output.rsplit(" ", 1)[1]
def merge_base(self, rev1, rev2): # Note: find-merge-base just returns rev1 if rev2 is not found # we assume that rev2 is a legitamate revision. # the following raise a CalledProcessError if it's a bad revision shell_out(['bzr', 'log', '-c', rev1], cwd=self.root) output = shell_out_ignore_exitcode( ['bzr', 'find-merge-base', rev1, rev2], cwd=self.root) # 'merge base is revision [email protected]' return output.rsplit(' ', 1)[1]
def modified_lines(self, r, file_name): """Returns the line numbers of a file which have been changed.""" cmd = self.file_diff_cmd(r, file_name) diff = shell_out_ignore_exitcode(cmd, cwd=self.root) return list(self.modified_lines_from_diff(diff))