Changeset 51 in tailor for vcpx/cvs.py
- Timestamp:
- 07/06/04 00:10:28 (9 years ago)
- Hash name:
- 20040705221028-97f81-0f860f643ab56ed6d68769d5c0e93deafc93542b
- File:
-
- 1 edited
-
vcpx/cvs.py (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
vcpx/cvs.py
r50 r51 15 15 16 16 from shwrap import SystemCommand 17 from source import UpdatableSourceWorkingDir 18 from target import SyncronizableTargetWorkingDir 17 from source import UpdatableSourceWorkingDir, ChangesetApplicationFailure 18 from target import SyncronizableTargetWorkingDir, TargetInitializationFailure 19 19 20 20 … … 194 194 yield Changeset(**pset) 195 195 196 def _applyChangeset(self, root, changeset ):196 def _applyChangeset(self, root, changeset, logger=None): 197 197 from os.path import join, exists, dirname 198 198 from os import makedirs … … 206 206 cvsup(output=True, entry=e.name, revision=e.new_revision) 207 207 208 if cvsup.exit_status: 209 raise ChangesetApplicationFailure( 210 "'cvs update' returned status %s" % cvsup.exit_status) 211 208 212 if e.action_kind == e.DELETED: 209 213 # XXX: should drop edir if empty 210 214 pass 211 215 212 213 ## SyncronizableTargetWorkingDir 214 215 def _addEntry(self, root, entry): 216 """ 217 Add a new entry, maybe registering the directory as well. 218 """ 219 220 from os.path import split, join, exists 221 222 basedir = split(entry)[0] 223 if basedir and not exists(join(root, basedir, 'CVS')): 224 self._addEntry(root, basedir) 225 226 c = CvsAdd(working_dir=root) 227 c(entry=entry) 228 229 def _checkoutUpstreamRevision(self, basedir, repository, module, revision): 216 def _checkoutUpstreamRevision(self, basedir, repository, module, revision, 217 logger=None): 230 218 """ 231 219 Concretely do the checkout of the upstream sources. Use `revision` as … … 244 232 module=module, 245 233 revision=revision) 234 if c.exit_status: 235 raise TargetInitializationFailure( 236 "'cvs checkout' returned status %s" % c.exit_status) 237 else: 238 if logger: logger.info("Using existing %s", wdir) 246 239 247 240 self.__forceTagOnEachEntry(wdir) … … 268 261 break 269 262 270 assert found, "Something went wrong, did not find the right cvsps revision in '%s'" % wdir 271 263 if not found: 264 raise TargetInitializationFailure( 265 "Something went wrong, did not find the right cvsps " 266 "revision in '%s'" % wdir) 267 else: 268 if logger: logger.info("working copy up to cvsps revision %s", 269 last.revision) 270 272 271 return last.revision 272 273 274 ## SyncronizableTargetWorkingDir 275 276 def _addEntry(self, root, entry): 277 """ 278 Add a new entry, maybe registering the directory as well. 279 """ 280 281 from os.path import split, join, exists 282 283 basedir = split(entry)[0] 284 if basedir and not exists(join(root, basedir, 'CVS')): 285 self._addEntry(root, basedir) 286 287 c = CvsAdd(working_dir=root) 288 c(entry=entry) 273 289 274 290 def __forceTagOnEachEntry(self, root):
Note: See TracChangeset
for help on using the changeset viewer.
