def repository(path): # build an example repository object and try some things out ignore_dirs = [ 'docs', 'tests', 'Data' ] r = Repository(path) # is it bare? print('\nRepo bare?') print(r.is_bare()) print('\n') # get the commit history ch = r.commit_history('HEAD', limit=None, extensions=['py'], ignore_dir=ignore_dirs) print(ch.head(5)) # get the list of committers print('\nCommiters:') print(''.join([str(x) + '\n' for x in set(ch['committer'].values)])) print('\n') # print out everyone's contributions attr = ch.reindex(columns=['committer', 'lines', 'insertions', 'deletions']).groupby(['committer']) attr = attr.agg({ 'lines': np.sum, 'insertions': np.sum, 'deletions': np.sum }) print(attr) # get the file change history fh = r.file_change_history('HEAD', limit=None, ignore_dir=ignore_dirs) fh['ext'] = fh['filename'].map(lambda x: x.split('.')[-1]) print(fh.head(50)) # print out unique extensions print('\nExtensions Found:') print(''.join([str(x) + '\n' for x in set(fh['ext'].values)])) print('\n') # agg by extension etns = fh.reindex(columns=['ext', 'insertions', 'deletions']).groupby(['ext']) etns = etns.agg({ 'insertions': np.sum, 'deletions': np.sum }) print(etns)
def repository(): # build an example repository object then check the attributes r = Repository('git://github.com/wdm0006/git-pandas.git') print('\nRepository Name') print(r.repo_name) print('\nRepository Branches:') print(r.branches()) print('\nRepository Tags:') print(r.tags()) print('\nRepository Revisions:') print(r.revs()) print('\nRepository Blame:') print(r.blame(include_globs=['*.py'])) print('\nRepository Is Bare:') print(r.is_bare())