Browse Source

Add git tree subfolder search

main 0.2.2
parent
commit
4fc8f379a4
1 changed files with 13 additions and 3 deletions
  1. +13
    -3
      src/pkgupdates/package.py

+ 13
- 3
src/pkgupdates/package.py View File

@ -21,15 +21,25 @@ PkgVersion = collections.namedtuple("PkgVersion",
def get_packages_from_tree():
"""Get files from git tree"""
res = {}
repo = git.Repo(os.getcwd())
cwdir = os.getcwd()
repo = git.Repo(cwdir, search_parent_directories=True)
tree = repo.commit().tree
overroot = repo.git.rev_parse("--show-toplevel")
creldir = cwdir.replace(overroot, '')
if creldir.startswith("/"):
creldir = creldir[1:]
if repo.bare:
return
for entry in repo.commit().tree.traverse():
for entry in tree.traverse():
file = entry.path
root = os.path.dirname(file)
if not file.endswith('.ebuild'):
continue
if creldir not in file:
continue
p1 = os.path.split(root)
p2 = os.path.split(p1[0])
pkg = os.path.join(p2[1], p1[1])
@ -41,7 +51,7 @@ def get_packages_from_tree():
if pkg in res:
res[pkg]["versions"].append(match.groups()[0])
else:
metadata = get_metadata(root)
metadata = get_metadata(os.path.join(overroot, root))
if metadata is None:
metadata = {}
res[pkg] = metadata


Loading…
Cancel
Save