Mercurial > hg > mercurial-crew-with-dirclash
comparison contrib/convert-repo @ 4082:6b2909e84203
convert-repo converts symlinks from git
author | Daniel Holth <dholth@fastmail.fm> |
---|---|
date | Tue, 30 Jan 2007 23:09:06 -0500 |
parents | 516f883e3d79 |
children | 59de487f43d7 06d65498f73b |
comparison
equal
deleted
inserted
replaced
4081:e6d26e71f049 | 4082:6b2909e84203 |
---|---|
251 elif line.startswith("Mbinary "): | 251 elif line.startswith("Mbinary "): |
252 count = int(self.readp.readline()[:-1]) | 252 count = int(self.readp.readline()[:-1]) |
253 data = self.readp.read(count) | 253 data = self.readp.read(count) |
254 else: | 254 else: |
255 if line == "ok\n": | 255 if line == "ok\n": |
256 return (data, "x" in mode) | 256 return (data, "x" in mode and "x" or "") |
257 elif line.startswith("E "): | 257 elif line.startswith("E "): |
258 warn("cvs server: %s\n" % line[2:]) | 258 warn("cvs server: %s\n" % line[2:]) |
259 elif line.startswith("Remove"): | 259 elif line.startswith("Remove"): |
260 l = self.readp.readline() | 260 l = self.readp.readline() |
261 l = self.readp.readline() | 261 l = self.readp.readline() |
319 if "\t" not in l: continue | 319 if "\t" not in l: continue |
320 m, f = l[:-1].split("\t") | 320 m, f = l[:-1].split("\t") |
321 m = m.split() | 321 m = m.split() |
322 h = m[3] | 322 h = m[3] |
323 p = (m[1] == "100755") | 323 p = (m[1] == "100755") |
324 self.modecache[(f, h)] = p | 324 s = (m[1] == "120000") |
325 self.modecache[(f, h)] = (p and "x") or (s and "l") or "" | |
325 changes.append((f, h)) | 326 changes.append((f, h)) |
326 return changes | 327 return changes |
327 | 328 |
328 def getcommit(self, version): | 329 def getcommit(self, version): |
329 c = self.catfile(version, "commit") # read the commit hash | 330 c = self.catfile(version, "commit") # read the commit hash |
388 def getheads(self): | 389 def getheads(self): |
389 h = self.repo.changelog.heads() | 390 h = self.repo.changelog.heads() |
390 return [ hg.hex(x) for x in h ] | 391 return [ hg.hex(x) for x in h ] |
391 | 392 |
392 def putfile(self, f, e, data): | 393 def putfile(self, f, e, data): |
393 self.repo.wwrite(f, data, e and 'x' or '') | 394 self.repo.wwrite(f, data, e) |
394 if self.repo.dirstate.state(f) == '?': | 395 if self.repo.dirstate.state(f) == '?': |
395 self.repo.dirstate.update([f], "a") | 396 self.repo.dirstate.update([f], "a") |
396 | 397 |
397 def delfile(self, f): | 398 def delfile(self, f): |
398 try: | 399 try: |