def initUpstreamSubmodules(): ninja_url = 'https://github.com/martine/ninja.git' chromium_url = 'https://chromium.googlesource.com/chromium/src.git' ninja_shasum = 'refs/tags/' + resolver.currentNinjaVersion() chromium_ref = 'refs/tags/' + resolver.currentVersion() os.chdir(qtwebengine_root) current_submodules = subprocess.check_output(['git', 'submodule']) if not 'src/3rdparty_upstream/ninja' in current_submodules: subprocess.call(['git', 'submodule', 'add', ninja_url, 'src/3rdparty_upstream/ninja']) if not use_external_chromium and not 'src/3rdparty_upstream/chromium' in current_submodules: subprocess.call(['git', 'submodule', 'add', chromium_url, 'src/3rdparty_upstream/chromium']) ninjaSubmodule = GitSubmodule.Submodule() ninjaSubmodule.path = 'src/3rdparty_upstream/ninja' ninjaSubmodule.ref = ninja_shasum ninjaSubmodule.url = ninja_url ninjaSubmodule.os = 'all' ninjaSubmodule.initialize() if not use_external_chromium: chromiumSubmodule = GitSubmodule.Submodule() chromiumSubmodule.path = 'src/3rdparty_upstream/chromium' chromiumSubmodule.ref = chromium_ref chromiumSubmodule.url = chromium_url chromiumSubmodule.os = 'all' chromiumSubmodule.initialize() chromiumSubmodule.initSubmodules() # Unstage repositories so we do not accidentally commit them. subprocess.call(['git', 'reset', '-q', 'HEAD', 'src/3rdparty_upstream/ninja']) subprocess.call(['git', 'reset', '-q', 'HEAD', 'src/3rdparty_upstream/chromium'])
def findShaAndCheckout(self): oldCwd = os.getcwd() os.chdir(self.path) # Fetch the shasum we parsed from the DEPS file. error = subprocessCall(['git', 'fetch', 'origin', self.ref]) if error != 0: print('ERROR: Could not fetch ' + self.ref + ' from upstream origin.') return error error = subprocessCall(['git', 'checkout', 'FETCH_HEAD']); current_shasum = subprocessCheckOutput(['git', 'rev-parse', 'HEAD']).strip() current_tag = subprocessCheckOutput(['git', 'name-rev', '--tags', '--name-only', current_shasum]).strip() if current_tag == resolver.currentVersion(): # We checked out a tagged version of chromium. self.ref = current_shasum if not self.ref: # No shasum could be deduced, use the submodule shasum. os.chdir(oldCwd) line = subprocessCheckOutput(['git', 'submodule', 'status', self.path]) os.chdir(self.path) line = line.lstrip(' -') self.ref = line.split(' ')[0] if not self.ref.startswith(current_shasum): # In case HEAD differs check out the actual shasum we require. subprocessCall(['git', 'fetch']) error = subprocessCall(['git', 'checkout', self.ref]) os.chdir(oldCwd) return error
def findShaAndCheckout(self): oldCwd = os.getcwd() os.chdir(self.path) error = 0 if self.ref: # Fetch the ref we parsed from the DEPS file. val = subprocessCall(['git', 'fetch', 'origin', self.ref]) if val != 0: sys.exit("Could not fetch branch from upstream " + self.ref) error = subprocessCall(['git', 'checkout', 'FETCH_HEAD']); search_string = '' if self.path.endswith('/chromium'): search_string = resolver.currentVersion() elif self.revision: search_string = '@' + str(self.revision) + ' ' if search_string: line = subprocessCheckOutput(['git', 'log', '-n1', '--pretty=oneline', '--grep=' + search_string]) if line: self.shasum = line.split(' ')[0] else: # No revision set, use the submodule shasum os.chdir(oldCwd) line = subprocessCheckOutput(['git', 'submodule', 'status', self.path]) os.chdir(self.path) line = line.lstrip(' -') self.shasum = line.split(' ')[0] current_shasum = subprocessCheckOutput(['git', 'show', '-s', '--oneline']).split(' ')[0] if not self.shasum.startswith(current_shasum): # In case HEAD differs check out the actual shasum we require. error = subprocessCall(['git', 'checkout', self.shasum]) os.chdir(oldCwd) return error
def findShaAndCheckout(self): oldCwd = os.getcwd() os.chdir(self.path) # Fetch the shasum we parsed from the DEPS file. error = subprocessCall(['git', 'fetch', 'origin', self.ref]) if error != 0: print('ERROR: Could not fetch ' + self.ref + ' from upstream origin.') return error error = subprocessCall(['git', 'checkout', 'FETCH_HEAD']) current_shasum = subprocessCheckOutput(['git', 'rev-parse', 'HEAD']).strip() current_tag = subprocessCheckOutput( ['git', 'name-rev', '--tags', '--name-only', current_shasum]).strip() if current_tag == resolver.currentVersion(): # We checked out a tagged version of chromium. self.ref = current_shasum if not self.ref: # No shasum could be deduced, use the submodule shasum. os.chdir(oldCwd) line = subprocessCheckOutput( ['git', 'submodule', 'status', self.path]) os.chdir(self.path) line = line.lstrip(' -') self.ref = line.split(' ')[0] if not self.ref.startswith(current_shasum): # In case HEAD differs check out the actual shasum we require. subprocessCall(['git', 'fetch']) error = subprocessCall(['git', 'checkout', self.ref]) os.chdir(oldCwd) return error