[PATCH V2] update: warn if cwd was deleted

Kevin Bullock kbullock+mercurial at ringworld.org
Tue Sep 6 12:00:19 EDT 2016


> On Sep 2, 2016, at 15:43, Stanislau Hlebik <stash at fb.com> wrote:
> 
> # HG changeset patch
> # User Stanislau Hlebik <stash at fb.com>
> # Date 1472848944 25200
> #      Fri Sep 02 13:42:24 2016 -0700
> # Node ID 374caff3f6ba064070d01329eec1bd33a6a45370
> # Parent  318e2b600b80e4ed3c6f37df46ec7544f60d4c0b
> 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.
> 
> diff --git a/mercurial/merge.py b/mercurial/merge.py
> --- a/mercurial/merge.py
> +++ b/mercurial/merge.py
> @@ -1043,7 +1043,19 @@
>             repo.ui.note(_("removing %s\n") % f)
>         audit(f)
>         try:
> -            unlink(wjoin(f), ignoremissing=True)
> +            try:
> +                cwd = os.getcwd()
> +            except OSError:
> +                cwd = None
> +            path = wjoin(f)
> +            unlink(path, ignoremissing=True)
> +            try:
> +                os.getcwd()
> +            except OSError:
> +                # Print a warning if cwd was deleted
> +                if cwd and path.startswith(cwd):
> +                    repo.ui.warn(_("cwd was deleted - consider "
> +                                   "changing cwd to repo root\n"))

I'd much rather have "current working directory" spelled out. Not all users are going to be familiar with Unix's often questionably-sensible abbreviations for things.

pacem in terris / мир / शान्ति / ‎‫سَلاَم‬ / 平和
Kevin R. Bullock



More information about the Mercurial-devel mailing list