##// END OF EJS Templates
watchman: detect nested mercurial repositories and abort...
Boris Feld -
r41630:5125f0a9 default
parent child Browse files
Show More
@@ -367,6 +367,9 b' def overridewalk(orig, self, match, subr'
367 367 fexists = entry['exists']
368 368 kind = getkind(fmode)
369 369
370 if '/.hg/' in fname or fname.endswith('/.hg'):
371 return bail('nested-repo-detected')
372
370 373 if not fexists:
371 374 # if marked as deleted and we don't already have a change
372 375 # record, mark it as deleted. If we already have an entry
@@ -740,6 +743,14 b' def wrapupdate(orig, repo, node, branchm'
740 743 repo, node, branchmerge, force, ancestor, mergeancestor,
741 744 labels, matcher, **kwargs)
742 745
746 def repo_has_depth_one_nested_repo(repo):
747 for f in repo.wvfs.listdir():
748 if os.path.isdir(os.path.join(repo.root, f, '.hg')):
749 msg = 'fsmonitor: sub-repository %r detected, fsmonitor disabled\n'
750 repo.ui.debug(msg % f)
751 return True
752 return False
753
743 754 def reposetup(ui, repo):
744 755 # We don't work with largefiles or inotify
745 756 exts = extensions.enabled()
@@ -757,6 +768,9 b' def reposetup(ui, repo):'
757 768 if repo.wvfs.exists('.hgsubstate') or repo.wvfs.exists('.hgsub'):
758 769 return
759 770
771 if repo_has_depth_one_nested_repo(repo):
772 return
773
760 774 fsmonitorstate = state.state(repo)
761 775 if fsmonitorstate.mode == 'off':
762 776 return
General Comments 0
You need to be logged in to leave comments. Login now