本文整理汇总了Python中git.Git.find_shortest_symref方法的典型用法代码示例。如果您正苦于以下问题:Python Git.find_shortest_symref方法的具体用法?Python Git.find_shortest_symref怎么用?Python Git.find_shortest_symref使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类git.Git
的用法示例。
在下文中一共展示了Git.find_shortest_symref方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from git import Git [as 别名]
# 或者: from git.Git import find_shortest_symref [as 别名]
def __init__(self, base_dir=None, wa_dirs=".*", platform=None,
kernel_repo_path=None, parse_traces=True,
use_cached_trace_metrics=True):
self._log = logging.getLogger('WaResultsCollector')
if base_dir:
base_dir = os.path.expanduser(base_dir)
if not isinstance(wa_dirs, basestring):
raise ValueError(
'If base_dir is provided, wa_dirs should be a regexp')
regex = wa_dirs
wa_dirs = self._list_wa_dirs(base_dir, regex)
if not wa_dirs:
raise ValueError("Couldn't find any WA results matching '{}' in {}"
.format(regex, base_dir))
else:
if not hasattr(wa_dirs, '__iter__'):
raise ValueError(
'if base_dir is not provided, wa_dirs should be a list of paths')
wa_dirs = [os.path.expanduser(p) for p in wa_dirs]
self.platform = platform
self.parse_traces = parse_traces
if not self.parse_traces:
self._log.warning("Trace parsing disabled")
self.use_cached_trace_metrics = use_cached_trace_metrics
df = pd.DataFrame()
for wa_dir in wa_dirs:
df = df.append(self._read_wa_dir(wa_dir))
kernel_refs = {}
if kernel_repo_path:
for sha1 in df['kernel_sha1'].unique():
ref = Git.find_shortest_symref(kernel_repo_path, sha1)
if ref:
kernel_refs[sha1] = ref
common_prefix = os.path.commonprefix(kernel_refs.values())
for sha1, ref in kernel_refs.iteritems():
kernel_refs[sha1] = ref[len(common_prefix):]
df['kernel'] = df['kernel_sha1'].replace(kernel_refs)
self.results_df = df