# HG changeset patch # User Simon Heimberg # Date 1384005058 -3600 # Node ID c69e5911888d78ea25bfb16fa6ffc59b19faa048 # Parent b04cc8651a6354271e5bd17f936cea5151b4121f relink: abort earlier when on different devices (issue3916) Add a first check of the devices before collecting candidate files. This is much quicker when big repos are on different devices. Keep the existing check in prune. It checks for same device of the files. This could probably be different in a special repo store (with symlinks). diff -r b04cc8651a63 -r c69e5911888d hgext/relink.py --- a/hgext/relink.py Mon Nov 11 22:59:26 2013 +0100 +++ b/hgext/relink.py Sat Nov 09 14:50:58 2013 +0100 @@ -48,6 +48,10 @@ ui.status(_('there is nothing to relink\n')) return + if not util.samedevice(src.store.path, repo.store.path): + # No point in continuing + raise util.Abort(_('source and destination are on different devices')) + locallock = repo.lock() try: remotelock = src.lock()