From: "René Scharfe" <l.s.r@web.de>
To: Ramkumar Ramachandra <artagnon@gmail.com>
Cc: Git List <git@vger.kernel.org>
Subject: Re: [PATCH] dir: remove dead code
Date: Sun, 08 Sep 2013 14:30:50 +0200 [thread overview]
Message-ID: <522C6DFA.10204@web.de> (raw)
In-Reply-To: <1378620563-32709-1-git-send-email-artagnon@gmail.com>
Am 08.09.2013 08:09, schrieb Ramkumar Ramachandra:
> Remove dead code around remove_dir_recursively().
This basically reverts ae2f203e (clean: preserve nested git worktree in
subdirectories). t7300 still seems to pass, though. I wonder why.
>
> Signed-off-by: Ramkumar Ramachandra<artagnon@gmail.com>
> ---
> dir.c | 21 ++++-----------------
> 1 file changed, 4 insertions(+), 17 deletions(-)
>
> diff --git a/dir.c b/dir.c
> index 910bfcd..2b31241 100644
> --- a/dir.c
> +++ b/dir.c
> @@ -1464,11 +1464,11 @@ int is_empty_dir(const char *path)
> return ret;
> }
>
> -static int remove_dir_recurse(struct strbuf *path, int flag, int *kept_up)
> +int remove_dir_recursively(struct strbuf *path, int flag)
> {
> DIR *dir;
> struct dirent *e;
> - int ret = 0, original_len = path->len, len, kept_down = 0;
> + int ret = 0, original_len = path->len, len;
> int only_empty = (flag & REMOVE_DIR_EMPTY_ONLY);
> int keep_toplevel = (flag & REMOVE_DIR_KEEP_TOPLEVEL);
> unsigned char submodule_head[20];
> @@ -1476,8 +1476,6 @@ static int remove_dir_recurse(struct strbuf *path, int flag, int *kept_up)
> if ((flag & REMOVE_DIR_KEEP_NESTED_GIT) &&
> !resolve_gitlink_ref(path->buf, "HEAD", submodule_head)) {
> /* Do not descend and nuke a nested git work tree. */
> - if (kept_up)
> - *kept_up = 1;
> return 0;
> }
>
> @@ -1504,7 +1502,7 @@ static int remove_dir_recurse(struct strbuf *path, int flag, int *kept_up)
> if (lstat(path->buf, &st))
> ; /* fall thru */
> else if (S_ISDIR(st.st_mode)) {
> - if (!remove_dir_recurse(path, flag, &kept_down))
> + if (!remove_dir_recursively(path, flag))
kept_down could have been set to 1 here...
> continue; /* happy */
> } else if (!only_empty && !unlink(path->buf))
> continue; /* happy, too */
> @@ -1516,22 +1514,11 @@ static int remove_dir_recurse(struct strbuf *path, int flag, int *kept_up)
> closedir(dir);
>
> strbuf_setlen(path, original_len);
> - if (!ret && !keep_toplevel && !kept_down)
> + if (!ret && !keep_toplevel)
> ret = rmdir(path->buf);
... and would have prevented the rmdir() call here.
Is the removed code really dead? And if not, why does t7300 still pass?
> - else if (kept_up)
> - /*
> - * report the uplevel that it is not an error that we
> - * did not rmdir() our directory.
> - */
> - *kept_up = !ret;
> return ret;
> }
>
> -int remove_dir_recursively(struct strbuf *path, int flag)
> -{
> - return remove_dir_recurse(path, flag, NULL);
> -}
> -
> void setup_standard_excludes(struct dir_struct *dir)
> {
> const char *path;
> -- 1.8.4.100.gde18f6d.dirty
>
next prev parent reply other threads:[~2013-09-08 12:31 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-08 6:09 [PATCH] dir: remove dead code Ramkumar Ramachandra
2013-09-08 12:30 ` René Scharfe [this message]
[not found] ` <CALkWK0kYq8nxUVg7bOr-93+WFRSVp4YcpVsJ+3wKcveRV8As2A@mail.gmail.com>
2013-09-08 16:03 ` René Scharfe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=522C6DFA.10204@web.de \
--to=l.s.r@web.de \
--cc=artagnon@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.