test-tool path-utils: support debugging "dubious ownership" issues

This adds a new sub-sub-command for `test-tool`, simply passing through
the command-line arguments to the `is_path_owned_by_current_user()`
function.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
main
Johannes Schindelin 2025-03-25 10:38:30 +00:00 committed by Junio C Hamano
parent 03a4e46d12
commit 5bb88e89ef
1 changed files with 19 additions and 0 deletions

View File

@ -504,6 +504,25 @@ int cmd__path_utils(int argc, const char **argv)
return !!res;
}

if (argc > 1 && !strcmp(argv[1], "is_path_owned_by_current_user")) {
int res = 0;

for (int i = 2; i < argc; i++) {
struct strbuf buf = STRBUF_INIT;

if (is_path_owned_by_current_user(argv[i], &buf))
printf("'%s' is owned by current SID\n", argv[i]);
else {
printf("'%s' is not owned by current SID: %s\n", argv[i], buf.buf);
res = 1;
}

strbuf_release(&buf);
}

return res;
}

fprintf(stderr, "%s: unknown function name: %s\n", argv[0],
argv[1] ? argv[1] : "(there was none)");
return 1;