- Timestamp:
- May 18, 2016, 6:14:32 PM (8 years ago)
- Location:
- CMT/HEAD
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
CMT/HEAD/ChangeLog
r670 r678 1 2016-05-18 <rybkin@lal.in2p3.fr> 527 2 3 * mgr/cmt_svn_checkout.py: For trunk checkout, skip the check whether 4 trunk corresponds to a particular tag if CMTHEADVERSION is unset, empty, 5 or its value starts with '!' 6 1 7 2014-02-04 <rybkin@lal.in2p3.fr> 526 2 8 -
CMT/HEAD/mgr/cmt_svn_checkout.py
r650 r678 24 24 """ 25 25 26 __version__ = '0. 8.0'27 __date__ = 'Wed Jul 31 2013'26 __version__ = '0.9.0' 27 __date__ = 'Wed May 18 2016' 28 28 __author__ = 'Grigory Rybkin' 29 29 … … 204 204 self.with_version_directory = with_version_directory 205 205 self.cleanup = cleanup 206 self.head_version = head_version 207 self.env() 208 209 def env(self): 210 if self.head_version is None: 211 self.set_head_version(os.getenv('CMTHEADVERSION', 'HEAD')) 212 # print >>sys.stderr, 'env: set head_version: %s' % self.head_version 206 if head_version: 207 self.set_head_version(head_version) 208 else: 209 self.set_head_version(os.getenv('CMTHEADVERSION', '')) 213 210 214 211 def set_head_version(self, version): 215 self.head_version = str(version).replace('<package>', '%(package)s').replace('<PACKAGE>', '%(PACKAGE)s').replace('<revision>', '%(revision)i') 212 if not version: 213 self.head_version = '' 214 self.head_version_tag = False 215 elif version.startswith('!'): 216 # it may be appropriate to strip the leading '!' 217 # that will require synchronization with C++ code, however 218 # self.head_version = version[1:] 219 self.head_version = version 220 self.head_version_tag = False 221 else: 222 self.head_version = version 223 self.head_version_tag = True 216 224 217 225 def eval_head_version(self, m): 218 return self.head_version % \ 219 {'package' : m.package, 220 'PACKAGE' : m.package.upper(), 221 'revision' : m.info.last_changed_rev} 226 return str(self.head_version).replace('<package>', '%(package)s').replace('<PACKAGE>', '%(PACKAGE)s').replace('<revision>', '%(revision)i') % \ 227 {'package' : m.package, 228 'PACKAGE' : m.package.upper(), 229 'revision' : m.info.last_changed_rev} \ 230 or 'HEAD' 222 231 223 232 def write(self, p, version): … … 597 606 if self.version is None: 598 607 m.head = True 599 m.version = self.trunk_tag(m, client_context) or \ 600 cmt_context.eval_head_version(m) 601 # print >>sys.stderr, 'set version: %s' % m.version 608 if cmt_context.head_version_tag: 609 m.version = self.trunk_tag(m, client_context) or \ 610 cmt_context.eval_head_version(m) 611 else: 612 trunk = posixpath.join(m.url, self.trunk) 613 cmd = 'svn info %s' % trunk 614 scc, out = Utils.getstatusoutput(cmd) 615 logger.debug('%s\n%s' % (cmd, out)) 616 if scc != 0: 617 logger.error('%s\n%s' % (cmd, out)) 618 sc += 1; continue 619 p = r'last\s+changed\s+rev:\s+(?P<rev>\d+)' 620 M = re.search(p, out, re.I) 621 if M: 622 class info(object): pass 623 info.last_changed_rev = int(M.group('rev')) 624 self.info_receiver(trunk, info, m) 625 logger.debug('last_changed_rev: %d' % info.last_changed_rev) 626 else: 627 logger.warning('%s: last_changed_rev: Not found' % trunk) 628 m.version = cmt_context.eval_head_version(m) 629 logger.debug('set version: %s' % m.version) 602 630 else: 603 631 m.head = False
Note: See TracChangeset
for help on using the changeset viewer.