mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-21 07:16:21 +00:00
Allow the manifest to be accessed it if is in work tree
If the manifest's work tree is actually inside of the rest of the client work tree then its only fair that we include it as a project that the user can access. Signed-off-by: Shawn O. Pearce <sop@google.com>
This commit is contained in:
parent
75b87c8a51
commit
ce86abbe8a
15
command.py
15
command.py
@ -71,6 +71,12 @@ class Command(object):
|
|||||||
"""A list of projects that match the arguments.
|
"""A list of projects that match the arguments.
|
||||||
"""
|
"""
|
||||||
all = self.manifest.projects
|
all = self.manifest.projects
|
||||||
|
|
||||||
|
mp = self.manifest.manifestProject
|
||||||
|
if mp.relpath == '.':
|
||||||
|
all = dict(all)
|
||||||
|
all[mp.name] = mp
|
||||||
|
|
||||||
result = []
|
result = []
|
||||||
|
|
||||||
if not args:
|
if not args:
|
||||||
@ -91,7 +97,9 @@ class Command(object):
|
|||||||
for p in all.values():
|
for p in all.values():
|
||||||
by_path[p.worktree] = p
|
by_path[p.worktree] = p
|
||||||
|
|
||||||
if os.path.exists(path):
|
try:
|
||||||
|
project = by_path[path]
|
||||||
|
except KeyError:
|
||||||
while path \
|
while path \
|
||||||
and path != '/' \
|
and path != '/' \
|
||||||
and path != self.manifest.topdir:
|
and path != self.manifest.topdir:
|
||||||
@ -100,11 +108,6 @@ class Command(object):
|
|||||||
break
|
break
|
||||||
except KeyError:
|
except KeyError:
|
||||||
path = os.path.dirname(path)
|
path = os.path.dirname(path)
|
||||||
else:
|
|
||||||
try:
|
|
||||||
project = by_path[path]
|
|
||||||
except KeyError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
if not project:
|
if not project:
|
||||||
raise NoSuchProjectError(arg)
|
raise NoSuchProjectError(arg)
|
||||||
|
Loading…
Reference in New Issue
Block a user