diff options
Diffstat (limited to 'subcmds/info.py')
| -rw-r--r-- | subcmds/info.py | 55 |
1 files changed, 33 insertions, 22 deletions
diff --git a/subcmds/info.py b/subcmds/info.py index d62e1e64..6c1246ef 100644 --- a/subcmds/info.py +++ b/subcmds/info.py | |||
| @@ -1,5 +1,3 @@ | |||
| 1 | # -*- coding:utf-8 -*- | ||
| 2 | # | ||
| 3 | # Copyright (C) 2012 The Android Open Source Project | 1 | # Copyright (C) 2012 The Android Open Source Project |
| 4 | # | 2 | # |
| 5 | # Licensed under the Apache License, Version 2.0 (the "License"); | 3 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| @@ -14,18 +12,22 @@ | |||
| 14 | # See the License for the specific language governing permissions and | 12 | # See the License for the specific language governing permissions and |
| 15 | # limitations under the License. | 13 | # limitations under the License. |
| 16 | 14 | ||
| 15 | import optparse | ||
| 16 | |||
| 17 | from command import PagedCommand | 17 | from command import PagedCommand |
| 18 | from color import Coloring | 18 | from color import Coloring |
| 19 | from git_refs import R_M | 19 | from git_refs import R_M, R_HEADS |
| 20 | |||
| 20 | 21 | ||
| 21 | class _Coloring(Coloring): | 22 | class _Coloring(Coloring): |
| 22 | def __init__(self, config): | 23 | def __init__(self, config): |
| 23 | Coloring.__init__(self, config, "status") | 24 | Coloring.__init__(self, config, "status") |
| 24 | 25 | ||
| 26 | |||
| 25 | class Info(PagedCommand): | 27 | class Info(PagedCommand): |
| 26 | common = True | 28 | COMMON = True |
| 27 | helpSummary = "Get info on the manifest branch, current branch or unmerged branches" | 29 | helpSummary = "Get info on the manifest branch, current branch or unmerged branches" |
| 28 | helpUsage = "%prog [-dl] [-o [-b]] [<project>...]" | 30 | helpUsage = "%prog [-dl] [-o [-c]] [<project>...]" |
| 29 | 31 | ||
| 30 | def _Options(self, p): | 32 | def _Options(self, p): |
| 31 | p.add_option('-d', '--diff', | 33 | p.add_option('-d', '--diff', |
| @@ -34,22 +36,28 @@ class Info(PagedCommand): | |||
| 34 | p.add_option('-o', '--overview', | 36 | p.add_option('-o', '--overview', |
| 35 | dest='overview', action='store_true', | 37 | dest='overview', action='store_true', |
| 36 | help='show overview of all local commits') | 38 | help='show overview of all local commits') |
| 37 | p.add_option('-b', '--current-branch', | 39 | p.add_option('-c', '--current-branch', |
| 38 | dest="current_branch", action="store_true", | 40 | dest="current_branch", action="store_true", |
| 39 | help="consider only checked out branches") | 41 | help="consider only checked out branches") |
| 42 | p.add_option('--no-current-branch', | ||
| 43 | dest='current_branch', action='store_false', | ||
| 44 | help='consider all local branches') | ||
| 45 | # Turn this into a warning & remove this someday. | ||
| 46 | p.add_option('-b', | ||
| 47 | dest='current_branch', action='store_true', | ||
| 48 | help=optparse.SUPPRESS_HELP) | ||
| 40 | p.add_option('-l', '--local-only', | 49 | p.add_option('-l', '--local-only', |
| 41 | dest="local", action="store_true", | 50 | dest="local", action="store_true", |
| 42 | help="Disable all remote operations") | 51 | help="disable all remote operations") |
| 43 | |||
| 44 | 52 | ||
| 45 | def Execute(self, opt, args): | 53 | def Execute(self, opt, args): |
| 46 | self.out = _Coloring(self.manifest.globalConfig) | 54 | self.out = _Coloring(self.client.globalConfig) |
| 47 | self.heading = self.out.printer('heading', attr = 'bold') | 55 | self.heading = self.out.printer('heading', attr='bold') |
| 48 | self.headtext = self.out.nofmt_printer('headtext', fg = 'yellow') | 56 | self.headtext = self.out.nofmt_printer('headtext', fg='yellow') |
| 49 | self.redtext = self.out.printer('redtext', fg = 'red') | 57 | self.redtext = self.out.printer('redtext', fg='red') |
| 50 | self.sha = self.out.printer("sha", fg = 'yellow') | 58 | self.sha = self.out.printer("sha", fg='yellow') |
| 51 | self.text = self.out.nofmt_printer('text') | 59 | self.text = self.out.nofmt_printer('text') |
| 52 | self.dimtext = self.out.printer('dimtext', attr = 'dim') | 60 | self.dimtext = self.out.printer('dimtext', attr='dim') |
| 53 | 61 | ||
| 54 | self.opt = opt | 62 | self.opt = opt |
| 55 | 63 | ||
| @@ -122,11 +130,14 @@ class Info(PagedCommand): | |||
| 122 | self.printSeparator() | 130 | self.printSeparator() |
| 123 | 131 | ||
| 124 | def findRemoteLocalDiff(self, project): | 132 | def findRemoteLocalDiff(self, project): |
| 125 | #Fetch all the latest commits | 133 | # Fetch all the latest commits. |
| 126 | if not self.opt.local: | 134 | if not self.opt.local: |
| 127 | project.Sync_NetworkHalf(quiet=True, current_branch_only=True) | 135 | project.Sync_NetworkHalf(quiet=True, current_branch_only=True) |
| 128 | 136 | ||
| 129 | logTarget = R_M + self.manifest.manifestProject.config.GetBranch("default").merge | 137 | branch = self.manifest.manifestProject.config.GetBranch('default').merge |
| 138 | if branch.startswith(R_HEADS): | ||
| 139 | branch = branch[len(R_HEADS):] | ||
| 140 | logTarget = R_M + branch | ||
| 130 | 141 | ||
| 131 | bareTmp = project.bare_git._bare | 142 | bareTmp = project.bare_git._bare |
| 132 | project.bare_git._bare = False | 143 | project.bare_git._bare = False |
| @@ -195,16 +206,16 @@ class Info(PagedCommand): | |||
| 195 | commits = branch.commits | 206 | commits = branch.commits |
| 196 | date = branch.date | 207 | date = branch.date |
| 197 | self.text('%s %-33s (%2d commit%s, %s)' % ( | 208 | self.text('%s %-33s (%2d commit%s, %s)' % ( |
| 198 | branch.name == project.CurrentBranch and '*' or ' ', | 209 | branch.name == project.CurrentBranch and '*' or ' ', |
| 199 | branch.name, | 210 | branch.name, |
| 200 | len(commits), | 211 | len(commits), |
| 201 | len(commits) != 1 and 's' or '', | 212 | len(commits) != 1 and 's' or '', |
| 202 | date)) | 213 | date)) |
| 203 | self.out.nl() | 214 | self.out.nl() |
| 204 | 215 | ||
| 205 | for commit in commits: | 216 | for commit in commits: |
| 206 | split = commit.split() | 217 | split = commit.split() |
| 207 | self.text('{0:38}{1} '.format('','-')) | 218 | self.text('{0:38}{1} '.format('', '-')) |
| 208 | self.sha(split[0] + " ") | 219 | self.sha(split[0] + " ") |
| 209 | self.text(" ".join(split[1:])) | 220 | self.text(" ".join(split[1:])) |
| 210 | self.out.nl() | 221 | self.out.nl() |
