- git = subprocess.Popen(['git',
- '-C',
- git_cache.git_cachedir(channel.git_repo),
- 'archive',
- pin.git_revision],
- stdout=subprocess.PIPE)
- tar = subprocess.Popen(
- ['tar', 'x', '-C', dest, '-f', '-'], stdin=git.stdout)
- if git.stdout:
- git.stdout.close()
- tar.wait()
- git.wait()
- v.result(git.returncode == 0 and tar.returncode == 0)
+ with subprocess.Popen(
+ ['git', '-C', git_cache.git_cachedir(channel.git_repo), 'archive', pin.git_revision],
+ stdout=subprocess.PIPE) as git:
+ with subprocess.Popen(['tar', 'x', '-C', dest, '-f', '-'], stdin=git.stdout) as tar:
+ if git.stdout:
+ git.stdout.close()
+ tar.wait()
+ git.wait()
+ v.result(git.returncode == 0 and tar.returncode == 0)