Index: CMT/HEAD/ChangeLog
===================================================================
--- CMT/HEAD/ChangeLog	(revision 497)
+++ CMT/HEAD/ChangeLog	(revision 498)
@@ -1,7 +1,11 @@
+2009-04-29    <rybkin@lal.in2p3.fr> 393
+	
+	* mgr/cmt_svn_checkout.py: To allow for checkout of branch tags
+	
 2009-04-29    <rybkin@lal.in2p3.fr> 392
 	
 	* source/cmt_system.cxx: In function CmtSystem::execute, return -1 on
 	failure and return status of the command otherwise
-	* source/cmt_vcs.cxx: Ensure "cmt checkout" command exist status is set to
+	* source/cmt_vcs.cxx: Ensure "cmt checkout" command exit status is set to
 	a nonzero value on error. In particular, in function execute_and_retry, on
 	failure, exit with the exit status of the last failed command, in function
@@ -16,5 +20,5 @@
 	* source/cmt_error.cxx: idem
 	* source/cmt_commands.cxx: Set CmtError::syntax_error for "cmt checkout"
-	command when appropriate to ensure the exist status is set to a nonzero
+	command when appropriate to ensure the exit status is set to a nonzero
 	value on error. Add the mention of SVN to help message
 	* source/cmt_vcs.h: Declare generic CVS-like checkout class Vcs (for
Index: CMT/HEAD/mgr/cmt_svn_checkout.py
===================================================================
--- CMT/HEAD/mgr/cmt_svn_checkout.py	(revision 497)
+++ CMT/HEAD/mgr/cmt_svn_checkout.py	(revision 498)
@@ -23,6 +23,6 @@
 """
 
-__version__ = '0.1.2'
-__date__ = 'Mon Apr 28 2009'
+__version__ = '0.1.4'
+__date__ = 'Mon Apr 29 2009'
 __author__ = 'Grigory Rybkin'
 
@@ -253,8 +253,13 @@
 
             if m.head:
-                m.url = posixpath.join(m.url, self.trunk)
+                m.URL = [posixpath.join(m.url, self.trunk)]
             else:
-                m.url = posixpath.join(m.url, self.tags, m.version)
-            m.url = core.svn_path_canonicalize(m.url)
+#                m.url = posixpath.join(m.url, self.tags, m.version)
+                m.URL = [posixpath.join(m.url, p, m.version)
+                         for p in (self.tags, self.branches)]
+                #m.URL = [posixpath.join(m.url, self.tags, m.version),
+                #         posixpath.join(m.url, self.branches, m.version)]
+            #m.url = core.svn_path_canonicalize(m.url)
+            m.URL = [core.svn_path_canonicalize(url) for url in m.URL]
 
             if cmt_context.with_version_directory:
@@ -265,4 +270,5 @@
 
             m.init = True
+#            print m.URL, m.path, m.init
             
 #        for m in self.modules:
@@ -275,17 +281,28 @@
         for m in self.modules:
             if not m.init: continue
-            try:
-#                print 'client.checkout2:', m.url, m.path
-                result_rev = client.checkout2(m.url,
-                                              m.path,
-                                              self.head_revision,
-                                              self.head_revision,
-                                              True,
-                                              True,
-                                              client_context())
-            except core.SubversionException, e:
-                print >> sys.stderr, e
-                sc += 1
+            done = False
+            err = []
+            for url in m.URL:
+                try:
+                    #print 'client.checkout2:', url, m.path
+                    result_rev = client.checkout2(url,
+                                                  m.path,
+                                                  self.head_revision,
+                                                  self.head_revision,
+                                                  True,
+                                                  True,
+                                                  client_context())
+                except core.SubversionException, e:
+                    err.append(e)
+                    continue
+                done = True
+                break
+
+            if not done:
+                for e in err:
+                    print >> sys.stderr, e
+                    sc += 1
                 continue
+
 #            print 'Checked out revision %i.' % result_rev
             scc = cmt_context.configure(m.path, m.version)
