Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/hg.py @ 741:156dc2f3be7f
Fix some line wrapping
manifest hash: 43af5dafa55e01f89727096f4d6784317f3eb0d6
author | mpm@selenic.com |
---|---|
date | Wed, 20 Jul 2005 20:11:23 -0500 |
parents | d2422f10c136 |
children | 0b245edec124 |
comparison
equal
deleted
inserted
replaced
740:d2422f10c136 | 741:156dc2f3be7f |
---|---|
123 return mdiff.textdiff(a, b) | 123 return mdiff.textdiff(a, b) |
124 return d | 124 return d |
125 else: | 125 else: |
126 return mdiff.textdiff(a, b) | 126 return mdiff.textdiff(a, b) |
127 | 127 |
128 def add(self, map, flags, transaction, link, p1=None, p2=None,changed=None): | 128 def add(self, map, flags, transaction, link, p1=None, p2=None, |
129 changed=None): | |
129 # directly generate the mdiff delta from the data collected during | 130 # directly generate the mdiff delta from the data collected during |
130 # the bisect loop below | 131 # the bisect loop below |
131 def gendelta(delta): | 132 def gendelta(delta): |
132 i = 0 | 133 i = 0 |
133 result = [] | 134 result = [] |
135 start = delta[i][2] | 136 start = delta[i][2] |
136 end = delta[i][3] | 137 end = delta[i][3] |
137 l = delta[i][4] | 138 l = delta[i][4] |
138 if l == None: | 139 if l == None: |
139 l = "" | 140 l = "" |
140 while i < len(delta) - 1 and start <= delta[i+1][2] and end >= delta[i+1][2]: | 141 while i < len(delta) - 1 and start <= delta[i+1][2] \ |
142 and end >= delta[i+1][2]: | |
141 if delta[i+1][3] > end: | 143 if delta[i+1][3] > end: |
142 end = delta[i+1][3] | 144 end = delta[i+1][3] |
143 if delta[i+1][4]: | 145 if delta[i+1][4]: |
144 l += delta[i+1][4] | 146 l += delta[i+1][4] |
145 i += 1 | 147 i += 1 |
175 offsets[i] = offset | 177 offsets[i] = offset |
176 return offsets | 178 return offsets |
177 | 179 |
178 # if we're using the listcache, make sure it is valid and | 180 # if we're using the listcache, make sure it is valid and |
179 # parented by the same node we're diffing against | 181 # parented by the same node we're diffing against |
180 if not changed or not self.listcache or not p1 or self.mapcache[0] != p1: | 182 if not changed or not self.listcache or not p1 or \ |
183 self.mapcache[0] != p1: | |
181 files = map.keys() | 184 files = map.keys() |
182 files.sort() | 185 files.sort() |
183 | 186 |
184 self.addlist = ["%s\000%s%s\n" % | 187 self.addlist = ["%s\000%s%s\n" % |
185 (f, hex(map[f]), flags[f] and "x" or '') | 188 (f, hex(map[f]), flags[f] and "x" or '') |
199 delta = [] | 202 delta = [] |
200 bs = 0 | 203 bs = 0 |
201 | 204 |
202 for w in work: | 205 for w in work: |
203 f = w[0] | 206 f = w[0] |
204 # bs will either be the index of the item or the insertion point | 207 # bs will either be the index of the item or the insert point |
205 bs = bisect.bisect(addlist, f, bs) | 208 bs = bisect.bisect(addlist, f, bs) |
206 if bs < len(addlist): | 209 if bs < len(addlist): |
207 fn = addlist[bs][:addlist[bs].index('\0')] | 210 fn = addlist[bs][:addlist[bs].index('\0')] |
208 else: | 211 else: |
209 fn = None | 212 fn = None |
210 if w[1] == 0: | 213 if w[1] == 0: |
211 l = "%s\000%s%s\n" % (f, hex(map[f]), flags[f] and "x" or '') | 214 l = "%s\000%s%s\n" % (f, hex(map[f]), |
215 flags[f] and "x" or '') | |
212 else: | 216 else: |
213 l = None | 217 l = None |
214 start = bs | 218 start = bs |
215 if fn != f: | 219 if fn != f: |
216 # item not found, insert a new one | 220 # item not found, insert a new one |
812 # update manifest | 816 # update manifest |
813 m1.update(new) | 817 m1.update(new) |
814 for f in remove: | 818 for f in remove: |
815 if f in m1: | 819 if f in m1: |
816 del m1[f] | 820 del m1[f] |
817 mn = self.manifest.add(m1, mf1, tr, linkrev, c1[0], c2[0], (new,remove)) | 821 mn = self.manifest.add(m1, mf1, tr, linkrev, c1[0], c2[0], |
822 (new, remove)) | |
818 | 823 |
819 # add changeset | 824 # add changeset |
820 new = new.keys() | 825 new = new.keys() |
821 new.sort() | 826 new.sort() |
822 | 827 |
862 mf = dict(self.manifest.read(node)) | 867 mf = dict(self.manifest.read(node)) |
863 for fn in mf.keys(): | 868 for fn in mf.keys(): |
864 if not match(fn): | 869 if not match(fn): |
865 del mf[fn] | 870 del mf[fn] |
866 return mf | 871 return mf |
867 | 872 |
868 # are we comparing the working directory? | 873 # are we comparing the working directory? |
869 if not node2: | 874 if not node2: |
870 l, c, a, d, u = self.dirstate.changes(files, match) | 875 l, c, a, d, u = self.dirstate.changes(files, match) |
871 | 876 |
872 # are we comparing working dir against its parent? | 877 # are we comparing working dir against its parent? |
924 for f in list: | 929 for f in list: |
925 p = self.wjoin(f) | 930 p = self.wjoin(f) |
926 if not os.path.exists(p): | 931 if not os.path.exists(p): |
927 self.ui.warn("%s does not exist!\n" % f) | 932 self.ui.warn("%s does not exist!\n" % f) |
928 elif not os.path.isfile(p): | 933 elif not os.path.isfile(p): |
929 self.ui.warn("%s not added: mercurial only supports files currently\n" % f) | 934 self.ui.warn("%s not added: only files supported currently\n" % f) |
930 elif self.dirstate.state(f) in 'an': | 935 elif self.dirstate.state(f) in 'an': |
931 self.ui.warn("%s already tracked!\n" % f) | 936 self.ui.warn("%s already tracked!\n" % f) |
932 else: | 937 else: |
933 self.dirstate.update([f], "a") | 938 self.dirstate.update([f], "a") |
934 | 939 |