[Checkins] SVN: zc.sourcerelease/trunk/src/zc/sourcerelease/ Symbolic links in projects are preserved.
jim
cvs-admin at zope.org
Mon Dec 17 23:16:29 UTC 2012
Log message for revision 128727:
Symbolic links in projects are preserved.
Changed:
U zc.sourcerelease/trunk/src/zc/sourcerelease/CHANGES.txt
U zc.sourcerelease/trunk/src/zc/sourcerelease/__init__.py
U zc.sourcerelease/trunk/src/zc/sourcerelease/tests.py
-=-
Modified: zc.sourcerelease/trunk/src/zc/sourcerelease/CHANGES.txt
===================================================================
--- zc.sourcerelease/trunk/src/zc/sourcerelease/CHANGES.txt 2012-12-17 22:09:14 UTC (rev 128726)
+++ zc.sourcerelease/trunk/src/zc/sourcerelease/CHANGES.txt 2012-12-17 23:16:29 UTC (rev 128727)
@@ -8,6 +8,7 @@
- Added test extra to declare test dependency on `zope.testing`.
- One test currently fails with `zc.buildout` >=1.5.0.
So the versions of packages that depend on it are pinned.
+- Symbolic links in projects are preserved.
0.3.1 (2009-09-25)
Modified: zc.sourcerelease/trunk/src/zc/sourcerelease/__init__.py
===================================================================
--- zc.sourcerelease/trunk/src/zc/sourcerelease/__init__.py 2012-12-17 22:09:14 UTC (rev 128726)
+++ zc.sourcerelease/trunk/src/zc/sourcerelease/__init__.py 2012-12-17 23:16:29 UTC (rev 128727)
@@ -86,10 +86,10 @@
try:
if url.startswith('file://'):
- shutil.copytree(urlparse.urlparse(url)[2], co1)
+ shutil.copytree(urlparse.urlparse(url)[2], co1, symlinks=True)
else:
_system('svn', 'export', url, co1)
- shutil.copytree(co1, co2)
+ shutil.copytree(co1, co2, symlinks=True)
cache = os.path.join(co2, 'release-distributions')
os.mkdir(cache)
buildout = zc.buildout.buildout.Buildout(
@@ -128,8 +128,8 @@
for dist in dists:
if os.path.isdir(dist):
shutil.copytree(dist,
- os.path.join(eggs, os.path.basename(dist))
- )
+ os.path.join(eggs, os.path.basename(dist)),
+ symlinks=True)
else:
shutil.copy(dist, eggs)
Modified: zc.sourcerelease/trunk/src/zc/sourcerelease/tests.py
===================================================================
--- zc.sourcerelease/trunk/src/zc/sourcerelease/tests.py 2012-12-17 22:09:14 UTC (rev 128726)
+++ zc.sourcerelease/trunk/src/zc/sourcerelease/tests.py 2012-12-17 23:16:29 UTC (rev 128727)
@@ -25,7 +25,41 @@
import zc.buildout.testing
+def test_symbolic_links():
+ """
+ >>> mkdir('sample')
+ >>> sample = join(sample_buildout, 'sample')
+ >>> write(sample, 'buildout.cfg',
+ ... '''
+ ... [buildout]
+ ... parts = sample
+ ... find-links = %(link_server)s
+ ...
+ ... [sample]
+ ... recipe = zc.recipe.egg
+ ... eggs = sample1
+ ... ''' % globals())
+ >>> os.symlink('./buildout.cfg', join(sample, 'x'))
+
+ >>> print system(join('bin', 'buildout-source-release')
+ ... +' file://'+sample+' buildout.cfg'),
+ ... # doctest: +ELLIPSIS
+ Creating source release in sample.tgz
+ ...
+ >>> test = mkdir('test')
+ >>> import tarfile
+ >>> tf = tarfile.open('sample.tgz', 'r:gz')
+ >>> for name in tf.getnames():
+ ... tf.extract(name, 'test')
+ >>> tf.close()
+
+ >>> os.readlink(join('test', 'sample', 'x'))
+ 'buildout.cfg'
+
+ """
+
+
def mkdist(dest, name, **kw):
options = dict(name=name, version='1.0',
url='http://www.zope.org',
@@ -136,6 +170,16 @@
(re.compile(r'-\S+-py'), ''),
]),
),
+ doctest.DocTestSuite(
+ setUp=setUp, tearDown=zc.buildout.testing.buildoutTearDown,
+ checker=renormalizing.RENormalizing([
+ (re.compile(r'distribute(-?(?:\w|[.-])+\.egg)'),
+ r'setuptools\1'),
+ zc.buildout.testing.normalize_path,
+ zc.buildout.testing.normalize_egg_py,
+ (re.compile(r'-\S+-py'), ''),
+ ]),
+ ),
))
if __name__ == '__main__':
More information about the checkins
mailing list