diff options
Diffstat (limited to 'sugar-jhbuild')
-rwxr-xr-x | sugar-jhbuild | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sugar-jhbuild b/sugar-jhbuild index 5cd450c..5f964fa 100755 --- a/sugar-jhbuild +++ b/sugar-jhbuild @@ -5,13 +5,19 @@ import sys import subprocess base_dir = os.path.abspath(os.path.dirname(__file__)) -sys.path.append(os.path.join(base_dir, 'build-scripts', 'jhbuild')) +jhbuild_dir = os.path.join(base_dir, 'build-scripts', 'jhbuild') +sys.path.append(jhbuild_dir) # The update needs to be very early, before we load any module if len(sys.argv) == 1 or (len(sys.argv) > 1 and sys.argv[1] == 'build'): print 'Updating sugar-jhbuild...' - retcode = subprocess.call(['git', 'pull']) - if retcode: + + try: + subprocess.check_call(['git', 'pull']) + if not os.path.exists(os.path.join(jhbuild_dir, '.git')): + subprocess.check_call(['git', 'submodule', 'init']) + subprocess.check_call(['git', 'submodule', 'update']) + except subprocess.CalledProcessError: print 'sugar-jhbuild update failed.' import main |