Show More
@@ -977,6 +977,7 b' class revlog(object):' | |||||
977 |
|
977 | |||
978 | tr.add(self.datafile, dataoff) |
|
978 | tr.add(self.datafile, dataoff) | |
979 | df = self.opener(self.datafile, 'w') |
|
979 | df = self.opener(self.datafile, 'w') | |
|
980 | try: | |||
980 | calc = self._io.size |
|
981 | calc = self._io.size | |
981 | for r in xrange(self.count()): |
|
982 | for r in xrange(self.count()): | |
982 | start = self.start(r) + (r + 1) * calc |
|
983 | start = self.start(r) + (r + 1) * calc | |
@@ -984,8 +985,10 b' class revlog(object):' | |||||
984 | fp.seek(start) |
|
985 | fp.seek(start) | |
985 | d = fp.read(length) |
|
986 | d = fp.read(length) | |
986 | df.write(d) |
|
987 | df.write(d) | |
|
988 | finally: | |||
|
989 | df.close() | |||
|
990 | ||||
987 | fp.close() |
|
991 | fp.close() | |
988 | df.close() |
|
|||
989 | fp = self.opener(self.indexfile, 'w', atomictemp=True) |
|
992 | fp = self.opener(self.indexfile, 'w', atomictemp=True) | |
990 | self.version &= ~(REVLOGNGINLINEDATA) |
|
993 | self.version &= ~(REVLOGNGINLINEDATA) | |
991 | self._inline = False |
|
994 | self._inline = False | |
@@ -993,6 +996,7 b' class revlog(object):' | |||||
993 | e = self._io.packentry(self.index[i], self.node, self.version, i) |
|
996 | e = self._io.packentry(self.index[i], self.node, self.version, i) | |
994 | fp.write(e) |
|
997 | fp.write(e) | |
995 |
|
998 | |||
|
999 | fp.close() | |||
996 | # if we don't call rename, the temp file will never replace the |
|
1000 | # if we don't call rename, the temp file will never replace the | |
997 | # real index |
|
1001 | # real index | |
998 | fp.rename() |
|
1002 | fp.rename() | |
@@ -1013,7 +1017,12 b' class revlog(object):' | |||||
1013 | if not self._inline: |
|
1017 | if not self._inline: | |
1014 | dfh = self.opener(self.datafile, "a") |
|
1018 | dfh = self.opener(self.datafile, "a") | |
1015 | ifh = self.opener(self.indexfile, "a+") |
|
1019 | ifh = self.opener(self.indexfile, "a+") | |
|
1020 | try: | |||
1016 | return self._addrevision(text, transaction, link, p1, p2, d, ifh, dfh) |
|
1021 | return self._addrevision(text, transaction, link, p1, p2, d, ifh, dfh) | |
|
1022 | finally: | |||
|
1023 | if dfh: | |||
|
1024 | dfh.close() | |||
|
1025 | ifh.close() | |||
1017 |
|
1026 | |||
1018 | def _addrevision(self, text, transaction, link, p1, p2, d, ifh, dfh): |
|
1027 | def _addrevision(self, text, transaction, link, p1, p2, d, ifh, dfh): | |
1019 | node = hash(text, p1, p2) |
|
1028 | node = hash(text, p1, p2) | |
@@ -1154,6 +1163,7 b' class revlog(object):' | |||||
1154 | transaction.add(self.datafile, end) |
|
1163 | transaction.add(self.datafile, end) | |
1155 | dfh = self.opener(self.datafile, "a") |
|
1164 | dfh = self.opener(self.datafile, "a") | |
1156 |
|
1165 | |||
|
1166 | try: | |||
1157 | # loop through our set of deltas |
|
1167 | # loop through our set of deltas | |
1158 | chain = None |
|
1168 | chain = None | |
1159 | for chunk in revs: |
|
1169 | for chunk in revs: | |
@@ -1234,6 +1244,10 b' class revlog(object):' | |||||
1234 | base = self.base(t) |
|
1244 | base = self.base(t) | |
1235 | start = self.start(base) |
|
1245 | start = self.start(base) | |
1236 | end = self.end(t) |
|
1246 | end = self.end(t) | |
|
1247 | finally: | |||
|
1248 | if dfh: | |||
|
1249 | dfh.close() | |||
|
1250 | ifh.close() | |||
1237 |
|
1251 | |||
1238 | return node |
|
1252 | return node | |
1239 |
|
1253 |
General Comments 0
You need to be logged in to leave comments.
Login now