diff options
Diffstat (limited to 'command.py')
| -rw-r--r-- | command.py | 15 |
1 files changed, 9 insertions, 6 deletions
| @@ -71,6 +71,12 @@ class Command(object): | |||
| 71 | """A list of projects that match the arguments. | 71 | """A list of projects that match the arguments. |
| 72 | """ | 72 | """ |
| 73 | all = self.manifest.projects | 73 | all = self.manifest.projects |
| 74 | |||
| 75 | mp = self.manifest.manifestProject | ||
| 76 | if mp.relpath == '.': | ||
| 77 | all = dict(all) | ||
| 78 | all[mp.name] = mp | ||
| 79 | |||
| 74 | result = [] | 80 | result = [] |
| 75 | 81 | ||
| 76 | if not args: | 82 | if not args: |
| @@ -91,7 +97,9 @@ class Command(object): | |||
| 91 | for p in all.values(): | 97 | for p in all.values(): |
| 92 | by_path[p.worktree] = p | 98 | by_path[p.worktree] = p |
| 93 | 99 | ||
| 94 | if os.path.exists(path): | 100 | try: |
| 101 | project = by_path[path] | ||
| 102 | except KeyError: | ||
| 95 | while path \ | 103 | while path \ |
| 96 | and path != '/' \ | 104 | and path != '/' \ |
| 97 | and path != self.manifest.topdir: | 105 | and path != self.manifest.topdir: |
| @@ -100,11 +108,6 @@ class Command(object): | |||
| 100 | break | 108 | break |
| 101 | except KeyError: | 109 | except KeyError: |
| 102 | path = os.path.dirname(path) | 110 | path = os.path.dirname(path) |
| 103 | else: | ||
| 104 | try: | ||
| 105 | project = by_path[path] | ||
| 106 | except KeyError: | ||
| 107 | pass | ||
| 108 | 111 | ||
| 109 | if not project: | 112 | if not project: |
| 110 | raise NoSuchProjectError(arg) | 113 | raise NoSuchProjectError(arg) |
