Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/localrepo.py @ 3790:f183c18568df
localrepo: change aftertrans to be independant of the store path
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Tue, 05 Dec 2006 11:28:21 +0100 |
parents | b1eeaeb936ae |
children | 8643b9f90b51 |
comparison
equal
deleted
inserted
replaced
3789:734b1d6ba3dc | 3790:f183c18568df |
---|---|
481 ds = self.opener("dirstate").read() | 481 ds = self.opener("dirstate").read() |
482 except IOError: | 482 except IOError: |
483 ds = "" | 483 ds = "" |
484 self.opener("journal.dirstate", "w").write(ds) | 484 self.opener("journal.dirstate", "w").write(ds) |
485 | 485 |
486 renames = [(self.sjoin("journal"), self.sjoin("undo")), | |
487 (self.join("journal.dirstate"), self.join("undo.dirstate"))] | |
486 tr = transaction.transaction(self.ui.warn, self.sopener, | 488 tr = transaction.transaction(self.ui.warn, self.sopener, |
487 self.sjoin("journal"), | 489 self.sjoin("journal"), |
488 aftertrans(self.path)) | 490 aftertrans(renames)) |
489 self.transhandle = tr | 491 self.transhandle = tr |
490 return tr | 492 return tr |
491 | 493 |
492 def recover(self): | 494 def recover(self): |
493 l = self.lock() | 495 l = self.lock() |
1895 if stream and not heads and remote.capable('stream'): | 1897 if stream and not heads and remote.capable('stream'): |
1896 return self.stream_in(remote) | 1898 return self.stream_in(remote) |
1897 return self.pull(remote, heads) | 1899 return self.pull(remote, heads) |
1898 | 1900 |
1899 # used to avoid circular references so destructors work | 1901 # used to avoid circular references so destructors work |
1900 def aftertrans(base): | 1902 def aftertrans(files): |
1901 p = base | 1903 renamefiles = [tuple(t) for t in files] |
1902 def a(): | 1904 def a(): |
1903 util.rename(os.path.join(p, "journal"), os.path.join(p, "undo")) | 1905 for src, dest in renamefiles: |
1904 util.rename(os.path.join(p, "journal.dirstate"), | 1906 util.rename(src, dest) |
1905 os.path.join(p, "undo.dirstate")) | |
1906 return a | 1907 return a |
1907 | 1908 |
1908 def instance(ui, path, create): | 1909 def instance(ui, path, create): |
1909 return localrepository(ui, util.drop_scheme('file', path), create) | 1910 return localrepository(ui, util.drop_scheme('file', path), create) |
1910 | 1911 |