Changeset 909 in tailor
- Timestamp:
- 10/16/05 03:42:33 (8 years ago)
- Hash name:
- 20051016014233-97f81-44d6611671f5d5df9cbdd4f1cb6bdbbcc3f4bffb
- Location:
- vcpx
- Files:
-
- 4 edited
-
source.py (modified) (1 diff)
-
tailor.py (modified) (1 diff)
-
tests/statefile.py (modified) (5 diffs)
-
statefile.py (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
vcpx/source.py
r847 r909 185 185 """ 186 186 187 pending = len(self.state_file) 188 if pending == 0: 187 if not self.state_file.pending(): 189 188 last = self.state_file.lastAppliedChangeset() 190 189 if last: -
vcpx/tailor.py
r876 r909 102 102 raise 103 103 104 nchanges = len(pendings) 105 if nchanges: 106 self.log_info("Applying %d upstream changesets" % nchanges) 104 if pendings.pending(): 105 self.log_info("Applying pending upstream changesets") 107 106 108 107 try: -
vcpx/tests/statefile.py
r907 r909 21 21 sf = StateFile(rontf.name, None) 22 22 sf.setPendingChangesets([1,2,3,4,5]) 23 self.assertEqual(len(sf), 5)24 23 25 24 sf = StateFile(rontf.name, None) … … 38 37 sf.applied() 39 38 self.assertEqual(sf.lastAppliedChangeset(), 2) 40 self.assertEqual(len(sf), 3)41 39 sf.finalize() 40 self.assertEqual(sf.pending(), True) 42 41 43 42 sf = StateFile(rontf.name, None) 44 43 self.assertEqual(sf.lastAppliedChangeset(), 2) 45 self.assertEqual(len(sf), 3)46 44 i = 3 47 45 for cs in sf: 48 46 self.assertEqual(cs, i) 47 sf.applied() 49 48 i += 1 49 sf.finalize() 50 self.assertEqual(sf.pending(), False) 50 51 51 52 def testJournal(self): … … 58 59 sf = StateFile(rontf.name, None) 59 60 sf.setPendingChangesets([1,2,3,4,5]) 60 self.assertEqual(len(sf), 5)61 61 62 62 sf = StateFile(rontf.name, None) … … 68 68 sf.applied() 69 69 self.assertEqual(sf.lastAppliedChangeset(), 2) 70 self.assertEqual(len(sf), 3)71 70 self.assert_(exists(rontf.name + '.journal')) 72 71 73 72 sf = StateFile(rontf.name, None) 74 73 self.assertEqual(sf.lastAppliedChangeset(), 2) 75 self.assertEqual(len(sf), 3)76 74 i = 3 77 75 for cs in sf: … … 86 84 sf = StateFile(rontf.name, None) 87 85 sf.setPendingChangesets([1,2,3,4,5]) 88 self.assertEqual(len(sf), 5)89 86 90 87 reversed = list(sf.reversed()) -
vcpx/statefile.py
r907 r909 45 45 self.last_applied = None 46 46 self.current = None 47 self.queuelen = 048 47 49 48 def _load(self): … … 60 59 self.archive = open(self.filename) 61 60 self.last_applied = load(self.archive) 62 self.queuelen = load(self.archive) 61 # compatibility dummity: there was the queuelen here 62 load(self.archive) 63 63 except IOError: 64 64 self.archive = None 65 65 self.last_applied = None 66 self.queuelen = 067 66 68 67 def _write(self, changesets): … … 75 74 sf = open(self.filename, 'w') 76 75 dump(self.last_applied, sf) 77 dump( len(changesets), sf)76 dump(None, sf) 78 77 for cs in changesets: 79 78 dump(cs, sf) … … 97 96 self.archive = None 98 97 raise StopIteration 99 self.queuelen -= 1100 98 return self.current 101 102 def __len__(self):103 if self.archive is None:104 self._load()105 return self.queuelen106 99 107 100 def reversed(self): … … 128 121 yield load(self.archive) 129 122 123 def pending(self): 124 """ 125 Verify if there's at least one changeset still pending. 126 """ 127 128 if self.archive is None: 129 self._load() 130 if self.archive is None: 131 return False 132 133 pos = self.archive.tell() 134 try: 135 next = load(self.archive) 136 except EOFError: 137 next = None 138 self.archive.seek(pos) 139 return next is not None 140 130 141 def applied(self, current=None): 131 142 """ … … 170 181 old = open(self.filename) 171 182 load(old) # last applied 172 queuelen = load(old)173 if queuelen>0:183 load(old) # dummy queuelen 184 try: 174 185 cs = load(old) 175 186 # Skip already applied changesets 176 187 while cs <> last_applied: 177 queuelen -= 1178 if queuelen==0:179 break180 188 cs = load(old) 181 189 except EOFError: 190 cs = None 182 191 sf = open(self.filename + '.new', 'w') 183 192 dump(last_applied, sf) 184 if queuelen==0: 185 dump(queuelen, sf) 186 else: 187 dump(queuelen-1, sf) 193 dump(None, sf) 194 if cs is not None: 188 195 while True: 189 196 try: … … 199 206 sf = open(self.filename, 'w') 200 207 dump(last_applied, sf) 201 dump(0, sf)202 208 sf.close() 203 209
Note: See TracChangeset
for help on using the changeset viewer.
