Mercurial > public > mercurial-scm > hg
comparison mercurial/hg.py @ 8907:e9ef409e6399
Add (pre)outgoing hooks for local clones.
author | Fred Wulff <frew@cs.stanford.edu> |
---|---|
date | Fri, 17 Apr 2009 16:34:43 -0700 |
parents | ab668c92a036 |
children | a458b9bf4f3a d7d3afd935fa |
comparison
equal
deleted
inserted
replaced
8906:bb255fe7c27e | 8907:e9ef409e6399 |
---|---|
229 src_lock = src_repo.lock(wait=False) | 229 src_lock = src_repo.lock(wait=False) |
230 except error.LockError: | 230 except error.LockError: |
231 copy = False | 231 copy = False |
232 | 232 |
233 if copy: | 233 if copy: |
234 src_repo.hook('preoutgoing', throw=True, source='clone') | |
234 hgdir = os.path.realpath(os.path.join(dest, ".hg")) | 235 hgdir = os.path.realpath(os.path.join(dest, ".hg")) |
235 if not os.path.exists(dest): | 236 if not os.path.exists(dest): |
236 os.mkdir(dest) | 237 os.mkdir(dest) |
237 else: | 238 else: |
238 # only clean up directories we create ourselves | 239 # only clean up directories we create ourselves |
260 util.copyfiles(src, dst) | 261 util.copyfiles(src, dst) |
261 | 262 |
262 # we need to re-init the repo after manually copying the data | 263 # we need to re-init the repo after manually copying the data |
263 # into it | 264 # into it |
264 dest_repo = repository(ui, dest) | 265 dest_repo = repository(ui, dest) |
265 | 266 src_repo.hook('outgoing', source='clone', node='0'*40) |
266 else: | 267 else: |
267 try: | 268 try: |
268 dest_repo = repository(ui, dest, create=True) | 269 dest_repo = repository(ui, dest, create=True) |
269 except OSError, inst: | 270 except OSError, inst: |
270 if inst.errno == errno.EEXIST: | 271 if inst.errno == errno.EEXIST: |