diff options
Diffstat (limited to 'source-builder')
-rw-r--r-- | source-builder/sb/download.py | 12 | ||||
-rw-r--r-- | source-builder/sb/git.py | 3 |
2 files changed, 11 insertions, 4 deletions
diff --git a/source-builder/sb/download.py b/source-builder/sb/download.py index 17d1d7e..16aa251 100644 --- a/source-builder/sb/download.py +++ b/source-builder/sb/download.py @@ -423,10 +423,6 @@ def _git_downloader(url, local, config, opts): log.notice('git: checkout: %s => %s' % (us[0], _as[1])) if _do_download(opts): repo.checkout(_as[1]) - elif _as[0] == 'pull': - log.notice('git: pull: %s' % (us[0])) - if _do_download(opts): - repo.pull() elif _as[0] == 'submodule': if len(_as) != 2: raise error.general('invalid git submodule: %s' % (_as)) @@ -437,6 +433,14 @@ def _git_downloader(url, local, config, opts): log.notice('git: fetch: %s -> %s' % (us[0], rlp)) if _do_download(opts): repo.fetch() + elif _as[0] == 'merge': + log.notice('git: merge: %s' % (us[0])) + if _do_download(opts): + repo.merge() + elif _as[0] == 'pull': + log.notice('git: pull: %s' % (us[0])) + if _do_download(opts): + repo.pull() elif _as[0] == 'reset': arg = [] if len(_as) > 1: diff --git a/source-builder/sb/git.py b/source-builder/sb/git.py index d115845..19fbed0 100644 --- a/source-builder/sb/git.py +++ b/source-builder/sb/git.py @@ -78,6 +78,9 @@ class repo: def fetch(self): ec, output = self._run(['fetch'], check = True) + def merge(self): + ec, output = self._run(['merge'], check = True) + def pull(self): ec, output = self._run(['pull'], check = True) |