Re: [PATCH] Teach rm to remove submodules when given with a trailing '/'
- From
Johannes Sixt <j.sixt@viscovery.net>
- Date
- Oct 29, 2012, 07:11 UTC
- Message-ID
- <508E2C05.9010109@viscovery.net>
- In-Reply-To
- <508DBF92.9090200@web.de>
Am 10/29/2012 0:28, schrieb Jens Lehmann:
Show 9 quoted lines
> + /* Remove trailing '/' from directories to find submodules in the index */
> + for (i = 0; i < argc; i++) {
> + size_t pathlen = strlen(argv[i]);
> + if (pathlen && is_directory(argv[i]) && (argv[i][pathlen - 1] == '/'))
> + argv[i] = xmemdupz(argv[i], pathlen - 1);
> + }
> +
> pathspec = get_pathspec(prefix, argv);
> refresh_index(&the_index, REFRESH_QUIET, pathspec, NULL, NULL);That's wrong: Either move the check below get_pathspec() (which normalizes backslashes to forward-slashes on Windows) or use is_dir_sep().
But isn't it somewhat dangerous to check pathspec for existance in the worktree without interpreting them? Think of magic pathspec syntax (that we do not have yet, but which may materialize sometime in the future).
-- Hannes