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 resetUpstream(): oldCwd = os.getcwd() target_dir = os.path.join(upstream_src_dir, 'chromium') os.chdir(target_dir) chromium = GitSubmodule.Submodule() chromium.path = "." submodules = chromium.readSubmodules() submodules.append(chromium) print('-- resetting upstream submodules in ' + os.path.relpath(target_dir) + ' to baseline --') for module in submodules: oldCwd = os.getcwd() module_path = os.path.abspath(os.path.join(target_dir, module.path)) if not os.path.isdir(module_path): continue cwd = os.getcwd() os.chdir(module_path) line = subprocess.check_output([ 'git', 'log', '-n1', '--pretty=oneline', '--grep=-- QtWebEngine baseline --' ]) line = line.split(' ')[0] if line: subprocess.call(['git', 'reset', '-q', '--hard', line]) os.chdir(cwd) module.reset() os.chdir(oldCwd) print('done.\n')
def listFilesInCurrentRepository(): currentRepo = GitSubmodule.Submodule(os.getcwd()) files = subprocess.check_output(['git', 'ls-files']).splitlines() submodules = currentRepo.readSubmodules() for submodule in submodules: submodule_files = submodule.listFiles() for submodule_file in submodule_files: files.append(os.path.join(submodule.path, submodule_file)) return files
def listFilesInCurrentRepository(use_deps=False): currentRepo = GitSubmodule.Submodule(os.getcwd()) files = subprocess.check_output(['git', 'ls-files']).splitlines() submodules = currentRepo.readSubmodules(use_deps) for submodule in submodules: submodule_files = submodule.listFiles() for submodule_file in submodule_files: files.append(os.path.join(submodule.pathRelativeToTopMostSupermodule(), submodule_file)) return files
def initSnapshot(): snapshot = GitSubmodule.Submodule() snapshot.path = 'src/3rdparty' snapshot.os = 'all' snapshot.initialize()
import subprocess import sys qtwebengine_root = os.path.abspath( os.path.join(os.path.dirname(__file__), '..', '..')) snapshot_src_dir = os.path.abspath( os.path.join(qtwebengine_root, 'src/3rdparty')) upstream_src_dir = os.path.abspath(snapshot_src_dir + '_upstream') sys.path.append(os.path.join(qtwebengine_root, 'tools', 'scripts')) import version_resolver as resolver import git_submodule as GitSubmodule target_dir = os.path.join(upstream_src_dir, 'chromium') os.chdir(target_dir) chromium = GitSubmodule.Submodule() chromium.path = "chromium" submodules = chromium.readSubmodules() submodules.append(chromium) patches = resolver.preparePatchesFromSnapshot() errors = {} magic_string = '+++ b/chromium/' print('-- checking patch annotations --') for module in submodules: for path in patches: patch_list = sorted(patches[path]) for patch in patch_list: patch_file = os.path.basename(patch) # Check if the annotation points to a valid submodule dir. if path != 'chromium' and not os.path.isdir(path):