[Checkins] SVN: zc.sourcerelease/trunk/src/zc/sourcerelease/ When
trunk, tags or branches is in the svn url, try to compile a
Maurits van Rees
m.van.rees at zestsoftware.nl
Thu May 1 07:39:50 EDT 2008
Log message for revision 85993:
When trunk, tags or branches is in the svn url, try to compile a
better name instead of e.g. trunk.tgz.
Changed:
U zc.sourcerelease/trunk/src/zc/sourcerelease/CHANGES.txt
U zc.sourcerelease/trunk/src/zc/sourcerelease/README.txt
U zc.sourcerelease/trunk/src/zc/sourcerelease/__init__.py
-=-
Modified: zc.sourcerelease/trunk/src/zc/sourcerelease/CHANGES.txt
===================================================================
--- zc.sourcerelease/trunk/src/zc/sourcerelease/CHANGES.txt 2008-05-01 11:35:14 UTC (rev 85992)
+++ zc.sourcerelease/trunk/src/zc/sourcerelease/CHANGES.txt 2008-05-01 11:39:49 UTC (rev 85993)
@@ -4,6 +4,12 @@
0.3 (unreleased)
----------------
+New Features
+++++++++++++
+
+When trunk, tags or branches is in the svn url, try to compile a
+better name instead of e.g. trunk.tgz.
+
Bugs Fixed
++++++++++
Modified: zc.sourcerelease/trunk/src/zc/sourcerelease/README.txt
===================================================================
--- zc.sourcerelease/trunk/src/zc/sourcerelease/README.txt 2008-05-01 11:35:14 UTC (rev 85992)
+++ zc.sourcerelease/trunk/src/zc/sourcerelease/README.txt 2008-05-01 11:39:49 UTC (rev 85993)
@@ -79,7 +79,7 @@
>>> print system(join('bin', 'buildout-source-release')
... +' file://'+sample+' buildout.cfg'),
... # doctest: +ELLIPSIS
- Creating source release.
+ Creating source release in sample.tgz
...
We end up with a tar file:
@@ -194,7 +194,7 @@
... 'svn://svn.zope.org/repos/main/zc.sourcerelease/svnsample'+
... ' release.cfg'),
... # doctest: +ELLIPSIS
- Creating source release.
+ Creating source release in svnsample.tgz
... The referenced section, 'repos', was not defined.
The svnsample config, release.cfg, has::
@@ -214,7 +214,7 @@
... ' release.cfg'+
... ' repos:svnsample='+link_server),
... # doctest: +ELLIPSIS
- Creating source release.
+ Creating source release in svnsample.tgz
...
>>> ls('.')
@@ -244,6 +244,36 @@
>>> print system(join('svntest', 'svnsample', 'bin', 'sample')),
sample from svn called
+When making a source release of a subversion export, we want to make
+sure it has a decent name instead of trunk.tgz. We check this with
+some locations that do not actually exist, but are fine for testing.
+We can handle the default subversion convention of trunk, branches and
+tags.
+
+ >>> print system(join('bin', 'buildout-source-release')+' '+
+ ... 'svn://svn.zope.org/repos/main/zc.sourcerelease/svnsample'+
+ ... '/trunk buildout.cfg'),
+ ... # doctest: +ELLIPSIS
+ Creating source release in svnsample.tgz
+ svn: URL ... doesn't exist
+ ...
+
+ >>> print system(join('bin', 'buildout-source-release')+' '+
+ ... 'svn://svn.zope.org/repos/main/zc.sourcerelease/svnsample'+
+ ... '/branches/1.0 buildout.cfg'),
+ ... # doctest: +ELLIPSIS
+ Creating source release in svnsample.tgz
+ svn: URL ... doesn't exist
+ ...
+
+ >>> print system(join('bin', 'buildout-source-release')+' '+
+ ... 'svn://svn.zope.org/repos/main/zc.sourcerelease/svnsample'+
+ ... '/tags/1.0.1 buildout.cfg'),
+ ... # doctest: +ELLIPSIS
+ Creating source release in svnsample.tgz
+ svn: URL ... doesn't exist
+ ...
+
You can specify a different configuration file of course. Let's
create one with an error as it contains an absolute path for the
eggs-directory.
@@ -265,7 +295,7 @@
>>> print system(join('bin', 'buildout-source-release')
... +' file://'+sample+' wrong.cfg'),
... # doctest: +ELLIPSIS
- Creating source release.
+ Creating source release in sample.tgz
Invalid eggs directory (perhaps not a relative path) /somewhere/shared-eggs
Modified: zc.sourcerelease/trunk/src/zc/sourcerelease/__init__.py
===================================================================
--- zc.sourcerelease/trunk/src/zc/sourcerelease/__init__.py 2008-05-01 11:35:14 UTC (rev 85992)
+++ zc.sourcerelease/trunk/src/zc/sourcerelease/__init__.py 2008-05-01 11:39:49 UTC (rev 85993)
@@ -61,13 +61,19 @@
section, option = name.split(':')
clopts.append((section, option, value))
- name = url.split('/')[-1]
+ url_parts = url.split('/')
+ if len(url_parts) > 1 and url_parts[-1] == 'trunk':
+ name = url_parts[-2]
+ elif len(url_parts) > 2 and url_parts[-2] in ('tags', 'branches'):
+ name = url_parts[-3]
+ else:
+ name = url_parts[-1]
t1 = tempfile.mkdtemp('source-release1')
t2 = tempfile.mkdtemp('source-release2')
co1 = os.path.join(t1, name)
co2 = os.path.join(t2, name)
here = os.getcwd()
- print 'Creating source release.'
+ print 'Creating source release in %s.tgz' % name
sys.stdout.flush()
try:
More information about the Checkins
mailing list