Index: tools/release/mergeinfo.py |
diff --git a/tools/release/mergeinfo.py b/tools/release/mergeinfo.py |
new file mode 100755 |
index 0000000000000000000000000000000000000000..bf07e9f94af9ed47c959fbd58384b9ae21679649 |
--- /dev/null |
+++ b/tools/release/mergeinfo.py |
@@ -0,0 +1,37 @@ |
+#!/usr/bin/env python |
+# Copyright 2015 the V8 project authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+import argparse |
+import os |
+import sys |
+ |
+from subprocess import call |
+ |
+def print_analysis(gitWorkingDir, hashToSearch): |
+ print '1.) Info' |
+ git_execute(gitWorkingDir, ['status']) |
+ print '2.) Searching for "' + hashToSearch + '"' |
+ print '=====================ORIGINAL COMMIT START=====================' |
+ git_execute(gitWorkingDir, ['show', hashToSearch]) |
+ print '=====================ORIGINAL COMMIT END=====================' |
+ print '#####################FOUND MERGES & REVERTS START#####################' |
+ git_execute(gitWorkingDir, ["log",'--all', '--grep='+hashToSearch]) |
+ print '#####################FOUND MERGES & REVERTS END#####################' |
+ print 'Finished successfully' |
+ |
+def git_execute(workingDir, commands): |
+ return call(["git", '-C', workingDir] + commands) |
+ |
+if __name__ == "__main__": # pragma: no cover |
+ parser = argparse.ArgumentParser('Tool to check where a git commit was merged and reverted.') |
+ parser.add_argument("-g", "--git-dir", required=False, default='.', |
+ help="The path to your git working directory.") |
+ |
+ parser.add_argument('hash', nargs=1, help="Hash of the commit to be searched.") |
+ |
+ args = sys.argv[1:] |
+ options = parser.parse_args(args) |
+ |
+ sys.exit(print_analysis(options.git_dir, options.hash[0])) |