summaryrefslogtreecommitdiff
path: root/src/submodule.c
diff options
context:
space:
mode:
authorRussell Belfer <rb@github.com>2014-03-31 12:26:46 -0700
committerRussell Belfer <rb@github.com>2014-03-31 12:40:58 -0700
commit945c92a5cf1f73d56d0d2f06776f3181ed5b5548 (patch)
tree3b97f59223560a9a9226229a6c391ba691352ba2 /src/submodule.c
parentfad04120275925257a93312a3e05af64e9d17090 (diff)
downloadlibgit2-945c92a5cf1f73d56d0d2f06776f3181ed5b5548.tar.gz
Add faster git_submodule__is_submodule check
Diffstat (limited to 'src/submodule.c')
-rw-r--r--src/submodule.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/submodule.c b/src/submodule.c
index e1500b847..fdcc2251a 100644
--- a/src/submodule.c
+++ b/src/submodule.c
@@ -135,6 +135,21 @@ static int submodule_lookup(
* PUBLIC APIS
*/
+bool git_submodule__is_submodule(git_repository *repo, const char *name)
+{
+ git_strmap *map;
+
+ if (load_submodule_config(repo, false) < 0) {
+ giterr_clear();
+ return false;
+ }
+
+ if (!(map = repo->submodules))
+ return false;
+
+ return git_strmap_valid_index(map, git_strmap_lookup_index(map, name));
+}
+
int git_submodule_lookup(
git_submodule **out, /* NULL if user only wants to test existence */
git_repository *repo,