Index: git-utils/git-tree-prune |
diff --git a/git-utils/git-tree-prune b/git-utils/git-tree-prune |
deleted file mode 100755 |
index 8ff047db069421cca09033ea4a19c2e8dde0c49b..0000000000000000000000000000000000000000 |
--- a/git-utils/git-tree-prune |
+++ /dev/null |
@@ -1,85 +0,0 @@ |
-#!/usr/bin/env python |
-# Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-"""Lists branches with closed and abandoned issues.""" |
- |
-import optparse |
-import os |
-import sys |
-import urllib2 |
- |
-BASE_DIR = os.path.dirname(os.path.abspath(__file__)) |
-DEPOT_TOOLS_DIR = os.path.dirname(BASE_DIR) |
-sys.path.insert(0, DEPOT_TOOLS_DIR) |
- |
-import git_cl |
- |
- |
-def get_branches(): |
- """Get list of all local git branches.""" |
- return [Branch(l[2:]) for l in git_cl.RunGit(["branch"]).splitlines()] |
- |
- |
-class Branch(git_cl.Changelist): |
- def __init__(self, name): |
- git_cl.Changelist.__init__(self, branchref=name) |
- self._issue_status = None |
- |
- def GetStatus(self): |
- if not self._issue_status: |
- if self.GetIssue(): |
- try: |
- issue_properties = self.RpcServer().get_issue_properties( |
- self.GetIssue(), None) |
- if issue_properties['closed']: |
- self._issue_status = 'closed' |
- else: |
- self._issue_status = 'pending' |
- except urllib2.HTTPError, e: |
- if e.code == 404: |
- self._issue_status = 'abandoned' |
- else: |
- self._issue_status = 'no-issue' |
- return self._issue_status |
- |
- |
-def main(): |
- parser = optparse.OptionParser(usage=sys.modules['__main__'].__doc__) |
- options, args = parser.parse_args() |
- if args: |
- parser.error('Unsupported arg: %s' % args) |
- |
- branches = get_branches() |
- filtered = { 'closed' : [], |
- 'pending' : [], |
- 'abandoned' : [], |
- 'no-issue' : []} |
- |
- for branch in branches: |
- filtered[branch.GetStatus()].append(branch) |
- |
- print "# Branches with closed issues" |
- for branch in filtered['closed']: |
- print "git branch -D %s # Issue %s is closed." % (branch.GetBranch(), |
- branch.GetIssue()) |
- |
- print "\n# Pending Branches" |
- for branch in filtered['pending']: |
- print "# Branch %s - Issue %s" % (branch.GetBranch(), branch.GetIssue()) |
- |
- print "\n# Branches with abandoned issues" |
- for branch in filtered['abandoned']: |
- print "# Branch %s - was issue %s" % ( |
- branch.GetBranch(), branch.GetIssue()) |
- |
- print "\n# Branches without associated issues" |
- for branch in filtered['no-issue']: |
- print "# Branch %s" % (branch.GetBranch()) |
- |
- return 0 |
- |
- |
-if __name__ == '__main__': |
- sys.exit(main()) |