diff options
| author | nulltoken <emeric.fermas@gmail.com> | 2011-06-29 14:06:18 +0200 |
|---|---|---|
| committer | nulltoken <emeric.fermas@gmail.com> | 2011-06-29 19:22:24 +0200 |
| commit | 6ac91dfe52e857814fc197614dea0dbf672bdc0f (patch) | |
| tree | dee6c1ec6b5d886e4c1504273571fa882db114ea /src/fileops.c | |
| parent | cfef5fb779ceba60cdd04f323b88373181c0fa8d (diff) | |
| download | libgit2-6ac91dfe52e857814fc197614dea0dbf672bdc0f.tar.gz | |
Hide ".git" directory on Windows upon creation of a non bare repository
Directory which name starts with a dot are hidden on Linux platforms. This patch makes libgit2 behaves similarly on Windows.
Diffstat (limited to 'src/fileops.c')
| -rw-r--r-- | src/fileops.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/fileops.c b/src/fileops.c index 3397aad1d..936a6b4cc 100644 --- a/src/fileops.c +++ b/src/fileops.c @@ -746,4 +746,16 @@ int gitfo_readlink__w32(const char *link, char *target, size_t target_len) return dwRet; } +int gitfo_hide_directory__w32(const char *path) +{ + int error; + + error = SetFileAttributes(path, FILE_ATTRIBUTE_HIDDEN) != 0 ? + GIT_SUCCESS : GIT_ERROR; /* MSDN states a "non zero" value indicates a success */ + + if (error < GIT_SUCCESS) + error = git__throw(GIT_EOSERR, "Failed to hide directory '%s'", path); + + return error; +} #endif |
