Commit 191d81d5 authored by Paweł Szostek's avatar Paweł Szostek

git backend: towards portability...

parent 6baf6f8a
......@@ -45,21 +45,29 @@ class Git(object):
@staticmethod
def get_git_submodules(module):
submodule_dir = path.rel2abs(module.path)
logging.info("Checking git submodules in %s" % submodule_dir)
cmd = "(cd %s && git config --list | grep submodule | sed 's/.*=//')" % submodule_dir
config_submodules = Popen(cmd,
logging.debug("Checking git submodules in %s" % submodule_dir)
curdir = os.getcwd()
os.chdir(submodule_dir)
#"git config --list" | grep submodule | sed 's/.*=//')" % submodule_dir
config_content = Popen("git config --list",
stdout=PIPE,
stdin=PIPE,
shell=True)
config_submodules = [line.strip() for line in config_submodules.stdout.readlines()]
cmd = "(cd %s && cat ./.gitmodules | grep url | sed 's/url = //')" % submodule_dir
dotgitmodules_submodules = Popen(cmd,
stdout=PIPE,
stdin=PIPE,
shell=True)
dotgitmodules_submodules = [line.strip() for line in dotgitmodules_submodules.stdout.readlines()]
config_lines = [line.strip() for line in config_content.stdout.readlines()]
config_submodule_lines = [line for line in config_lines if "submodule" in line]
config_submodules = [line.split("=")[-1] for line in config_submodule_lines]
#"(cd %s && cat ./.gitmodules 2>/dev/null | grep url | sed 's/url = //')" % submodule_dir
dotgitmodules_file = open(".gitmodules", 'r')
dotgitmodules_lines = dotgitmodules_file.readlines()
url_lines = [line for line in dotgitmodules_lines if 'url' in line]
dotgitmodules_submodules = [line.split(" = ")[-1].strip() for line in url_lines]
set(config_submodules).update(set(dotgitmodules_submodules))
submodules = list(config_submodules)
if len(submodules) > 0:
logging.info("Found git submodules in %s" % module.path)
return submodules
def fetch(self, module):
......
......@@ -24,6 +24,7 @@ from __future__ import print_function
import os
import logging
import global_mod
import sys
import new_dep_solver as dep_solver
from util import path as path_mod
from fetch import BackendFactory
......@@ -141,7 +142,10 @@ class ModulePool(list):
bf = BackendFactory()
fetcher = bf.get_backend(module)
fetcher.fetch(module)
result = fetcher.fetch(module)
if result is False:
logging.error("Unable to fetch module %s" % module.url)
sys.exit("Exiting")
module.parse_manifest()
module.process_manifest()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment