summaryrefslogtreecommitdiff
path: root/include/git2/sys
diff options
context:
space:
mode:
authorRussell Belfer <rb@github.com>2014-05-12 10:04:52 -0700
committerRussell Belfer <rb@github.com>2014-05-12 10:04:52 -0700
commitd2c4d1c63d9d5456fcf2cdcd578073d9e7dadc2a (patch)
tree70b0341e6e5d4898e8b332b658cc0fb2b29a6271 /include/git2/sys
parente18d5e52e385c0cc2ad8d9d4fdd545517f170a11 (diff)
parentac99d86ba5e2a9d2332b7f82737e1231c621dc43 (diff)
downloadlibgit2-d2c4d1c63d9d5456fcf2cdcd578073d9e7dadc2a.tar.gz
Merge pull request #2188 from libgit2/cmn/config-snapshot
Configuration snapshotting
Diffstat (limited to 'include/git2/sys')
-rw-r--r--include/git2/sys/config.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/git2/sys/config.h b/include/git2/sys/config.h
index 46bb65293..85e0d6417 100644
--- a/include/git2/sys/config.h
+++ b/include/git2/sys/config.h
@@ -57,13 +57,15 @@ struct git_config_backend {
/* Open means open the file/database and parse if necessary */
int (*open)(struct git_config_backend *, git_config_level_t level);
- int (*get)(const struct git_config_backend *, const char *key, const git_config_entry **entry);
+ int (*get)(struct git_config_backend *, const char *key, const git_config_entry **entry);
int (*set)(struct git_config_backend *, const char *key, const char *value);
int (*set_multivar)(git_config_backend *cfg, const char *name, const char *regexp, const char *value);
int (*del)(struct git_config_backend *, const char *key);
int (*del_multivar)(struct git_config_backend *, const char *key, const char *regexp);
int (*iterator)(git_config_iterator **, struct git_config_backend *);
int (*refresh)(struct git_config_backend *);
+ /** Produce a read-only version of this backend */
+ int (*snapshot)(struct git_config_backend **, struct git_config_backend *);
void (*free)(struct git_config_backend *);
};
#define GIT_CONFIG_BACKEND_VERSION 1