##// END OF EJS Templates
Leak less files during test....
Leak less files during test. Tracks all created files and destroy them all during teardown. Otherwise multiple call to mktmp would leak previously unclosed files. This should really ideally be a context manager and be tracked better.

File last commit:

r20440:9e1db3ce
r24341:09e52292
Show More
make_tarball.py
22 lines | 756 B | text/x-python | PythonLexer
#!/usr/bin/env python
"""Simple script to create a tarball with proper git info.
"""
import subprocess
import os
from toollib import cd, sh
tag = subprocess.check_output('git describe --tags', shell=True).decode('utf8', 'replace').strip()
base_name = 'ipython-%s' % tag
tar_name = '%s.tgz' % base_name
# git archive is weird: Even if I give it a specific path, it still won't
# archive the whole tree. It seems the only way to get the whole tree is to cd
# to the top of the tree. There are long threads (since 2007) on the git list
# about this and it still doesn't work in a sensible way...
cd('..')
git_tpl = 'git archive --format=tar --prefix={0}/ HEAD | gzip > {1}'
sh(git_tpl.format(base_name, tar_name))
sh('mv {0} tools/'.format(tar_name))