[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