[PATCH v2 3/4] rm: re-use parse_pathspec's trailing-slash removal
- From
John Keeping <john@keeping.me.uk>
- Date
- Sep 12, 2013, 19:25 UTC
- Message-ID
- <238adf049ede4f54baad1b78fceff4de8313c4a6.1379013786.git.john@keeping.me.uk>
- In-Reply-To
- <cover.1379013786.git.john@keeping.me.uk>
Instead of re-implementing the "remove trailing slashes" loop in builtin/rm.c just pass PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP to parse_pathspec.
Signed-off-by: John Keeping <john@keeping.me.uk> --- builtin/rm.c | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-)
diff --git a/builtin/rm.c b/builtin/rm.c index 9b59ab3..3a0e0ea 100644 --- a/builtin/rm.c +++ b/builtin/rm.c @@ -298,22 +298,10 @@ int cmd_rm(int argc, const char **argv, const char *prefix) if (read_cache() < 0) die(_("index file corrupt")); - /* - * Drop trailing directory separators from directories so we'll find - * submodules in the index. - */ - for (i = 0; i < argc; i++) { - size_t pathlen = strlen(argv[i]); - if (pathlen && is_dir_sep(argv[i][pathlen - 1]) && - is_directory(argv[i])) { - do { - pathlen--; - } while (pathlen && is_dir_sep(argv[i][pathlen - 1])); - argv[i] = xmemdupz(argv[i], pathlen); - } - } - - parse_pathspec(&pathspec, 0, PATHSPEC_PREFER_CWD, prefix, argv); + parse_pathspec(&pathspec, 0, + PATHSPEC_PREFER_CWD | + PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP, + prefix, argv); refresh_index(&the_index, REFRESH_QUIET, &pathspec, NULL, NULL); seen = xcalloc(pathspec.nr, 1);
-- 1.8.4.277.gfbd6843.dirty