def _parse_commit_log(repo_path): from vbench.git import parser, _convert_timezones from pandas import Series git_cmd = "git --git-dir=%s/.git --work-tree=%s " % (repo_path, repo_path) githist = git_cmd + ( "log --graph --pretty=format:" '"::%h::%cd::%s::%an" > githist.txt' ) os.system(githist) githist = open("githist.txt").read() os.remove("githist.txt") shas = [] timestamps = [] messages = [] authors = [] for line in githist.split("\n"): if "*" not in line.split("::")[0]: # skip non-commit lines continue _, sha, stamp, message, author = line.split("::", 4) # parse timestamp into datetime object stamp = parser.parse(stamp) shas.append(sha) timestamps.append(stamp) messages.append(message) authors.append(author) # to UTC for now timestamps = _convert_timezones(timestamps) shas = Series(shas, timestamps) messages = Series(messages, shas) timestamps = Series(timestamps, shas) authors = Series(authors, shas) return shas[::-1], messages[::-1], timestamps[::-1], authors[::-1]
def _parse_commit_log(this,repo_path,base_commit=None): from vbench.git import parser, _convert_timezones from pandas import Series git_cmd = 'git --git-dir=%s/.git --work-tree=%s ' % (repo_path, repo_path) githist = git_cmd + ('log --graph --pretty=format:'+ '\"::%h::%cd::%s::%an\"'+ ('%s..' % base_commit)+ '> githist.txt') os.system(githist) githist = open('githist.txt').read() os.remove('githist.txt') shas = [] timestamps = [] messages = [] authors = [] for line in githist.split('\n'): if '*' not in line.split("::")[0]: # skip non-commit lines continue _, sha, stamp, message, author = line.split('::', 4) # parse timestamp into datetime object stamp = parser.parse(stamp) shas.append(sha) timestamps.append(stamp) messages.append(message) authors.append(author) # to UTC for now timestamps = _convert_timezones(timestamps) shas = Series(shas, timestamps) messages = Series(messages, shas) timestamps = Series(timestamps, shas) authors = Series(authors, shas) return shas[::-1], messages[::-1], timestamps[::-1], authors[::-1]
def _parse_commit_log(repo_path): from vbench.git import parser, _convert_timezones from pandas import Series git_cmd = "git --git-dir=%s/.git --work-tree=%s " % (repo_path, repo_path) githist = git_cmd + ("log --graph --pretty=format:" '"::%h::%cd::%s::%an" > githist.txt') os.system(githist) githist = open("githist.txt").read() os.remove("githist.txt") shas = [] timestamps = [] messages = [] authors = [] for line in githist.split("\n"): if "*" not in line.split("::")[0]: # skip non-commit lines continue _, sha, stamp, message, author = line.split("::", 4) # parse timestamp into datetime object stamp = parser.parse(stamp) shas.append(sha) timestamps.append(stamp) messages.append(message) authors.append(author) # to UTC for now timestamps = _convert_timezones(timestamps) shas = Series(shas, timestamps) messages = Series(messages, shas) timestamps = Series(timestamps, shas) authors = Series(authors, shas) return shas[::-1], messages[::-1], timestamps[::-1], authors[::-1]