diff hgext/relink.py @ 20083:c69e5911888d

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).
author Simon Heimberg <simohe@besonet.ch>
date Sat, 09 Nov 2013 14:50:58 +0100
parents f0564402d059
children da0eb4970913
line wrap: on
line diff
--- 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()