Re: [PATCH] Teach rm to remove submodules when given with a trailing '/'
- From
Jens Lehmann <jens.lehmann@web.de>
- Date
- Oct 30, 2012, 21:28 UTC
- Message-ID
- <50904677.2020308@web.de>
- In-Reply-To
- <508E2C05.9010109@viscovery.net>
Am 29.10.2012 08:11, schrieb Johannes Sixt:
Show 13 quoted lines
> Am 10/29/2012 0:28, schrieb Jens Lehmann:
>> + /* 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().Thanks for bringing this up.
> 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).
I have to admit I'm not aware of magic pathspec syntax. Do you happen to have any pointers where I could look at code doing similar things right?