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: