Add a function to determine whether a path is owned by the current user
commitbdc77d1d685be9c10b88abb281a42bc620548595
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Wed, 2 Mar 2022 10:06:24 +0000 (2 11:06 +0100)
committerJohannes Schindelin <johannes.schindelin@gmx.de>
Mon, 21 Mar 2022 12:16:26 +0000 (21 13:16 +0100)
treeda028076656c4f292f6aa5bcbf8890f25f57c1d0
parent2a9a5862e516935149697f710f4fb00f14b7c40b
Add a function to determine whether a path is owned by the current user

This function will be used in the next commit to prevent
`setup_git_directory()` from discovering a repository in a directory
that is owned by someone other than the current user.

Note: We cannot simply use `st.st_uid` on Windows just like we do on
Linux and other Unix-like platforms: according to
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/stat-functions
this field is always zero on Windows (because Windows' idea of a user ID
does not fit into a single numerical value). Therefore, we have to do
something a little involved to replicate the same functionality there.

Also note: On Windows, a user's home directory is not actually owned by
said user, but by the administrator. For all practical purposes, it is
under the user's control, though, therefore we pretend that it is owned
by the user.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
compat/mingw.c
compat/mingw.h
git-compat-util.h