Mercurial > public > mercurial-scm > hg-stable
diff mercurial/merge.py @ 30172:90a6c18a7c1d
update: warn if cwd was deleted
During update directories are deleted as soon as they have no entries.
But if current working directory is deleted then it cause problems
in complex commands like 'hg split'. This commit adds a warning
that will help users figure the problem faster.
author | Stanislau Hlebik <stash@fb.com> |
---|---|
date | Tue, 04 Oct 2016 04:06:48 -0700 |
parents | 5cb830801855 |
children | a2804ddcf9ae |
line wrap: on
line diff
--- a/mercurial/merge.py Thu Oct 13 13:34:53 2016 +0200 +++ b/mercurial/merge.py Tue Oct 04 04:06:48 2016 -0700 @@ -1038,6 +1038,12 @@ unlink = util.unlinkpath wjoin = repo.wjoin audit = repo.wvfs.audit + try: + cwd = os.getcwd() + except OSError as err: + if err.errno != errno.ENOENT: + raise + cwd = None i = 0 for f, args, msg in actions: repo.ui.debug(" %s: %s -> r\n" % (f, msg)) @@ -1055,6 +1061,18 @@ i += 1 if i > 0: yield i, f + if cwd: + # cwd was present before we started to remove files + # let's check if it is present after we removed them + try: + os.getcwd() + except OSError as err: + if err.errno != errno.ENOENT: + raise + # Print a warning if cwd was deleted + repo.ui.warn(_("current directory was removed\n" + "(consider changing to repo root: %s)\n") % + repo.root) def batchget(repo, mctx, actions): """apply gets to the working directory