1980 fp.close() |
1980 fp.close() |
1981 # We can't use the cached file handle after close(). So prevent |
1981 # We can't use the cached file handle after close(). So prevent |
1982 # its usage. |
1982 # its usage. |
1983 self._writinghandles = None |
1983 self._writinghandles = None |
1984 |
1984 |
1985 with self._indexfp(b'r') as ifh, self._datafp(b'w') as dfh: |
1985 if True: |
1986 for r in self: |
1986 with self._indexfp(b'r') as ifh, self._datafp(b'w') as dfh: |
1987 dfh.write(self._getsegmentforrevs(r, r, df=ifh)[1]) |
1987 for r in self: |
1988 if troffset <= self.start(r): |
1988 dfh.write(self._getsegmentforrevs(r, r, df=ifh)[1]) |
1989 trindex = r |
1989 if troffset <= self.start(r): |
1990 |
1990 trindex = r |
1991 with self._indexfp(b'w') as fp: |
1991 |
1992 self._format_flags &= ~FLAG_INLINE_DATA |
1992 with self._indexfp(b'w') as fp: |
1993 self._inline = False |
1993 self._format_flags &= ~FLAG_INLINE_DATA |
1994 for i in self: |
1994 self._inline = False |
1995 e = self.index.entry_binary(i) |
1995 for i in self: |
1996 if i == 0: |
1996 e = self.index.entry_binary(i) |
1997 header = self._format_flags | self._format_version |
1997 if i == 0: |
1998 header = self.index.pack_header(header) |
1998 header = self._format_flags | self._format_version |
1999 e = header + e |
1999 header = self.index.pack_header(header) |
2000 fp.write(e) |
2000 e = header + e |
2001 |
2001 fp.write(e) |
2002 # the temp file replace the real index when we exit the context |
2002 |
2003 # manager |
2003 # the temp file replace the real index when we exit the context |
2004 |
2004 # manager |
2005 tr.replace(self._indexfile, trindex * self.index.entry_size) |
2005 |
2006 nodemaputil.setup_persistent_nodemap(tr, self) |
2006 tr.replace(self._indexfile, trindex * self.index.entry_size) |
2007 self._chunkclear() |
2007 nodemaputil.setup_persistent_nodemap(tr, self) |
|
2008 self._chunkclear() |
2008 |
2009 |
2009 def _nodeduplicatecallback(self, transaction, node): |
2010 def _nodeduplicatecallback(self, transaction, node): |
2010 """called when trying to add a node already stored.""" |
2011 """called when trying to add a node already stored.""" |
2011 |
2012 |
2012 def addrevision( |
2013 def addrevision( |