[PATCH STABLE] checkexec: create destination directory if necessary
Yuya Nishihara
yuya at tcha.org
Fri Nov 16 23:14:00 EST 2018
On Thu, 15 Nov 2018 11:48:51 +0100, Boris Feld wrote:
> # HG changeset patch
> # User Boris Feld <boris.feld at octobus.net>
> # Date 1542247763 -3600
> # Thu Nov 15 03:09:23 2018 +0100
> # Branch stable
> # Node ID 99a25b3b768a6434c09f66f6980ac76de0245366
> # Parent e5f54c4ec075f28770ae16619a839e6431df0935
> # EXP-Topic wcache
> # Available At https://bitbucket.org/octobus/mercurial-devel/
> # hg pull https://bitbucket.org/octobus/mercurial-devel/ -r 99a25b3b768a
> checkexec: create destination directory if necessary
> --- a/mercurial/posix.py
> +++ b/mercurial/posix.py
> @@ -181,7 +181,15 @@ def checkexec(path):
>
> try:
> EXECFLAGS = stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH
> - cachedir = os.path.join(path, '.hg', 'cache')
> + basedir = os.path.join(path, '.hg')
> + cachedir = os.path.join(basedir, 'cache')
> + if not os.path.exists(cachedir):
> + try:
> + os.mkdir(cachedir)
This handles the case where '.hg' directory doesn't exist. Can you add inline
comment so we won't change it to os.makedirs() by mistake?
> + copymode(basedir, cachedir)
It disagree with the inline comment. The permission of the cache directory
has to be inherited from the store, not from the .hg directory.
> --- a/tests/test-inherit-mode.t
> +++ b/tests/test-inherit-mode.t
> @@ -67,8 +67,11 @@ new directories are setgid
> $ "$PYTHON" ../printmodes.py .
> 00700 ./.hg/
> 00600 ./.hg/00changelog.i
> - 00770 ./.hg/cache/
> + 00700 ./.hg/cache/
More information about the Mercurial-devel
mailing list