Changeset 692 in tailor
- Timestamp:
- 08/25/05 23:17:26 (8 years ago)
- Hash name:
- 20050825211726-9b991-ad1ed58010cf1d452b3244fd06c7a156906285ac
- File:
-
- 1 edited
-
vcpx/tla.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
vcpx/tla.py
r594 r692 80 80 """ 81 81 82 tempdir = self.__hide_foreign_entries() 83 try: 84 c = ExternalCommand(cwd=self.basedir, 85 command=[self.repository.TLA_CMD, "replay"]) 86 out, err = c.execute(changeset.revision, stdout=PIPE, stderr=PIPE) 87 if not c.exit_status in [0, 1]: 88 raise ChangesetApplicationFailure( 89 "%s returned status %d saying \"%s\"" % 90 (str(c), c.exit_status, err.read())) 91 # drop initial line: "* patching for revision ..." 92 out.readline() 93 conflicts = self.__parse_apply_changeset_output(changeset, out) 94 finally: 95 if tempdir: 96 self.__restore_foreign_entries(tempdir) 82 if self.shared_basedirs: 83 tempdir = self.__hide_foreign_entries() 84 try: 85 conflicts = self.__apply_changeset(changeset) 86 finally: 87 if tempdir: 88 self.__restore_foreign_entries(tempdir) 89 else: 90 conflicts = self.__apply_changeset(changeset) 97 91 return conflicts 98 92 … … 103 97 104 98 fqrev = self.__initial_revision(revision) 105 tempdir = mkdtemp("", ",,tailor-", self.basedir) 106 try: 107 c = ExternalCommand(cwd=os.path.join(self.basedir, tempdir), 108 command=[self.repository.TLA_CMD, "get", 109 "--no-pristine", fqrev, "t"]) 110 out, err = c.execute(stdout=PIPE, stderr=PIPE) 111 if c.exit_status: 112 raise TargetInitializationFailure( 113 "%s returned status %d saying \"%s\"" % 114 (str(c), c.exit_status, err.read())) 115 newtree = os.path.join(tempdir, "t") 116 for e in os.listdir(newtree): 117 os.rename(os.path.join(newtree, e), 118 os.path.join(self.basedir,e)) 119 finally: 120 try: 121 for root, dirs, files in os.walk(tempdir, topdown=False): 122 for name in files: 123 os.remove(os.path.join(root, name)) 124 for name in dirs: 125 os.rmdir(os.path.join(root, name)) 99 if self.shared_basedirs: 100 tempdir = mkdtemp("", ",,tailor-", self.basedir) 101 try: 102 self.__checkout_initial_revision(fqrev, tempdir, "t") 103 finally: 104 newtree = os.path.join(tempdir, "t") 105 if os.path.exists(newtree): 106 for e in os.listdir(newtree): 107 os.rename(os.path.join(newtree, e), 108 os.path.join(self.basedir, e)) 109 os.rmdir(newtree) 126 110 os.rmdir(tempdir) 127 except: 128 pass 111 else: 112 root, destdir = os.path.split(self.basedir) 113 self.__checkout_initial_revision(fqrev, root, destdir) 129 114 return self.__parse_revision_logs([fqrev], False)[0] 130 115 131 116 ## TlaWorkingDir private helper functions 117 118 def __checkout_initial_revision(self, fqrev, root, destdir): 119 if not os.path.exists(root): 120 os.makedirs(root) 121 c = ExternalCommand(cwd=root, 122 command=[self.repository.TLA_CMD, "get", 123 "--no-pristine", fqrev, destdir]) 124 out, err = c.execute(stdout=PIPE, stderr=PIPE) 125 if c.exit_status: 126 raise TargetInitializationFailure( 127 "%s returned status %d saying \"%s\"" % 128 (str(c), c.exit_status, err.read())) 129 130 def __apply_changeset(self, changeset): 131 c = ExternalCommand(cwd=self.basedir, 132 command=[self.repository.TLA_CMD, "replay"]) 133 out, err = c.execute(changeset.revision, stdout=PIPE, stderr=PIPE) 134 if not c.exit_status in [0, 1]: 135 raise ChangesetApplicationFailure( 136 "%s returned status %d saying \"%s\"" % 137 (str(c), c.exit_status, err.read())) 138 # drop initial line: "* patching for revision ..." 139 out.readline() 140 return self.__parse_apply_changeset_output(changeset, out) 132 141 133 142 def __normalize_path(self, path): … … 206 215 command=[self.repository.TLA_CMD, 207 216 "tree-lint", "-tu"]) 208 out = c.execute(stdout=PIPE) 217 out = c.execute(stdout=PIPE)[0] 209 218 tempdir = None 210 219 if c.exit_status:
Note: See TracChangeset
for help on using the changeset viewer.
