summaryrefslogtreecommitdiff
path: root/examples/add.c
diff options
context:
space:
mode:
authorKrzysztof Adamski <k@japko.eu>2013-09-04 18:34:03 +0200
committerRussell Belfer <rb@github.com>2013-09-09 11:01:30 -0700
commit24d23220969a976c9a6ede2993837715824cac64 (patch)
treea9e0317eedc579c807bb1853a8672b9b687e903e /examples/add.c
parente8fa14d3a33cb468b5559bf656d4fde4957c7c1a (diff)
downloadlibgit2-24d23220969a976c9a6ede2993837715824cac64.tar.gz
Add -u option to add example.
Diffstat (limited to 'examples/add.c')
-rw-r--r--examples/add.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/examples/add.c b/examples/add.c
index f1e7b7b7e..12e660d43 100644
--- a/examples/add.c
+++ b/examples/add.c
@@ -6,6 +6,7 @@
enum print_options {
SKIP = 1,
VERBOSE = 2,
+ UPDATE = 4,
};
struct print_payload {
@@ -67,7 +68,7 @@ int main (int argc, char** argv)
struct print_payload payload = {0};
if (argc < 2) {
- fprintf(stderr, "usage: add [-n|--dry-run] [-v|--verbose] file-spec [file-spec] [...]\n");
+ fprintf(stderr, "usage: add [-n|--dry-run] [-v|--verbose] [-u|--update] file-spec [file-spec] [...]\n");
return 1;
}
@@ -81,6 +82,9 @@ int main (int argc, char** argv)
else if(!strcmp(argv[i], "--dry-run") || !strcmp(argv[i], "-n")) {
options |= SKIP;
}
+ else if(!strcmp(argv[i], "--update") || !strcmp(argv[i], "-u")) {
+ options |= UPDATE;
+ }
else if(!strcmp(argv[i], "--")) {
break;
}
@@ -111,7 +115,12 @@ int main (int argc, char** argv)
payload.options = options;
payload.repo = repo;
- git_index_add_all(index, &array, 0, matched_cb, &payload);
+
+ if (options&UPDATE) {
+ git_index_update_all(index, &array, matched_cb, &payload);
+ } else {
+ git_index_add_all(index, &array, 0, matched_cb, &payload);
+ }
git_index_write(index);
git_index_free(index);