Show More
@@ -94,20 +94,19 b' class changelog(revlog.revlog):' | |||||
94 | self._divert = False |
|
94 | self._divert = False | |
95 | revlog.revlog.__init__(self, self._delayopener, "00changelog.i") |
|
95 | revlog.revlog.__init__(self, self._delayopener, "00changelog.i") | |
96 |
|
96 | |||
97 |
|
||||
98 | def delayupdate(self): |
|
97 | def delayupdate(self): | |
99 | "delay visibility of index updates to other readers" |
|
98 | "delay visibility of index updates to other readers" | |
100 | self._delayed = True |
|
99 | self._delayed = True | |
101 | self._divert = (len(self) == 0) |
|
100 | self._divert = (len(self) == 0) | |
102 | self._delaybuf = [] |
|
101 | self._delaybuf = [] | |
103 | self._delayname = None |
|
|||
104 |
|
102 | |||
105 | def finalize(self, tr): |
|
103 | def finalize(self, tr): | |
106 | "finalize index updates" |
|
104 | "finalize index updates" | |
107 | self._delayed = False |
|
105 | self._delayed = False | |
108 | # move redirected index data back into place |
|
106 | # move redirected index data back into place | |
109 |
if self._d |
|
107 | if self._divert: | |
110 | util.rename(self._delayname + ".a", self._delayname) |
|
108 | n = self._realopener(self.indexfile).name | |
|
109 | util.rename(n + ".a", n) | |||
111 | elif self._delaybuf: |
|
110 | elif self._delaybuf: | |
112 | fp = self.opener(self.indexfile, 'a') |
|
111 | fp = self.opener(self.indexfile, 'a') | |
113 | fp.write("".join(self._delaybuf)) |
|
112 | fp.write("".join(self._delaybuf)) | |
@@ -123,7 +122,6 b' class changelog(revlog.revlog):' | |||||
123 | return fp |
|
122 | return fp | |
124 | # if we're doing an initial clone, divert to another file |
|
123 | # if we're doing an initial clone, divert to another file | |
125 | if self._divert: |
|
124 | if self._divert: | |
126 | self._delayname = fp.name |
|
|||
127 | if not len(self): |
|
125 | if not len(self): | |
128 | # make sure to truncate the file |
|
126 | # make sure to truncate the file | |
129 | mode = mode.replace('a', 'w') |
|
127 | mode = mode.replace('a', 'w') | |
@@ -149,9 +147,9 b' class changelog(revlog.revlog):' | |||||
149 | fp2.close() |
|
147 | fp2.close() | |
150 | # switch modes so finalize can simply rename |
|
148 | # switch modes so finalize can simply rename | |
151 | self._delaybuf = [] |
|
149 | self._delaybuf = [] | |
152 |
self._d |
|
150 | self._divert = True | |
153 |
|
151 | |||
154 |
if self._d |
|
152 | if self._divert: | |
155 | return True |
|
153 | return True | |
156 |
|
154 | |||
157 | return False |
|
155 | return False |
General Comments 0
You need to be logged in to leave comments.
Login now