summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cerbero/build/source.py3
-rw-r--r--cerbero/config.py2
-rw-r--r--test/test_cerbero_config.py1
3 files changed, 4 insertions, 2 deletions
diff --git a/cerbero/build/source.py b/cerbero/build/source.py
index db23ac7e..5bfc1cae 100644
--- a/cerbero/build/source.py
+++ b/cerbero/build/source.py
@@ -124,7 +124,8 @@ class GitCache (Source):
git.add_remote(self.repo_dir, remote, url)
# fetch remote branches
git.fetch(self.repo_dir, fail=False)
- git.checkout(self.repo_dir, self.commit)
+ commit = self.config.force_git_commit or self.commit
+ git.checkout(self.repo_dir, commit)
class LocalTarball (GitCache):
diff --git a/cerbero/config.py b/cerbero/config.py
index 0d7ae063..d5f4500e 100644
--- a/cerbero/config.py
+++ b/cerbero/config.py
@@ -56,7 +56,7 @@ class Config (object):
'install_dir', 'allow_parallel_build', 'num_of_cpus',
'use_configure_cache', 'packages_prefix', 'packager',
'data_dir', 'min_osx_sdk_version', 'external_recipes',
- 'external_packages', 'use_ccache']
+ 'external_packages', 'use_ccache', 'force_git_commit']
def __init__(self, filename=None, load=True):
self._check_uninstalled()
diff --git a/test/test_cerbero_config.py b/test/test_cerbero_config.py
index 30504d1b..e40f0e4f 100644
--- a/test/test_cerbero_config.py
+++ b/test/test_cerbero_config.py
@@ -89,6 +89,7 @@ class LinuxPackagesTest(unittest.TestCase):
'external_packages': {},
'external_recipes': {},
'use_ccache': None,
+ 'force_git_commit': None,
}
self.assertEquals(sorted(config._properties), sorted(props.keys()))
for p, v in props.iteritems():