| Index: gclient-new-workdir.py
|
| diff --git a/gclient-new-workdir.py b/gclient-new-workdir.py
|
| index 6c241c50b204480a10c1ed14bee441a1e41b774b..c469824753ec587771dd1bdf8da1e4dc7aefb67e 100755
|
| --- a/gclient-new-workdir.py
|
| +++ b/gclient-new-workdir.py
|
| @@ -13,6 +13,8 @@ import subprocess
|
| import sys
|
| import textwrap
|
|
|
| +import git_common
|
| +
|
|
|
| def print_err(msg):
|
| print >> sys.stderr, msg
|
| @@ -32,7 +34,7 @@ def usage(msg=None):
|
|
|
| <repository> should contain a .gclient file
|
| <new_workdir> must not exist
|
| - ''' % os.path.basename(sys.argv[0])
|
| + '''% os.path.basename(sys.argv[0])
|
|
|
| print_err(textwrap.dedent(usage_msg))
|
| sys.exit(1)
|
| @@ -70,43 +72,11 @@ def main():
|
| for root, dirs, _ in os.walk(repository):
|
| if '.git' in dirs:
|
| workdir = root.replace(repository, new_workdir, 1)
|
| - make_workdir(os.path.join(root, '.git'),
|
| - os.path.join(workdir, '.git'))
|
| -
|
| -
|
| -def make_workdir(repository, new_workdir):
|
| - print('Creating: ' + new_workdir)
|
| - os.makedirs(new_workdir)
|
| -
|
| - GIT_DIRECTORY_WHITELIST = [
|
| - 'config',
|
| - 'info',
|
| - 'hooks',
|
| - 'logs/refs',
|
| - 'objects',
|
| - 'packed-refs',
|
| - 'refs',
|
| - 'remotes',
|
| - 'rr-cache',
|
| - 'svn'
|
| - ]
|
| -
|
| - for entry in GIT_DIRECTORY_WHITELIST:
|
| - make_symlink(repository, new_workdir, entry)
|
| -
|
| - shutil.copy2(os.path.join(repository, 'HEAD'),
|
| - os.path.join(new_workdir, 'HEAD'))
|
| - subprocess.check_call(['git', 'checkout', '-f'],
|
| - cwd=new_workdir.rstrip('.git'))
|
| -
|
| -
|
| -def make_symlink(repository, new_workdir, link):
|
| - if not os.path.exists(os.path.join(repository, link)):
|
| - return
|
| - link_dir = os.path.dirname(os.path.join(new_workdir, link))
|
| - if not os.path.exists(link_dir):
|
| - os.makedirs(link_dir)
|
| - os.symlink(os.path.join(repository, link), os.path.join(new_workdir, link))
|
| + print('Creating: %s' % workdir)
|
| + git_common.make_workdir(os.path.join(root, '.git'),
|
| + os.path.join(workdir, '.git'))
|
| + subprocess.check_call(['git', 'checkout', '-f'],
|
| + cwd=new_workdir.rstrip('.git'))
|
|
|
|
|
| if __name__ == '__main__':
|
|
|