# HG changeset patch # User Martin Geisler # Date 1300293253 -3600 # Node ID cfe8d35313f3cb0f90dd776fafc88af1a897c0b4 # Parent 8c397d7b25d23e3fe171882627d20bf7b8b95f10# Parent 6cc306093b996d88e023d7c9424cb657148aa0b6 i18n: merge with mpm diff -r 8c397d7b25d2 -r cfe8d35313f3 hgext/convert/subversion.py --- a/hgext/convert/subversion.py Tue Mar 15 10:39:19 2011 +0100 +++ b/hgext/convert/subversion.py Wed Mar 16 17:34:13 2011 +0100 @@ -866,7 +866,9 @@ pool = Pool() rpath = '/'.join([self.baseurl, urllib.quote(path)]).strip('/') entries = svn.client.ls(rpath, optrev(revnum), True, self.ctx, pool) - return ((path + '/' + p) for p, e in entries.iteritems() + if path: + path += '/' + return ((path + p) for p, e in entries.iteritems() if e.kind == svn.core.svn_node_file) def getrelpath(self, path, module=None): diff -r 8c397d7b25d2 -r cfe8d35313f3 hgext/relink.py --- a/hgext/relink.py Tue Mar 15 10:39:19 2011 +0100 +++ b/hgext/relink.py Wed Mar 16 17:34:13 2011 +0100 @@ -42,8 +42,12 @@ hg.remoteui(repo, opts), ui.expandpath(origin or 'default-relink', origin or 'default')) if not src.local(): - raise util.Abort('must specify local origin repository') + raise util.Abort(_('must specify local origin repository')) ui.status(_('relinking %s to %s\n') % (src.store.path, repo.store.path)) + if repo.root == src.root: + ui.status(_('there is nothing to relink\n')) + return + locallock = repo.lock() try: remotelock = src.lock() diff -r 8c397d7b25d2 -r cfe8d35313f3 tests/test-relink.t --- a/tests/test-relink.t Tue Mar 15 10:39:19 2011 +0100 +++ b/tests/test-relink.t Wed Mar 16 17:34:13 2011 +0100 @@ -31,6 +31,12 @@ $ echo a >> b $ hg ci -Am changefiles +don't sit forever trying to double-lock the source repo + + $ hg relink . + relinking $TESTTMP/repo/.hg/store to $TESTTMP/repo/.hg/store + there is nothing to relink + Test files are read in binary mode $ python -c "file('.hg/store/data/dummy.i', 'wb').write('a\r\nb\n')"