diff options
author | Patrick Steinhardt <ps@pks.im> | 2015-10-15 15:58:05 +0200 |
---|---|---|
committer | Patrick Steinhardt <ps@pks.im> | 2017-02-13 10:28:15 +0100 |
commit | 79ab3ef69f4905a548bd3a301c348a48454c48f7 (patch) | |
tree | a707b6af1e5ed933366acfe5ea1118551e343160 /src/repository.c | |
parent | c5f3da9692f8de15550fed47e377c586f99f7c5a (diff) | |
download | libgit2-79ab3ef69f4905a548bd3a301c348a48454c48f7.tar.gz |
repository: introduce is_worktree variable
Diffstat (limited to 'src/repository.c')
-rw-r--r-- | src/repository.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/repository.c b/src/repository.c index ed7038543..1f8035aed 100644 --- a/src/repository.c +++ b/src/repository.c @@ -254,6 +254,7 @@ int git_repository_new(git_repository **out) GITERR_CHECK_ALLOC(repo); repo->is_bare = 1; + repo->is_worktree = 0; return 0; } @@ -558,6 +559,7 @@ int git_repository_open_bare( /* of course we're bare! */ repo->is_bare = 1; + repo->is_worktree = 0; repo->workdir = NULL; *repo_ptr = repo; @@ -772,6 +774,9 @@ int git_repository_open_ext( GITERR_CHECK_ALLOC(repo->commondir); } + if (repo->path_gitlink && repo->commondir && strcmp(repo->path_gitlink, repo->commondir)) + repo->is_worktree = 1; + /* * We'd like to have the config, but git doesn't particularly * care if it's not there, so we need to deal with that. @@ -2186,6 +2191,12 @@ int git_repository_is_bare(git_repository *repo) return repo->is_bare; } +int git_repository_is_worktree(git_repository *repo) +{ + assert(repo); + return repo->is_worktree; +} + int git_repository_set_bare(git_repository *repo) { int error; |