Mercurial > public > mercurial-scm > hg
comparison mercurial/hg.py @ 3791:8643b9f90b51
introduce localrepo.spath for the store path, sopener fixes
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Tue, 05 Dec 2006 11:28:23 +0100 |
parents | 8ae88ed2a3b6 |
children | aaeb7f5d1052 972d14a5a227 |
comparison
equal
deleted
inserted
replaced
3790:f183c18568df | 3791:8643b9f90b51 |
---|---|
127 if self.dir_: | 127 if self.dir_: |
128 self.rmtree(self.dir_, True) | 128 self.rmtree(self.dir_, True) |
129 | 129 |
130 dest_repo = repository(ui, dest, create=True) | 130 dest_repo = repository(ui, dest, create=True) |
131 | 131 |
132 dest_path = None | |
133 dir_cleanup = None | 132 dir_cleanup = None |
134 if dest_repo.local(): | 133 if dest_repo.local(): |
135 dest_path = os.path.realpath(dest_repo.root) | 134 dir_cleanup = DirCleanup(os.path.realpath(dest_repo.root)) |
136 dir_cleanup = DirCleanup(dest_path) | |
137 | 135 |
138 abspath = source | 136 abspath = source |
139 copy = False | 137 copy = False |
140 if src_repo.local() and dest_repo.local(): | 138 if src_repo.local() and dest_repo.local(): |
141 abspath = os.path.abspath(source) | 139 abspath = os.path.abspath(source) |
152 except lock.LockException: | 150 except lock.LockException: |
153 copy = False | 151 copy = False |
154 | 152 |
155 if copy: | 153 if copy: |
156 # we lock here to avoid premature writing to the target | 154 # we lock here to avoid premature writing to the target |
157 dest_lock = lock.lock(os.path.join(dest_path, ".hg", "lock")) | 155 src_store = os.path.realpath(src_repo.spath) |
156 dest_store = os.path.realpath(dest_repo.spath) | |
157 dest_lock = lock.lock(os.path.join(dest_store, "lock")) | |
158 | 158 |
159 files = ("data", | 159 files = ("data", |
160 "00manifest.d", "00manifest.i", | 160 "00manifest.d", "00manifest.i", |
161 "00changelog.d", "00changelog.i") | 161 "00changelog.d", "00changelog.i") |
162 for f in files: | 162 for f in files: |
163 src = os.path.join(source, ".hg", f) | 163 src = os.path.join(src_store, f) |
164 dst = os.path.join(dest_path, ".hg", f) | 164 dst = os.path.join(dest_store, f) |
165 try: | 165 try: |
166 util.copyfiles(src, dst) | 166 util.copyfiles(src, dst) |
167 except OSError, inst: | 167 except OSError, inst: |
168 if inst.errno != errno.ENOENT: | 168 if inst.errno != errno.ENOENT: |
169 raise | 169 raise |