From a48ea31d69a76d6b398d3a1e522a1c7363a9b92a Mon Sep 17 00:00:00 2001 From: Russell Belfer Date: Wed, 21 Mar 2012 12:33:09 -0700 Subject: [PATCH 01/16] Reimplment git_status_foreach using git diff This is an initial reimplementation of status using diff a la the way that core git does it. --- include/git2/status.h | 68 +++++++++++++++- src/diff.c | 34 +++----- src/diff.h | 14 ++++ src/status.c | 179 +++++++++++++++++++++++++++++++++++++++++- src/vector.h | 2 + 5 files changed, 273 insertions(+), 24 deletions(-) diff --git a/include/git2/status.h b/include/git2/status.h index 5c45dae1e..4dc80b93a 100644 --- a/include/git2/status.h +++ b/include/git2/status.h @@ -31,7 +31,8 @@ GIT_BEGIN_DECL #define GIT_STATUS_WT_MODIFIED (1 << 4) #define GIT_STATUS_WT_DELETED (1 << 5) -#define GIT_STATUS_IGNORED (1 << 6) +#define GIT_STATUS_IGNORED (1 << 6) +#define GIT_STATUS_WT_UNTRACKED (1 << 7) /** * Gather file statuses and run a callback for each one. @@ -46,6 +47,71 @@ GIT_BEGIN_DECL */ GIT_EXTERN(int) git_status_foreach(git_repository *repo, int (*callback)(const char *, unsigned int, void *), void *payload); +/** + * Select the files on which to report status. + * + * - GIT_STATUS_SHOW_INDEX_AND_WORKDIR is the default. This is the + * rough equivalent of `git status --porcelain` where each file + * will receive a callback indicating its status in the index and + * in the workdir. + * - GIT_STATUS_SHOW_INDEX_ONLY will only make callbacks for index + * side of status. The status of the index contents relative to + * the HEAD will be given. + * - GIT_STATUS_SHOW_WORKDIR_ONLY will only make callbacks for the + * workdir side of status, reporting the status of workdir content + * relative to the index. + * - GIT_STATUS_SHOW_INDEX_THEN_WORKDIR behaves like index-only + * followed by workdir-only, causing two callbacks to be issued + * per file (first index then workdir). This is slightly more + * efficient than making separate calls. This makes it easier to + * emulate the output of a plain `git status`. + */ +typedef enum { + GIT_STATUS_SHOW_INDEX_AND_WORKDIR = 0, + GIT_STATUS_SHOW_INDEX_ONLY = 1, + GIT_STATUS_SHOW_WORKDIR_ONLY = 2, + GIT_STATUS_SHOW_INDEX_THEN_WORKDIR = 3, +} git_status_show_t; + +/** + * Flags to control status callbacks + * + * - GIT_STATUS_OPT_INCLUDE_UNTRACKED says that callbacks should + * be made on untracked files. These will only be made if the + * workdir files are included in the status "show" option. + * - GIT_STATUS_OPT_INCLUDE_IGNORED says that ignored files should + * get callbacks. Again, these callbacks will only be made if + * the workdir files are included in the status "show" option. + * Right now, there is no option to include all files in + * directories that are ignored completely. + * - GIT_STATUS_OPT_EXCLUDE_UNMODIFIED indicates that callback + * do not need to be made on unmodified files. + * - GIT_STATUS_OPT_EXCLUDE_SUBMODULES indicates that directories + * which appear to be submodules should just be skipped over. + */ +#define GIT_STATUS_OPT_INCLUDE_UNTRACKED (1 << 0) +#define GIT_STATUS_OPT_INCLUDE_IGNORED (1 << 1) +#define GIT_STATUS_OPT_EXCLUDE_UNMODIFIED (1 << 2) +#define GIT_STATUS_OPT_EXCLUDE_SUBMODULES (1 << 3) + +/** + * Options to control which callbacks will be made by + * `git_status_foreach_ext()` + */ +typedef struct { + git_status_show_t show; + unsigned int flags; +} git_status_options; + +/** + * Gather file status information and run callbacks as requested. + */ +GIT_EXTERN(int) git_status_foreach_ext( + git_repository *repo, + git_status_options *opts, + int (*callback)(const char *, unsigned int, void *), + void *payload); + /** * Get file status for a single file * diff --git a/src/diff.c b/src/diff.c index 69c944c63..469a6c05c 100644 --- a/src/diff.c +++ b/src/diff.c @@ -538,33 +538,22 @@ int git_diff_merge( const git_diff_list *from) { int error = 0; - unsigned int i = 0, j = 0; git_vector onto_new; - git_diff_delta *delta; + git_diff_delta *delta, *o; + const git_diff_delta *f; + unsigned int i; if (git_vector_init(&onto_new, onto->deltas.length, diff_delta__cmp) < 0) return -1; - while (!error && (i < onto->deltas.length || j < from->deltas.length)) { - git_diff_delta *o = git_vector_get(&onto->deltas, i); - const git_diff_delta *f = git_vector_get_const(&from->deltas, j); - const char *opath = !o ? NULL : o->old.path ? o->old.path : o->new.path; - const char *fpath = !f ? NULL : f->old.path ? f->old.path : f->new.path; - - if (opath && (!fpath || strcmp(opath, fpath) < 0)) { - delta = diff_delta__dup(o); - i++; - } else if (fpath && (!opath || strcmp(opath, fpath) > 0)) { - delta = diff_delta__dup(f); - j++; - } else { - delta = diff_delta__merge_like_cgit(o, f); - i++; - j++; - } - - error = !delta ? -1 : git_vector_insert(&onto_new, delta); - } + GIT_DIFF_COITERATE( + onto, from, o, f, + delta = diff_delta__dup(o), + delta = diff_delta__dup(f), + delta = diff_delta__merge_like_cgit(o, f), + if ((error = !delta ? -1 : git_vector_insert(&onto_new, delta)) < 0) + break; + ); if (error == 0) { git_vector_swap(&onto->deltas, &onto_new); @@ -577,3 +566,4 @@ int git_diff_merge( return error; } + diff --git a/src/diff.h b/src/diff.h index 7d69199ea..058a1f5e8 100644 --- a/src/diff.h +++ b/src/diff.h @@ -21,5 +21,19 @@ struct git_diff_list { git_iterator_type_t new_src; }; +/* macro lets you iterate over two diff lists together */ + +#define GIT_DIFF_COITERATE(A,B,AD,BD,LEFT,RIGHT,BOTH,AFTER) do { \ + unsigned int _i = 0, _j = 0; int _cmp; \ + while (((A) && _i < (A)->deltas.length) || ((B) && _j < (B)->deltas.length)) { \ + (AD) = (A) ? GIT_VECTOR_GET(&(A)->deltas,_i) : NULL; \ + (BD) = (B) ? GIT_VECTOR_GET(&(B)->deltas,_j) : NULL; \ + _cmp = !(BD) ? -1 : !(AD) ? 1 : strcmp((AD)->old.path,(BD)->old.path); \ + if (_cmp < 0) { LEFT; _i++; } \ + else if (_cmp > 0) { RIGHT; _j++; } \ + else { BOTH; _i++; _j++; } \ + AFTER; \ + } } while (0) + #endif diff --git a/src/status.c b/src/status.c index 2221db3d9..eab7c8850 100644 --- a/src/status.c +++ b/src/status.c @@ -15,6 +15,183 @@ #include "repository.h" #include "ignore.h" +#include "git2/diff.h" +#include "diff.h" + +static int resolve_head_to_tree(git_tree **tree, git_repository *repo) +{ + git_reference *head = NULL; + git_object *obj = NULL; + + if (git_reference_lookup(&head, repo, GIT_HEAD_FILE) < 0) + return -1; + + if (git_reference_oid(head) == NULL) { + git_reference *resolved; + + if (git_reference_resolve(&resolved, head) < 0) { + /* cannot resolve HEAD - probably brand new repo */ + giterr_clear(); + git_reference_free(head); + return GIT_ENOTFOUND; + } + + git_reference_free(head); + head = resolved; + } + + if (git_object_lookup(&obj, repo, git_reference_oid(head), GIT_OBJ_ANY) < 0) + goto fail; + + switch (git_object_type(obj)) { + case GIT_OBJ_TREE: + *tree = (git_tree *)obj; + break; + case GIT_OBJ_COMMIT: + if (git_commit_tree(tree, (git_commit *)obj) < 0) + goto fail; + git_object_free(obj); + break; + default: + goto fail; + } + + return 0; + +fail: + git_object_free(obj); + git_reference_free(head); + return -1; +} + +static unsigned int index_delta2status(git_delta_t index_status) +{ + unsigned int st = GIT_STATUS_CURRENT; + + switch (index_status) { + case GIT_DELTA_ADDED: + case GIT_DELTA_COPIED: + case GIT_DELTA_RENAMED: + st = GIT_STATUS_INDEX_NEW; + break; + case GIT_DELTA_DELETED: + st = GIT_STATUS_INDEX_DELETED; + break; + case GIT_DELTA_MODIFIED: + st = GIT_STATUS_INDEX_MODIFIED; + break; + default: + break; + } + + return st; +} + +static unsigned int workdir_delta2status(git_delta_t workdir_status) +{ + unsigned int st = GIT_STATUS_CURRENT; + + switch (workdir_status) { + case GIT_DELTA_ADDED: + case GIT_DELTA_COPIED: + case GIT_DELTA_RENAMED: + case GIT_DELTA_UNTRACKED: + st = GIT_STATUS_WT_NEW; + break; + case GIT_DELTA_DELETED: + st = GIT_STATUS_WT_DELETED; + break; + case GIT_DELTA_MODIFIED: + st = GIT_STATUS_WT_MODIFIED; + break; + case GIT_DELTA_IGNORED: + st = GIT_STATUS_IGNORED; + break; + default: + break; + } + + return st; +} + +int git_status_foreach_ext( + git_repository *repo, + git_status_options *opts, + int (*cb)(const char *, unsigned int, void *), + void *cbdata) +{ + int err = 0; + git_diff_options diffopt; + git_diff_list *idx2head = NULL, *wd2idx = NULL; + git_tree *head = NULL; + git_status_show_t show = + opts ? opts->show : GIT_STATUS_SHOW_INDEX_AND_WORKDIR; + git_diff_delta *i2h, *w2i; + + assert(show <= GIT_STATUS_SHOW_INDEX_THEN_WORKDIR); + + switch (resolve_head_to_tree(&head, repo)) { + case 0: break; + case GIT_ENOTFOUND: return 0; + default: return -1; + } + + memset(&diffopt, 0, sizeof(diffopt)); + diffopt.flags = GIT_DIFF_INCLUDE_IGNORED | GIT_DIFF_INCLUDE_UNTRACKED; + + if (show != GIT_STATUS_SHOW_WORKDIR_ONLY && + (err = git_diff_index_to_tree(repo, &diffopt, head, &idx2head)) < 0) + goto cleanup; + + if (show != GIT_STATUS_SHOW_INDEX_ONLY && + (err = git_diff_workdir_to_index(repo, &diffopt, &wd2idx)) < 0) + goto cleanup; + + if (show == GIT_STATUS_SHOW_INDEX_THEN_WORKDIR) { + git_diff_list *empty = NULL; + GIT_DIFF_COITERATE( + idx2head, empty, i2h, w2i, + err = cb(i2h->old.path, index_delta2status(i2h->status), cbdata), + /* nothing */, /* nothing */, if (err < 0) break); + + git_diff_list_free(idx2head); + idx2head = NULL; + } + + GIT_DIFF_COITERATE( + idx2head, wd2idx, i2h, w2i, + err = cb(i2h->old.path, index_delta2status(i2h->status), cbdata), + err = cb(w2i->old.path, workdir_delta2status(w2i->status), cbdata), + err = cb(i2h->old.path, index_delta2status(i2h->status) | + workdir_delta2status(w2i->status), cbdata), + if (err < 0) break); + +cleanup: + git_tree_free(head); + git_diff_list_free(idx2head); + git_diff_list_free(wd2idx); + return err; +} + +int git_status_foreach( + git_repository *repo, + int (*callback)(const char *, unsigned int, void *), + void *payload) +{ + git_status_options opts; + + opts.show = GIT_STATUS_SHOW_INDEX_AND_WORKDIR; + opts.flags = GIT_STATUS_OPT_INCLUDE_IGNORED | + GIT_STATUS_OPT_EXCLUDE_SUBMODULES; + + return git_status_foreach_ext(repo, &opts, callback, payload); +} + + +/* + * the old stuff + */ + struct status_entry { git_index_time mtime; @@ -461,7 +638,7 @@ static int status_cmp(const void *a, const void *b) #define DEFAULT_SIZE 16 -int git_status_foreach( +int git_status_foreach_old( git_repository *repo, int (*callback)(const char *, unsigned int, void *), void *payload) diff --git a/src/vector.h b/src/vector.h index 180edbf7c..5bc27914a 100644 --- a/src/vector.h +++ b/src/vector.h @@ -44,6 +44,8 @@ GIT_INLINE(const void *) git_vector_get_const(const git_vector *v, unsigned int return (position < v->length) ? v->contents[position] : NULL; } +#define GIT_VECTOR_GET(V,I) ((I) < (V)->length ? (V)->contents[(I)] : NULL) + GIT_INLINE(void *) git_vector_last(git_vector *v) { return (v->length > 0) ? git_vector_get(v, v->length - 1) : NULL; From 95340398a1821bd19da1bfe459ba1f375ed89404 Mon Sep 17 00:00:00 2001 From: Russell Belfer Date: Thu, 22 Mar 2012 09:17:34 -0700 Subject: [PATCH 02/16] Adding new tests for new status command This is a work in progress. This adds two new sets of tests, the issue_592 tests from @nulltoken's pull request #601 and some new tests for submodules. The submodule tests still have issues where the status is not reported correctly. That needs to be fixed before merge. --- include/git2/status.h | 3 +- tests-clar/status/worktree.c | 87 +++++++++++++++++- .../issue_592/.gitted/COMMIT_EDITMSG | Bin 0 -> 15 bytes tests/resources/issue_592/.gitted/HEAD | Bin 0 -> 23 bytes tests/resources/issue_592/.gitted/config | Bin 0 -> 157 bytes tests/resources/issue_592/.gitted/index | Bin 0 -> 392 bytes .../resources/issue_592/.gitted/info/exclude | Bin 0 -> 240 bytes tests/resources/issue_592/.gitted/logs/HEAD | Bin 0 -> 334 bytes .../issue_592/.gitted/logs/refs/heads/master | Bin 0 -> 334 bytes .../06/07ee9d4ccce8e4c4fa13c2c7d727e7faba4e0e | Bin 0 -> 87 bytes .../49/363a72a90d9424240258cd3759f23788ecf1d8 | Bin 0 -> 55 bytes .../4d/383e87f0371ba8fa353f3912db6862b2625e85 | Bin 0 -> 131 bytes .../71/44be264b61825fbff68046fe999bdfe96a1792 | Bin 0 -> 50 bytes .../be/de83ee10b5b3f00239660b00acec2d55fd0b84 | Bin 0 -> 107 bytes .../e3/8fcc7a6060f5eb5b876e836b52ae4769363f21 | Bin 0 -> 137 bytes .../f1/adef63cb08891a0942b76fc4b9c50c6c494bc7 | Bin 0 -> 29 bytes .../issue_592/.gitted/refs/heads/master | Bin 0 -> 41 bytes tests/resources/issue_592/a.txt | Bin 0 -> 13 bytes tests/resources/issue_592/c/a.txt | Bin 0 -> 13 bytes tests/resources/issue_592/l.txt | Bin 0 -> 13 bytes tests/resources/issue_592/t/a.txt | Bin 0 -> 13 bytes tests/resources/issue_592/t/b.txt | Bin 0 -> 13 bytes tests/resources/submodules/.gitted/HEAD | Bin 0 -> 23 bytes tests/resources/submodules/.gitted/config | Bin 0 -> 111 bytes .../resources/submodules/.gitted/description | Bin 0 -> 73 bytes tests/resources/submodules/.gitted/index | Bin 0 -> 408 bytes .../resources/submodules/.gitted/info/exclude | Bin 0 -> 249 bytes tests/resources/submodules/.gitted/info/refs | Bin 0 -> 59 bytes tests/resources/submodules/.gitted/logs/HEAD | Bin 0 -> 167 bytes .../submodules/.gitted/logs/refs/heads/master | Bin 0 -> 167 bytes .../26/a3b32a9b7d97486c5557f5902e8ac94638145e | Bin 0 -> 95 bytes .../78/308c9251cf4eee8b25a76c7d2790c73d797357 | Bin 0 -> 97 bytes .../d5/f7fc3f74f7dec08280f370a975b112e8f60818 | Bin 0 -> 21 bytes .../e3/50052cc767cd1fcb37e84e9a89e701925be4ae | Bin 0 -> 120 bytes .../submodules/.gitted/objects/info/packs | Bin 0 -> 54 bytes ...9d04bb39ac274669e2184e45bd90015d02ef5b.idx | Bin 0 -> 1156 bytes ...d04bb39ac274669e2184e45bd90015d02ef5b.pack | Bin 0 -> 228 bytes .../resources/submodules/.gitted/packed-refs | Bin 0 -> 85 bytes tests/resources/submodules/added | Bin 0 -> 6 bytes tests/resources/submodules/gitmodules | Bin 0 -> 47 bytes tests/resources/submodules/ignored | Bin 0 -> 3 bytes tests/resources/submodules/modified | Bin 0 -> 9 bytes .../submodules/testrepo/.gitted/HEAD | Bin 0 -> 23 bytes .../submodules/testrepo/.gitted/config | Bin 0 -> 294 bytes .../submodules/testrepo/.gitted/description | Bin 0 -> 73 bytes .../submodules/testrepo/.gitted/index | Bin 0 -> 256 bytes .../submodules/testrepo/.gitted/info/exclude | Bin 0 -> 240 bytes .../submodules/testrepo/.gitted/logs/HEAD | Bin 0 -> 197 bytes .../testrepo/.gitted/logs/refs/heads/master | Bin 0 -> 197 bytes .../13/85f264afb75a56a5bec74243be9b367ba4ca08 | Bin 0 -> 19 bytes .../18/1037049a54a1eb5fab404658a3a250b44335d7 | Bin 0 -> 51 bytes .../18/10dff58d8a660512d4832e740f692884338ccd | Bin 0 -> 119 bytes .../1f/67fc4386b2d171e0d21be1c447e12660561f9b | Bin 0 -> 21 bytes .../27/0b8ea76056d5cad83af921837702d3e3c2924d | Bin 0 -> 21 bytes .../32/59a6bd5b57fb9c1281bb7ed3167b50f224cb54 | Bin 0 -> 50 bytes .../36/97d64be941a53d4ae8f6a271e4e3fa56b022cc | Bin 0 -> 23 bytes .../45/b983be36b73c0788dc9cbcb76cbb80fc7bb057 | Bin 0 -> 18 bytes .../4a/202b346bb0fb0db7eff3cffeb3c70babbd2045 | Bin 0 -> 160 bytes .../5b/5b025afb0b4c913b4c338a42934a3863bf3644 | Bin 0 -> 158 bytes .../75/057dd4114e74cca1d750d0aee1647c903cb60a | Bin 0 -> 119 bytes .../76/3d71aadf09a7951596c9746c024e7eece7c7af | Bin 0 -> 175 bytes .../7b/4384978d2493e851f9cca7858815fac9b10980 | Bin 0 -> 145 bytes .../81/4889a078c031f61ed08ab5fa863aea9314344d | Bin 0 -> 82 bytes .../84/96071c1b46c854b31185ea97743be6a8774479 | Bin 0 -> 126 bytes .../94/4c0f6e4dfa41595e6eb3ceecdb14f50fe18162 | Bin 0 -> 119 bytes .../9a/03079b8a8ee85a0bee58bf9be3da8b62414ed4 | Bin 0 -> 50 bytes .../9f/d738e8f7967c078dceed8190330fc8648ee56a | Bin 0 -> 160 bytes .../a4/a7dce85cf63874e984719f4fdd239f5145052f | Bin 0 -> 200 bytes .../a6/5fedf39aefe402d3bb6e24df4d4f5fe4547750 | Bin 0 -> 150 bytes .../a7/1586c1dfe8a71c6cbf6c129f404c5642ff31bd | Bin 0 -> 28 bytes .../a8/233120f6ad708f843d861ce2b7228ec4e3dec6 | Bin 0 -> 26 bytes .../ae/90f12eea699729ed24555e40b9fd669da12a12 | Bin 0 -> 148 bytes .../b2/5fa35b38051e4ae45d4222e795f9df2e43f1d1 | Bin 0 -> 135 bytes .../b6/361fc6a97178d8fc8639fdeed71c775ab52593 | Bin 0 -> 80 bytes .../be/3563ae3f795b2b4353bcce3a527ad0a4f7f644 | Bin 0 -> 194 bytes .../c4/7800c7266a2be04c571c04d5a6614691ea99bd | Bin 0 -> 161 bytes .../d6/c93164c249c8000205dd4ec5cbca1b516d487f | Bin 0 -> 21 bytes .../e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 | Bin 0 -> 15 bytes .../e7/b4ad382349ff96dd8199000580b9b1e2042eb0 | Bin 0 -> 21 bytes .../f1/425cef211cc08caa31e7b545ffb232acb098c3 | Bin 0 -> 103 bytes .../f6/0079018b664e4e79329a7ef9559c8d9e0378d1 | Bin 0 -> 82 bytes .../fa/49b077972391ad58037050f2a75f74e3671e92 | Bin 0 -> 24 bytes .../fd/093bff70906175335656e6ce6ae05783708765 | Bin 0 -> 82 bytes ...1e489679b7d3418f9ab594bda8ceb37dd4c695.idx | Bin 0 -> 46656 bytes ...e489679b7d3418f9ab594bda8ceb37dd4c695.pack | Bin 0 -> 386089 bytes ...c6adf9f61318f041845b01440d09aa7a91e1b5.idx | Bin 0 -> 1240 bytes ...6adf9f61318f041845b01440d09aa7a91e1b5.pack | Bin 0 -> 491 bytes ...5f5d483273108c9d8dd0e4728ccf0b2982423a.idx | Bin 0 -> 1240 bytes ...f5d483273108c9d8dd0e4728ccf0b2982423a.pack | Bin 0 -> 498 bytes .../submodules/testrepo/.gitted/packed-refs | Bin 0 -> 700 bytes .../testrepo/.gitted/refs/heads/master | Bin 0 -> 41 bytes .../testrepo/.gitted/refs/remotes/origin/HEAD | Bin 0 -> 32 bytes tests/resources/submodules/testrepo/README | Bin 0 -> 10 bytes .../submodules/testrepo/branch_file.txt | Bin 0 -> 8 bytes tests/resources/submodules/testrepo/new.txt | Bin 0 -> 12 bytes tests/resources/submodules/unmodified | Bin 0 -> 3 bytes tests/resources/submodules/untracked | Bin 0 -> 3 bytes 97 files changed, 86 insertions(+), 4 deletions(-) create mode 100644 tests/resources/issue_592/.gitted/COMMIT_EDITMSG create mode 100644 tests/resources/issue_592/.gitted/HEAD create mode 100644 tests/resources/issue_592/.gitted/config create mode 100644 tests/resources/issue_592/.gitted/index create mode 100644 tests/resources/issue_592/.gitted/info/exclude create mode 100644 tests/resources/issue_592/.gitted/logs/HEAD create mode 100644 tests/resources/issue_592/.gitted/logs/refs/heads/master create mode 100644 tests/resources/issue_592/.gitted/objects/06/07ee9d4ccce8e4c4fa13c2c7d727e7faba4e0e create mode 100644 tests/resources/issue_592/.gitted/objects/49/363a72a90d9424240258cd3759f23788ecf1d8 create mode 100644 tests/resources/issue_592/.gitted/objects/4d/383e87f0371ba8fa353f3912db6862b2625e85 create mode 100644 tests/resources/issue_592/.gitted/objects/71/44be264b61825fbff68046fe999bdfe96a1792 create mode 100644 tests/resources/issue_592/.gitted/objects/be/de83ee10b5b3f00239660b00acec2d55fd0b84 create mode 100644 tests/resources/issue_592/.gitted/objects/e3/8fcc7a6060f5eb5b876e836b52ae4769363f21 create mode 100644 tests/resources/issue_592/.gitted/objects/f1/adef63cb08891a0942b76fc4b9c50c6c494bc7 create mode 100644 tests/resources/issue_592/.gitted/refs/heads/master create mode 100644 tests/resources/issue_592/a.txt create mode 100644 tests/resources/issue_592/c/a.txt create mode 100644 tests/resources/issue_592/l.txt create mode 100644 tests/resources/issue_592/t/a.txt create mode 100644 tests/resources/issue_592/t/b.txt create mode 100644 tests/resources/submodules/.gitted/HEAD create mode 100644 tests/resources/submodules/.gitted/config create mode 100644 tests/resources/submodules/.gitted/description create mode 100644 tests/resources/submodules/.gitted/index create mode 100644 tests/resources/submodules/.gitted/info/exclude create mode 100644 tests/resources/submodules/.gitted/info/refs create mode 100644 tests/resources/submodules/.gitted/logs/HEAD create mode 100644 tests/resources/submodules/.gitted/logs/refs/heads/master create mode 100644 tests/resources/submodules/.gitted/objects/26/a3b32a9b7d97486c5557f5902e8ac94638145e create mode 100644 tests/resources/submodules/.gitted/objects/78/308c9251cf4eee8b25a76c7d2790c73d797357 create mode 100644 tests/resources/submodules/.gitted/objects/d5/f7fc3f74f7dec08280f370a975b112e8f60818 create mode 100644 tests/resources/submodules/.gitted/objects/e3/50052cc767cd1fcb37e84e9a89e701925be4ae create mode 100644 tests/resources/submodules/.gitted/objects/info/packs create mode 100644 tests/resources/submodules/.gitted/objects/pack/pack-b69d04bb39ac274669e2184e45bd90015d02ef5b.idx create mode 100644 tests/resources/submodules/.gitted/objects/pack/pack-b69d04bb39ac274669e2184e45bd90015d02ef5b.pack create mode 100644 tests/resources/submodules/.gitted/packed-refs create mode 100644 tests/resources/submodules/added create mode 100644 tests/resources/submodules/gitmodules create mode 100644 tests/resources/submodules/ignored create mode 100644 tests/resources/submodules/modified create mode 100644 tests/resources/submodules/testrepo/.gitted/HEAD create mode 100644 tests/resources/submodules/testrepo/.gitted/config create mode 100644 tests/resources/submodules/testrepo/.gitted/description create mode 100644 tests/resources/submodules/testrepo/.gitted/index create mode 100644 tests/resources/submodules/testrepo/.gitted/info/exclude create mode 100644 tests/resources/submodules/testrepo/.gitted/logs/HEAD create mode 100644 tests/resources/submodules/testrepo/.gitted/logs/refs/heads/master create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/13/85f264afb75a56a5bec74243be9b367ba4ca08 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/18/1037049a54a1eb5fab404658a3a250b44335d7 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/18/10dff58d8a660512d4832e740f692884338ccd create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/1f/67fc4386b2d171e0d21be1c447e12660561f9b create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/27/0b8ea76056d5cad83af921837702d3e3c2924d create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/32/59a6bd5b57fb9c1281bb7ed3167b50f224cb54 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/36/97d64be941a53d4ae8f6a271e4e3fa56b022cc create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/45/b983be36b73c0788dc9cbcb76cbb80fc7bb057 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/4a/202b346bb0fb0db7eff3cffeb3c70babbd2045 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/5b/5b025afb0b4c913b4c338a42934a3863bf3644 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/75/057dd4114e74cca1d750d0aee1647c903cb60a create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/76/3d71aadf09a7951596c9746c024e7eece7c7af create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/7b/4384978d2493e851f9cca7858815fac9b10980 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/81/4889a078c031f61ed08ab5fa863aea9314344d create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/84/96071c1b46c854b31185ea97743be6a8774479 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/94/4c0f6e4dfa41595e6eb3ceecdb14f50fe18162 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/9a/03079b8a8ee85a0bee58bf9be3da8b62414ed4 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/9f/d738e8f7967c078dceed8190330fc8648ee56a create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/a4/a7dce85cf63874e984719f4fdd239f5145052f create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/a6/5fedf39aefe402d3bb6e24df4d4f5fe4547750 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/a7/1586c1dfe8a71c6cbf6c129f404c5642ff31bd create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/a8/233120f6ad708f843d861ce2b7228ec4e3dec6 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/ae/90f12eea699729ed24555e40b9fd669da12a12 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/b2/5fa35b38051e4ae45d4222e795f9df2e43f1d1 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/b6/361fc6a97178d8fc8639fdeed71c775ab52593 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/be/3563ae3f795b2b4353bcce3a527ad0a4f7f644 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/c4/7800c7266a2be04c571c04d5a6614691ea99bd create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/d6/c93164c249c8000205dd4ec5cbca1b516d487f create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/e7/b4ad382349ff96dd8199000580b9b1e2042eb0 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/f1/425cef211cc08caa31e7b545ffb232acb098c3 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/f6/0079018b664e4e79329a7ef9559c8d9e0378d1 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/fa/49b077972391ad58037050f2a75f74e3671e92 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/fd/093bff70906175335656e6ce6ae05783708765 create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/pack/pack-a81e489679b7d3418f9ab594bda8ceb37dd4c695.idx create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/pack/pack-a81e489679b7d3418f9ab594bda8ceb37dd4c695.pack create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/pack/pack-d7c6adf9f61318f041845b01440d09aa7a91e1b5.idx create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/pack/pack-d7c6adf9f61318f041845b01440d09aa7a91e1b5.pack create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/pack/pack-d85f5d483273108c9d8dd0e4728ccf0b2982423a.idx create mode 100644 tests/resources/submodules/testrepo/.gitted/objects/pack/pack-d85f5d483273108c9d8dd0e4728ccf0b2982423a.pack create mode 100644 tests/resources/submodules/testrepo/.gitted/packed-refs create mode 100644 tests/resources/submodules/testrepo/.gitted/refs/heads/master create mode 100644 tests/resources/submodules/testrepo/.gitted/refs/remotes/origin/HEAD create mode 100644 tests/resources/submodules/testrepo/README create mode 100644 tests/resources/submodules/testrepo/branch_file.txt create mode 100644 tests/resources/submodules/testrepo/new.txt create mode 100644 tests/resources/submodules/unmodified create mode 100644 tests/resources/submodules/untracked diff --git a/include/git2/status.h b/include/git2/status.h index 4dc80b93a..339052933 100644 --- a/include/git2/status.h +++ b/include/git2/status.h @@ -31,8 +31,7 @@ GIT_BEGIN_DECL #define GIT_STATUS_WT_MODIFIED (1 << 4) #define GIT_STATUS_WT_DELETED (1 << 5) -#define GIT_STATUS_IGNORED (1 << 6) -#define GIT_STATUS_WT_UNTRACKED (1 << 7) +#define GIT_STATUS_IGNORED (1 << 6) /** * Gather file statuses and run a callback for each one. diff --git a/tests-clar/status/worktree.c b/tests-clar/status/worktree.c index f80975795..98bb2b819 100644 --- a/tests-clar/status/worktree.c +++ b/tests-clar/status/worktree.c @@ -2,7 +2,7 @@ #include "fileops.h" #include "ignore.h" #include "status_data.h" - +#include "posix.h" /** * Auxiliary methods @@ -43,7 +43,6 @@ cb_status__count(const char *p, unsigned int s, void *payload) return 0; } - /** * Initializer * @@ -133,3 +132,87 @@ void test_status_worktree__ignores(void) ); cl_assert(ignored); } + +static int cb_status__check_592(const char *p, unsigned int s, void *payload) +{ + GIT_UNUSED(payload); + + if (s != GIT_STATUS_WT_DELETED || (payload != NULL && strcmp(p, (const char *)payload) != 0)) + return -1; + + return 0; +} + +void test_status_worktree__issue_592(void) +{ + git_repository *repo; + git_buf path = GIT_BUF_INIT; + + repo = cl_git_sandbox_init("issue_592"); + cl_git_pass(git_buf_joinpath(&path, git_repository_workdir(repo), "l.txt")); + cl_git_pass(p_unlink(git_buf_cstr(&path))); + + cl_git_pass(git_status_foreach(repo, cb_status__check_592, "l.txt")); + + git_buf_free(&path); +} + +void test_status_worktree__issue_592_2(void) +{ + git_repository *repo; + git_buf path = GIT_BUF_INIT; + + repo = cl_git_sandbox_init("issue_592"); + cl_git_pass(git_buf_joinpath(&path, git_repository_workdir(repo), "c/a.txt")); + cl_git_pass(p_unlink(git_buf_cstr(&path))); + + cl_git_pass(git_status_foreach(repo, cb_status__check_592, "c/a.txt")); + + git_buf_free(&path); +} + +void test_status_worktree__issue_592_3(void) +{ + git_repository *repo; + git_buf path = GIT_BUF_INIT; + + repo = cl_git_sandbox_init("issue_592"); + + cl_git_pass(git_buf_joinpath(&path, git_repository_workdir(repo), "c")); + cl_git_pass(git_futils_rmdir_r(git_buf_cstr(&path), 1)); + + cl_git_pass(git_status_foreach(repo, cb_status__check_592, "c/a.txt")); + + git_buf_free(&path); +} + +void test_status_worktree__issue_592_4(void) +{ + git_repository *repo; + git_buf path = GIT_BUF_INIT; + + repo = cl_git_sandbox_init("issue_592"); + + cl_git_pass(git_buf_joinpath(&path, git_repository_workdir(repo), "t/b.txt")); + cl_git_pass(p_unlink(git_buf_cstr(&path))); + + cl_git_pass(git_status_foreach(repo, cb_status__check_592, "t/b.txt")); + + git_buf_free(&path); +} + +void test_status_worktree__issue_592_5(void) +{ + git_repository *repo; + git_buf path = GIT_BUF_INIT; + + repo = cl_git_sandbox_init("issue_592"); + + cl_git_pass(git_buf_joinpath(&path, git_repository_workdir(repo), "t")); + cl_git_pass(git_futils_rmdir_r(git_buf_cstr(&path), 1)); + cl_git_pass(p_mkdir(git_buf_cstr(&path), 0777)); + + cl_git_pass(git_status_foreach(repo, cb_status__check_592, NULL)); + + git_buf_free(&path); +} diff --git a/tests/resources/issue_592/.gitted/COMMIT_EDITMSG b/tests/resources/issue_592/.gitted/COMMIT_EDITMSG new file mode 100644 index 0000000000000000000000000000000000000000..5852f44639f52db67d30ad9143b86afb143d415f GIT binary patch literal 15 Wcmeaw%Ph%E%uz_r&&|y&;Q|0Hi3NTD literal 0 HcmV?d00001 diff --git a/tests/resources/issue_592/.gitted/HEAD b/tests/resources/issue_592/.gitted/HEAD new file mode 100644 index 0000000000000000000000000000000000000000..cb089cd89a7d7686d284d8761201649346b5aa1c GIT binary patch literal 23 ecmXR)O|w!cN=+-)&qz&7Db~+TEG|hc;sO9;xClW2 literal 0 HcmV?d00001 diff --git a/tests/resources/issue_592/.gitted/config b/tests/resources/issue_592/.gitted/config new file mode 100644 index 0000000000000000000000000000000000000000..78387c50b472d8c0cdaeca4b56bf23c5b7f791df GIT binary patch literal 157 zcmYj~F%H5o3`OVU6g@&Oz=mM#0T6>}oMPd`mF*(s_9TLV@qN9ge_KWI9)sd8MlRa2 zXaRqt8cCf_(;P!4#v%zjWnjY?9-x23vH`PVKK2BT);-swYt{-=eU0H4(pLN73O4eu U^rVDm@k>7$ViLcSFO^&T0N7wQ1ONa4 literal 0 HcmV?d00001 diff --git a/tests/resources/issue_592/.gitted/index b/tests/resources/issue_592/.gitted/index new file mode 100644 index 0000000000000000000000000000000000000000..eaeb5d761423e5db70d3d4f32678c61b9e10bbc0 GIT binary patch literal 392 zcmZ?q402{*U|<4bR{sp`L?F%JpQbenL?b}s5(Jxp_v704$)`Cwr8u3o=O5X5lqbj2 z`#1w@qFzZw30N6L=CCL0!%U*c9M&8vxu*o#JqJM^BrAN_OZ1bVF4}YL*3_Wdyt1o3 PEJBL2&BC0e-gW>0HnCg3 literal 0 HcmV?d00001 diff --git a/tests/resources/issue_592/.gitted/info/exclude b/tests/resources/issue_592/.gitted/info/exclude new file mode 100644 index 0000000000000000000000000000000000000000..a5196d1be8fb59edf8062bef36d3a602e0812139 GIT binary patch literal 240 zcmXYqK?=e!6h!x)VxWtv*mf_t5?px$aS_{}Hj?C*^A!K8&+|6iduy>w2)yu&S+&4+*8eX?Y4Y@S^RIkPo*-knpXHH-N zcHgz;#T@dOmmJFRZ0>6_E7@NxycegHZ_Urqo3 literal 0 HcmV?d00001 diff --git a/tests/resources/issue_592/.gitted/logs/refs/heads/master b/tests/resources/issue_592/.gitted/logs/refs/heads/master new file mode 100644 index 0000000000000000000000000000000000000000..f19fe35a601ee3dce98f28a0834889fcab2c654f GIT binary patch literal 334 zcma)$!3x4K5Jb=V6*($G+3Yr(t%!K_Gm>^A!K8&+|6iduy>w2)yu&S+&4+*8eX?Y4Y@S^RIkPo*-knpXHH-N zcHgz;#T@dOmmJFRZ0>6_E7@NxycegHZ_Urqo3 literal 0 HcmV?d00001 diff --git a/tests/resources/issue_592/.gitted/objects/06/07ee9d4ccce8e4c4fa13c2c7d727e7faba4e0e b/tests/resources/issue_592/.gitted/objects/06/07ee9d4ccce8e4c4fa13c2c7d727e7faba4e0e new file mode 100644 index 0000000000000000000000000000000000000000..05dec10f7319fd5f921d7812bdcc61036393f017 GIT binary patch literal 87 zcmV-d0I2_X0V^p=O;s>7GGZ_^FfcPQQApG)sVHIixb}VWX^u`QPN(hpM|K|N$?^0) tZejog3dszGF8kEH6Px1qe`|32H*@y=ms#SIpqg_CXfDC3834qIH6T`qC++|M literal 0 HcmV?d00001 diff --git a/tests/resources/issue_592/.gitted/objects/49/363a72a90d9424240258cd3759f23788ecf1d8 b/tests/resources/issue_592/.gitted/objects/49/363a72a90d9424240258cd3759f23788ecf1d8 new file mode 100644 index 0000000000000000000000000000000000000000..e997e1b497234b378110991a283e4c54a4574e0b GIT binary patch literal 55 zcmV-70LcG%0V^p=O;s>6V=y!@Ff%bxNYpE-C}H@x_I>hcj!r2~r|tPib{^%)@$^0p NRgi>J0RY@!9Fj_07cl?; literal 0 HcmV?d00001 diff --git a/tests/resources/issue_592/.gitted/objects/4d/383e87f0371ba8fa353f3912db6862b2625e85 b/tests/resources/issue_592/.gitted/objects/4d/383e87f0371ba8fa353f3912db6862b2625e85 new file mode 100644 index 0000000000000000000000000000000000000000..c49a8be58737174701153a75630776f97bb68a7f GIT binary patch literal 131 zcmV-}0DS*=0iBIa3c@fH23_YAZ!eUjNt+f#+lY2?2V#1E3*Nx(z|2U^Id(G3 zbm|QtJ!=oFn-dW%aN+_RE2H?$j~+hogB>&!@BLL9l|7|i-zaoJMvF28w9KE|GjmLX l)O;mlty!0KwiBJT(OMn!n0EZBt9yw(a-v^HeF00zK8V!tJ7@p^ literal 0 HcmV?d00001 diff --git a/tests/resources/issue_592/.gitted/objects/71/44be264b61825fbff68046fe999bdfe96a1792 b/tests/resources/issue_592/.gitted/objects/71/44be264b61825fbff68046fe999bdfe96a1792 new file mode 100644 index 0000000000000000000000000000000000000000..25d44d9381bd35d101ebbc205102169fe4cc150f GIT binary patch literal 50 zcmb7GGZ_^FfcPQQApG)sVHIixb}VWX^u`QPN(hpM|K|N$?^0) zZejog3dszGF8kEH6Px1qe`|32H*@y=ms#SIpqg_CXf9#!G_xvN$vZ_wg(>2!dE_Va NjyE4~005;)Gfdx%FoggB literal 0 HcmV?d00001 diff --git a/tests/resources/issue_592/.gitted/objects/e3/8fcc7a6060f5eb5b876e836b52ae4769363f21 b/tests/resources/issue_592/.gitted/objects/e3/8fcc7a6060f5eb5b876e836b52ae4769363f21 new file mode 100644 index 0000000000000000000000000000000000000000..36c5b9aabbd2a27b0eeb173532f9be1a2533084c GIT binary patch literal 137 zcmV;40CxX)0ga7G3IZ_@06pgweHVsKVqykFy!wnR9SvrI*z^39C32cbVlY8xM5R}2F(CR#Q6*z?!r)HAZ~Pn+`c^BC7j?K$qgmpTX*U19J(@3d riKAUXYAsi{T5aHn5>f1QpECWeE2Yk8)lV1qUby%Q-;VeI>GeI#-X1+@ literal 0 HcmV?d00001 diff --git a/tests/resources/issue_592/.gitted/objects/f1/adef63cb08891a0942b76fc4b9c50c6c494bc7 b/tests/resources/issue_592/.gitted/objects/f1/adef63cb08891a0942b76fc4b9c50c6c494bc7 new file mode 100644 index 0000000000000000000000000000000000000000..c08ecd5edaf4373090ce12dad69e53761e4a156b GIT binary patch literal 29 lcmbdC!wV8SAnNX9rlO*~fW7jPCUT^Jog) literal 0 HcmV?d00001 diff --git a/tests/resources/issue_592/a.txt b/tests/resources/issue_592/a.txt new file mode 100644 index 0000000000000000000000000000000000000000..f1adef63cb08891a0942b76fc4b9c50c6c494bc7 GIT binary patch literal 13 Ucmd1HFUiQvOIOH9ElTAA03=%k#sB~S literal 0 HcmV?d00001 diff --git a/tests/resources/issue_592/c/a.txt b/tests/resources/issue_592/c/a.txt new file mode 100644 index 0000000000000000000000000000000000000000..f1adef63cb08891a0942b76fc4b9c50c6c494bc7 GIT binary patch literal 13 Ucmd1HFUiQvOIOH9ElTAA03=%k#sB~S literal 0 HcmV?d00001 diff --git a/tests/resources/issue_592/l.txt b/tests/resources/issue_592/l.txt new file mode 100644 index 0000000000000000000000000000000000000000..f1adef63cb08891a0942b76fc4b9c50c6c494bc7 GIT binary patch literal 13 Ucmd1HFUiQvOIOH9ElTAA03=%k#sB~S literal 0 HcmV?d00001 diff --git a/tests/resources/issue_592/t/a.txt b/tests/resources/issue_592/t/a.txt new file mode 100644 index 0000000000000000000000000000000000000000..f1adef63cb08891a0942b76fc4b9c50c6c494bc7 GIT binary patch literal 13 Ucmd1HFUiQvOIOH9ElTAA03=%k#sB~S literal 0 HcmV?d00001 diff --git a/tests/resources/issue_592/t/b.txt b/tests/resources/issue_592/t/b.txt new file mode 100644 index 0000000000000000000000000000000000000000..f1adef63cb08891a0942b76fc4b9c50c6c494bc7 GIT binary patch literal 13 Ucmd1HFUiQvOIOH9ElTAA03=%k#sB~S literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/.gitted/HEAD b/tests/resources/submodules/.gitted/HEAD new file mode 100644 index 0000000000000000000000000000000000000000..cb089cd89a7d7686d284d8761201649346b5aa1c GIT binary patch literal 23 ecmXR)O|w!cN=+-)&qz&7Db~+TEG|hc;sO9;xClW2 literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/.gitted/config b/tests/resources/submodules/.gitted/config new file mode 100644 index 0000000000000000000000000000000000000000..af107929f2da5ebccf17f97084f24e4ae204b18f GIT binary patch literal 111 zcmX}k!3}^Q429t{Ou+~);3URFg+fRQC2cWrd-3A&OaAwc$bzSLf`hdh%ad6e*o~r< pd)UL~U9N$t+PQ$;d2LNXyJgRZve!Elw`VEGWs$&r??@ Q$yWgB0LrH#Y0~2Y0PnOK(EtDd literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/.gitted/index b/tests/resources/submodules/.gitted/index new file mode 100644 index 0000000000000000000000000000000000000000..b7400570e02979b65c61bb8099edeb7cf5fb02a2 GIT binary patch literal 408 zcmZ?q402{*U|<4bR{yNzY#_}5qxl#ZSQr8lmoP9i0x{!Ppp*y@Csi2qObR^j_pV!Y zc}}hRgyXiA#o-Lxdg+-Zx%nxjIjO}ULx8|P%YzG<2Ak*qbT68DY*)Yku`l_4??6+- z=Yo}`8--qc$JyxvsSd8n9~>zZdu8t-?HXx?lP2GO^5Je6-kWJLu_5Hn zbD)f_Q=2Jmfu2JsBXvG$y!Mqkvv@u4b<^U;QVpA(A)8Bvm2JkMJ-{WxpfQqI?koAN z2@XrrUm6TivxOH}@by`Bg4YmqWtp&Q2_qg<=}C1&CWHFAu)kt)W|So3SY&_LCL-A5 fr3I@KgDFa;|NeBT@<;!p?!JY0!;@&Dv1$GQjbT&j literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/.gitted/info/refs b/tests/resources/submodules/.gitted/info/refs new file mode 100644 index 0000000000000000000000000000000000000000..ba17abddefa4566d58e3c35e22efc00303526800 GIT binary patch literal 59 zcmV~$$q~RH2mru$(u@$4qZ~$X{Ny9)f3gdP!fpzWP$-~NlFZr1)b0z3c>reEb#hhP L=~3d2(4=>Mhiqi$^<5a!}*^lPZI0ntiPdJ2m8f$JV2;iQ%UrJC`g&0Bc+As#X2&96)4EAqkv$8IjAY6 a$wc8Q*taTcz9>#~PjY_kmaqW{5=V$nDLFO( literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/.gitted/objects/info/packs b/tests/resources/submodules/.gitted/objects/info/packs new file mode 100644 index 0000000000000000000000000000000000000000..0785ef698992fc520d67d0f9ddffe914489ca319 GIT binary patch literal 54 zcmWGgC`e4s)=e_AOffJ?N;0-gOg1t%F*CDFH8Qj?Ni{J|O0hIBFf>guFiK4`P0|CY H=HdbXq9P95 literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/.gitted/objects/pack/pack-b69d04bb39ac274669e2184e45bd90015d02ef5b.idx b/tests/resources/submodules/.gitted/objects/pack/pack-b69d04bb39ac274669e2184e45bd90015d02ef5b.idx new file mode 100644 index 0000000000000000000000000000000000000000..810fc318112de92aa7005938939150e8934983d8 GIT binary patch literal 1156 zcmexg;-AdGz`z8=!~l>wY?v7+K8i=fU^ER3(KNs*o;8E1_y*(R$2CV{TGk7v1<2jx z)c!sDe#zaQze+EJM1>mP&06+Biobt*M0jJzioYNHGY8>BVCLgygs z?ys;L`1Rnyd&5M)D{0AzQl>z}q%ZZ8#JO-qu0o+qigm7z_wim0p8K{*@9>bWVsK@% zB62@)uIqAxfEe+TVnR6i?7jQhrHvu~)vkToXx!o0xG%RcIYO-lc$_mdFfcPQQAkP6 zNi9iDVc^vMJ^Oyi-JZWnFN8#e8sE)Y_Cd-Jq9ivzB{MA(znaoKys7|BSuLkCc$}-u e=K=r%Rsi$aUrH3wz>q)yR#N~5FKI`K#Q$vniEE<( literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/.gitted/packed-refs b/tests/resources/submodules/.gitted/packed-refs new file mode 100644 index 0000000000000000000000000000000000000000..a6450691eac0f42cc8dc0c2267a90637d88b4ee6 GIT binary patch literal 85 zcmWm5OA3G>5CG79rx<7*j*Z`LGw6s>fvC{+qql!6G)~vnr3`q_Sr2F;w`5o_YVSA( h+&$%hnn}o~WNZqCizeqRYRM7)tEzAw>fte^FCRVt8HxY^ literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/added b/tests/resources/submodules/added new file mode 100644 index 0000000000000000000000000000000000000000..d5f7fc3f74f7dec08280f370a975b112e8f60818 GIT binary patch literal 6 NcmYdHNl8uN0ssfm0sQ~~ literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/gitmodules b/tests/resources/submodules/gitmodules new file mode 100644 index 0000000000000000000000000000000000000000..1262f8bb044cdbe8b5e7e60b33d3ab230142d85e GIT binary patch literal 47 ucmazpE=|hKPbtkwRZuEPEiNfaEy!1j<>D+zEXh!?Re%X`ah4Y40Qmrx@DKR_ literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/ignored b/tests/resources/submodules/ignored new file mode 100644 index 0000000000000000000000000000000000000000..092bfb9bdf74dd8cfd22e812151281ee9aa6f01a GIT binary patch literal 3 Kcmb=-=K=r%Rsiz= literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/modified b/tests/resources/submodules/modified new file mode 100644 index 0000000000000000000000000000000000000000..452216e1d4c87ec7e68e4c18bc9a5a07d01dd13a GIT binary patch literal 9 QcmYe!NX$!5P2u7K01)5;-v9sr literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/HEAD b/tests/resources/submodules/testrepo/.gitted/HEAD new file mode 100644 index 0000000000000000000000000000000000000000..cb089cd89a7d7686d284d8761201649346b5aa1c GIT binary patch literal 23 ecmXR)O|w!cN=+-)&qz&7Db~+TEG|hc;sO9;xClW2 literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/config b/tests/resources/submodules/testrepo/.gitted/config new file mode 100644 index 0000000000000000000000000000000000000000..d6dcad12b3e80886731a6358d7c1fc5408050a39 GIT binary patch literal 294 zcmYk1!D_=m3`EbnUtxT7p$a_~@)e0@e9~xUG$t1MjX~(f zT8-sDv#e-;BwBgvuH7YuTpO)Clat9#F-#~2WNhlxxL|8SdB4qQq%T=5o4Y5}*X1Z~ zWYqO6wbZTmV3^DA|Tnazx^*|<2Nzm$4s(pbcn-58O nmqhyDBM#&HtdJf~k#jpPV^R=IYkeGDr}Ihwu|Io0tFq?2X0 literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/description b/tests/resources/submodules/testrepo/.gitted/description new file mode 100644 index 0000000000000000000000000000000000000000..498b267a8c7812490d6479839c5577eaaec79d62 GIT binary patch literal 73 zcmWH|%S+5nO;IRHEyyp$t+PQ$;d2LNXyJgRZve!Elw`VEGWs$&r??@ Q$yWgB0LrH#Y0~2Y0PnOK(EtDd literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/index b/tests/resources/submodules/testrepo/.gitted/index new file mode 100644 index 0000000000000000000000000000000000000000..3eb8d84fe3d422ad85c2eea457fc2b4666876555 GIT binary patch literal 256 zcmZ?q402{*U|<4bX8)|HO+cCfM)NT+urT=lzRbYTxP*a$@hebD1ctt#TU*fI zV%sM3XuDG1k;nIrF|Y->I=c9}LiO)JrlIECL^FrOZ2C3tmySzqy# kf5W{D?0Ko>P;(B==WacEr(Ry|;KnJ_IIb|wRg|^@05f1sF#rGn literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/info/exclude b/tests/resources/submodules/testrepo/.gitted/info/exclude new file mode 100644 index 0000000000000000000000000000000000000000..a5196d1be8fb59edf8062bef36d3a602e0812139 GIT binary patch literal 240 zcmXYqK?=e!6h!x)VxWtv*mf_t5?px$aS_{}Hj?C*-^#7G-5C`FfcPQQ3!H%bn$g%SfOmF@NI2De~WFK%%kl}eMcVO zI|fyeRFs&PoDrXvnUktlQc=R-y0dwo*>)TDjyrSqY|q)<@TYo1I8Fm*0&IVk`D literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/1f/67fc4386b2d171e0d21be1c447e12660561f9b b/tests/resources/submodules/testrepo/.gitted/objects/1f/67fc4386b2d171e0d21be1c447e12660561f9b new file mode 100644 index 0000000000000000000000000000000000000000..225c45734e0bc525ec231bcba0d6ffd2e335a5d0 GIT binary patch literal 21 dcmby-a%8?0t#9e}{dDH^=1pybKbl G{96FXClfjV literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/36/97d64be941a53d4ae8f6a271e4e3fa56b022cc b/tests/resources/submodules/testrepo/.gitted/objects/36/97d64be941a53d4ae8f6a271e4e3fa56b022cc new file mode 100644 index 0000000000000000000000000000000000000000..9bb5b623bdbc11a70db482867b5b26d0d7b3215c GIT binary patch literal 23 fcmb*IUj|Za7jbMQ}tv2oteqpMA<+GqMB{4C2{5wdJ(~M~-M&OT_5XIM9|vL7g4R zDFwgD$UA5B-KW~%nriQGnKacEj<57B=li1bK?8Nz4aJ%|=C#Q%>vv literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/5b/5b025afb0b4c913b4c338a42934a3863bf3644 b/tests/resources/submodules/testrepo/.gitted/objects/5b/5b025afb0b4c913b4c338a42934a3863bf3644 new file mode 100644 index 0000000000000000000000000000000000000000..c1f22c54fb7ae97543f8fe6c6ceff95734f4f9c3 GIT binary patch literal 158 zcmV;P0Ac@l0iBN92?8+?Mg2|{X+W9DYce1rSb`NK*;!XG8(Cxj2JOJV!-aFWrPX@x z+8EmPO+?QDfEY055S%z6wuTeQ%-(Z}6AM_16RKz0WbHaS4nSBiyHKKc*&;?SiHV%e z5>g!Ch*f&`rEU6JTJQR@q|#P>e3dVpZ#CT?htldvqahm*tTB2I1fa$`9(MW1RcUQ~ M8R{>hJ_`0mE$N*{)Bpeg literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/75/057dd4114e74cca1d750d0aee1647c903cb60a b/tests/resources/submodules/testrepo/.gitted/objects/75/057dd4114e74cca1d750d0aee1647c903cb60a new file mode 100644 index 0000000000000000000000000000000000000000..2ef4faa0f82efa00eeac6cae9e8b2abccc8566ee GIT binary patch literal 119 zcmV--0Eqv10V^p=O;s>7G-5C`FfcPQQ3!H%bn$g%5N`dHvVMD1*wTH+ot*d0HmhE8 ziUX=5sVFfoIU_zTGbdHAq@skub!YQFv+XwQ9e3vJ*`Bkz;ZOC3aH!I})N-(rU!EJv Zrz=lf8^K%<@M(E`$>VgnNdSzWFYprfIFkSX literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/76/3d71aadf09a7951596c9746c024e7eece7c7af b/tests/resources/submodules/testrepo/.gitted/objects/76/3d71aadf09a7951596c9746c024e7eece7c7af new file mode 100644 index 0000000000000000000000000000000000000000..716b0c64bf4bf8236f823c22c3cc059411bf968d GIT binary patch literal 175 zcmV;g08syU0iBLPY6Kw^1+(@Pe?Ks&qu&<7FgeO^eVs_!HmH67^ce>&+>vWv^KHD!2`b0%9>As;?8L#guWxuCZpJX0pF+T7T=%%gK>ay45#GASL d%9%#1psnl}RF2tboNF!}X|`T4)IU(XQY@}xR)YWl literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/7b/4384978d2493e851f9cca7858815fac9b10980 b/tests/resources/submodules/testrepo/.gitted/objects/7b/4384978d2493e851f9cca7858815fac9b10980 new file mode 100644 index 0000000000000000000000000000000000000000..23c462f3415e0b02832cb2445dc66bde8daa9ef4 GIT binary patch literal 145 zcmV;C0B-+y0WFL{4uUWc06q5=dp99n3hj~@;|IJM@1-nQr9fac;rG_WWDawg5kCOd z_As|k4g%b0Lful=8zvnpG+m=jZw=bY1c#Q$p`lL6zA%J2r6@}B;~)Nf;1%vM@FZ~c zt3)`7pXS&5G9(|zB1dPylCXAUY6nMMYOU1m5jV(q`0%>J7Sl2^RiSaIAE^xQ@?_ml44FkiJ(R)*{ z(H(TH6>PFd5&0~h#n$X!k{LPpBqYvbW+w8_Xyl{wSm9BID%@u&V}Z+7esG(*wD+lu geg*3yQ9w!oju;WmZug_se_Eq;)3!|J3!n-%%(!(uEdT%j literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/94/4c0f6e4dfa41595e6eb3ceecdb14f50fe18162 b/tests/resources/submodules/testrepo/.gitted/objects/94/4c0f6e4dfa41595e6eb3ceecdb14f50fe18162 new file mode 100644 index 0000000000000000000000000000000000000000..4cc3f4dffc37fc2b5aed8f0e607edb7441d3d38d GIT binary patch literal 119 zcmV--0Eqv10V^p=O;s>7G-5C`FfcPQQ3!H%bn$g%SfOmF@NI2De~WFK%%kl}eMcVO zI|fyeRFs&PoDrXvnUktlQc=QSHvO9SOUI?QUN62aDtz+zSJ(!nGf<^@spViL%SGD` Z-hZ)NCTD++(0m79W-v4`Ff%bxFxD%nC}B|N?pvM^cJGlx>EO|=%b zDIgPbHt4*fO{Ui2o|*{UCQ5CE^E-XV^|8?WJf*f=K%3x#(cX`6#DJ)Fx<8cikE;l3 O+qz8ftEdmyKS=oCoo!^(`nSNC1;>tj0!^#6GhmI3R(pR72R?wa;!&@l zxVLspFiAhnAp)8-mRda($|0cFrZ}=jqQe@JA#&Cdb5Y-U$T@*sBt(uTglslJ$3ALC zSNzho3rR~(Y5VJ^TB0SP8dHdjkqV0x(h04_$`l-l_>fh8%)JlzPL-bAdvgQ4=D9j?f9l*|80Bjm_@g(h>T5Jb3V=xAqv| z9qz`e3Ykc3jY?Bxav=weT2NGFDvoNfRo&4=Z(h9WGN34ih^$ys4#gM3fJH=+gHJqJ zrkZLbGW;2HU*RTw47koLeSyp9!Onu(!!tv)S!%=s&G7U;E`l EFjbjGl>h($ literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/a7/1586c1dfe8a71c6cbf6c129f404c5642ff31bd b/tests/resources/submodules/testrepo/.gitted/objects/a7/1586c1dfe8a71c6cbf6c129f404c5642ff31bd new file mode 100644 index 0000000000000000000000000000000000000000..d0d7e736e536a41bcb885005f8bf258c61cad682 GIT binary patch literal 28 kcmbBQQQ6W+Sv9;eTEK4oHX{LN+y0Ic;3tpET3 literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/a8/233120f6ad708f843d861ce2b7228ec4e3dec6 b/tests/resources/submodules/testrepo/.gitted/objects/a8/233120f6ad708f843d861ce2b7228ec4e3dec6 new file mode 100644 index 0000000000000000000000000000000000000000..18a7f61c29ea8c5c9a48e3b30bead7f058d06293 GIT binary patch literal 26 icmb7F=Q|_FfcPQQ3!H%bn$g%5N`dHvVMD1*wTH+ot*d0HmhE8 zio?VJ2ow^N7(P11yjPSt(6h?$`BvBen~c_Mm~j}YJ*g-$FF7MVEi)%oucV@c!F6Zz zKC|sM>>YRJ?Ae~PyWvmuhH$9Tywq~Al3$)1%BL$&TpPh$5b$Yve97Zh!=1t?x!)0(YBFxTzGq9;r;MdpKu0) zc31mniUPjJjxcz-TMS(yXNC|XdvZj^4ID#nbRezd`%WO7RSP7o@;^B(a4Rv*0vBGS pz)^Uvug^J8T*gDJ(+P}ikS9b9du_E=>iQ@vwDIO_=novWEZ*$CJnH}e literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/b6/361fc6a97178d8fc8639fdeed71c775ab52593 b/tests/resources/submodules/testrepo/.gitted/objects/b6/361fc6a97178d8fc8639fdeed71c775ab52593 new file mode 100644 index 0000000000000000000000000000000000000000..f613670e239e1e8a0d700b7cbfaca62dbd2caa3c GIT binary patch literal 80 zcmV-W0I&ae0V^p=O;s>6W-v4`Ff%bxFw!fjC}DWMWvzv>=l^MU8)q`GHtgK^h(&LM mi2)EOq@`yt7)37I8y)_8j!@(7y31nK0iRS(hX4SGX&b5U?IBwL literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/be/3563ae3f795b2b4353bcce3a527ad0a4f7f644 b/tests/resources/submodules/testrepo/.gitted/objects/be/3563ae3f795b2b4353bcce3a527ad0a4f7f644 new file mode 100644 index 0000000000000000000000000000000000000000..0817229bc1a1fd88bfdf4f35e2ca11172054756e GIT binary patch literal 194 zcmV;z06qVB0iBOaY6CG4M6=c@dgoO_>)S0b!H{)UIf16t@)$fLqsaHq5Xc3xD~eY< zO8U0lCOFD3bEtx4i?y}Ll}kz(t*e2(QwrEpcFe(h7OCb@hVBz`tK?a^QBEXCTt&6A z&FDQg;S^Xkrt-&2AVw5&DHXRU28m<^Lyd>dhLo+AoR@0KbFO{Bm-IQ|V=dBmIDgA; wxLmh#yT3`_-oZKwY<)(8S0qGpw8x{V|Jj;P9an{AlwDRhEyJD656B`_262L2p#T5? literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/c4/7800c7266a2be04c571c04d5a6614691ea99bd b/tests/resources/submodules/testrepo/.gitted/objects/c4/7800c7266a2be04c571c04d5a6614691ea99bd new file mode 100644 index 0000000000000000000000000000000000000000..75f541f109d783d298a774cb9f6e1e7891965949 GIT binary patch literal 161 zcmV;S0ABxi0iBLf3c@fDME%Yw_5#YLyGa@l5j=t?*lbcOm_};6zeR80&oDfA!)UAZ z-eDlz^|cfT4qeEZt>qF}Rczi+Mk&R54jPd(c@*=MwJaT6atQ|~Q^Ld=Ep16O3J;N3 zX!MjO^2|oweQqmUwe=2{S+p&1eCfBGZ&mJ(gSL7CI|LprjgeuG0nu!9d)UiAu1Tvb PI>T=R+EUC1vtvk0eJDq7 literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/d6/c93164c249c8000205dd4ec5cbca1b516d487f b/tests/resources/submodules/testrepo/.gitted/objects/d6/c93164c249c8000205dd4ec5cbca1b516d487f new file mode 100644 index 0000000000000000000000000000000000000000..a67d6e647ccc1f3faad53aa928441dcf66808c42 GIT binary patch literal 21 dcmb003G-2nPTF literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/f1/425cef211cc08caa31e7b545ffb232acb098c3 b/tests/resources/submodules/testrepo/.gitted/objects/f1/425cef211cc08caa31e7b545ffb232acb098c3 new file mode 100644 index 0000000000000000000000000000000000000000..82e2790e82869f7ebc516f291a2f2d0312f40660 GIT binary patch literal 103 zcmV-t0GR)H0V^p=O;xZoU@$Z=Ff%bxFwrZiC}FsE(lF(a=LrTT*1LX3PoI(w%=M@@ zF#rOEWQJMH?6bT2UPN)fi`YN=@vZJ8N53l&xs+6fZD#VvRu)#=_|s=Z5m>$`jW{Fc$=TS{`5WI9+ZM01*fsdfR&>4gdfE literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/fa/49b077972391ad58037050f2a75f74e3671e92 b/tests/resources/submodules/testrepo/.gitted/objects/fa/49b077972391ad58037050f2a75f74e3671e92 new file mode 100644 index 0000000000000000000000000000000000000000..112998d425717bb922ce74e8f6f0f831d8dc4510 GIT binary patch literal 24 gcmb424wr$(CZQHih*iITdX__>)Z8k=;W82>U!F7JG_xTQH&CIulvN;F{ z2p9kcfC|6|kN~IwbO3e$H$W7i2v7$Y0IUG^0C#{7AP^7*NCKn*vH>N4YCr>^6EF;z z0jvPF06TyKz$M@j@B;V(0RaUCKmgzX@BkD5CV&V)1_0VXSpggXVSqS50w4`g0%!w( zMo<#~&4kP65G0Ii_E0j+=@zzARpumk`)K~DkKfCm832?}(A zfdgOx$N*db&<92fU;qGpU|ay84-Du718xVV4A2DV0t^8b00#ij1?CR`y1?QA$$(5i zA)pEX+z{*!pcw$%5v&g|3;_DT76I#ke}H|!5di1}13JOpK|sKPTY^IafJSgE00Dp; zzzkpm0Na9#0HgpwBe*I6=mR$fm;-=5a94mYAO--mfdkuu7XeBEb$|vy3!nqg4FGNj zJ_lF;06T;40)Q^?6TlS!*c$v90Q5nC10VtL0AObbpb-Ka0NfIS0zd-*-XH`gfFB?L zkO0U7fUP040l+OGOaYbvM*#2^AtC^AfD}L$AQu2MLjcVXm4GHdI{@f~0B#8}4Oj*2 z01g1a-VoP-C%^{?2qY)~*cuW8fD0f20B;eJ9su+~0$q?m7o;oz=z`P(05^mLx*%-< zz#SohogsYyKp$iXARGX^LC6FEus0;o30VXH_J*tl0DD6MdqegErU1Y_A=d$ifO7zF zN61eQ5GV)$urU-O026=*0PY7x3t#}S0=NM}0C51YH5AYZ1$07b0t`S1(-L}ZTPca< zz~{KdILDahixxq|)6Nr*ABjhTDbK$SRnu1G`Jq8nZ?bf2#p$j)r^=K5LT#263;Tiu zL926zhiLv{B8}VG<(9-#$m9fxD)%h1G-Ogg=~TY{7$V(jpBe%wanoT#=B`Rx8b74_ ziJRr(;En(?(lhLsl(PNnNhFdZ&}1M1k2neBf&U})LutSGl~F4sw&o)w#>);AnKJgE z&uvf;^dy-v*l_$nov#6uHpaM|@f~XJ;PydlIWQ4Rk}DFF)rmsl8nm<|E#EN)pCITU zcis@xD-NW!eU8|O!V<pOHol~k3lju){h!cI&iDN~cU_9kE$)h+bF6<~;;KGVurX`-wV75aq zjB;u1y5BlF^a0K|;+tL5V1BAa7Ne!>=&AR_Z1tjDxFi=QV2L;X+&1u*78cn zm?NUksZ1O1=YHa;68cNF9>OCEu0w9)4gRC#3oXH^@{L*GC&a{nljex<00Yyd`2Okv zv(J|cB*ab+Mh2AW>__#!UeKQVxVItx9mGkP2t*dLO-#oQn!RC@IH*9_1f+_>Uqz?C z2HgQaT@uKwb&BWWv>~meAlImy8rR|+_gQa-a^!RR3n2Tf(f6Dub8Z^2YM z0-&%U!4Q&28Ex(81ZnmVTvGbe#i6iQs#0y}4CO^aD|KJwmi=i)yrINFr#WdZ_^0Os z>rU&!6r;)!JE07vl*H~_um4M^6V|ug+_R#x34w~nUdJvTw=*6R@}+#gDj=m6s4k7jQP`F3gLL<-*k1xzVlrcP(Cn8FXeRFb5 zwrnt1{yR>Z{JS+D|K;!ERpb)zg#^K1ljRN+e@6H1D0A*jqGFS1csjudTPV)5&$hG1 zw%vaG0ZFj`LmvpEwe8h;zXDs+^1a`{tv;g%VG#ynJ=Wq4aX1m*XT9WjBlxM2S6>ff z*R&hMpzirGW#K1J#8|Mb*QNp!>N>pjeL(?tzoYODu7jxGP3Hs?>rM<(TG)h{Fo6jl zkbv#@h+_?t$C!q1Z?hey=E1U|8cj&vwO#?UJP)E(N$&qNiX2gKOz$Z>m%&HQF zt{vXjxjkne`vJNj_HqlWCx|IwSY7M8llbehd8{q2WUd0%`bk408EmojMAiUh2EGyb zzU~_~+{jB(XhO}E=2>{T#ueifGn@@Jq91;aeq2P@5J6V^esH{-2BsM{cEk@IOD(x` zk^CUNaP*efq!j`-q3N&fUYwD-=4OWD{ktRuvGO@=TVXs?W%anw8;mp49=AX0aJCcd zv~Pu3N9-L4)SU?q)!L^?M5#aQ?k;Ka!av9}SB31^tx)fvW=Kic_r=(@KjP1NGtc9- zqYEN0G=Fk3%s z99iM&qG0Nug4R0<35b{%!&56<(FEaU3ge2X`j5g5%4Rx9W~f!T)wbYqAIzm9KJNz) zBP_rZP32=_wFKZb&7& zd_T;FIluL@6%o*{#8zvVz_;Ox123%;Q(rL=ZxxtwSdkwqbF1M8)Ozk*JiU&t(^zpb zp~njgUW(xliT3ch9inAOf*ws`E1P^1R7l|OEt)iMckahPv0luwJi-%dJ2v6J+9~Ah zu*~$}9Us$C6CsGPiX#v}*Wh65lcTkkWfcYd#*P-5QK=C4N~OiBq~YY6Yetcv@OyG1 zEa4GUdl?e*L|&yQ)cgs|1$>5ct_<2~b#^h2@x&VA>n)vaIW)O2xOC-VvwxC6^IjoVJ8ada zdRVGHC+_^>|F0V-L0Jy5CRz||aR!4f;z8Mh?rk+&{WJ`*J$iGA%h9>S>fQQQ0}l#G;Iudm-Ie37=H%~=P^!r$y+JM{kx8Zi7rVg+ zyXS|yrS7TZzAj@VsfKxFFdB%PgncP{gVqk>zgGQ7PQhD!d5=0bIYjh?Imh;5u+uk4 z!Np%T+-1(S;Ky${f;XY+7TJtQT|<`X&}gKs5h0q%qJ|!3%A)&7uZz`bicUJFBu?>$ zYqVRi4`6o4ygme!MGk~KQGWj(zV+;kt#2oh9hnstih1#}N2>~$jw9JRqjQL6tC0Z8Lb-g2eB`z-abP_~ZsqR}BC2jm$p)G07 z*mtw{a>^-8erZn~rCPX>?yc>Lbr{isNCyFmMW}^BTlJ?s&!V5NcA1Es1DV3B&osG)P) z-cb0wJ2P%pNOjW$+DX^&s9g}b+dG6Lf?r81-~@`DY_Xn{sO#<%D*oCwcSC5kg>RfU zoqwXzP@kPxhQcgGBMsIi1 zimHy@tntg?h|~>Vd9&H@yw*1r19&aeV82#zf6aU$V8iP=9@#hq30Cm6@EOh;L%}ljt4F*3XGxmE^ z4LZujCjG1&O2=Xt5r%I5Ev$gzGFq*mMhpWu3bWr?4MuN4XDJ+^NyJIa)#P1?tj$%4 z62=w_QSi?h<7n7KHZEJ$7x2>`^qBCo(VTqxZ1h+l<=F*j4lgtjW|&InUSjRPyN@$O zusSsgcniPIC@?jyeYLk^9@dpXcDkRl^Z7*5pfGifx(BnYuOQFaYa6jXm{RK^9x#1> zHd_01?URAUvP5ReQ2Af^W?&}Ld;NKk5dBU6DRyNW#Y0xM;*XjBG?@Cx1nnyJ-G8sI zp~PS~0E5~0ar!(fdEXG2rk#dmEu$9$p@}*Eqw^@64X=|Qi}8VnQWC8R>m2hLKb=;B zX$7m*KHCQ4R5@EvLtWKsR0EaYS0)RY>rcl#l}uRqwvj)ZMNd=6ex%ujR{u`a9lgM+@OEiiTP4RH zZu2A+Ag}82c>E8mV@nMTMm{1CDN{sQ@wf#3%Cs@xf8%oXIfxZbcUDDN4*;^;9 z^&a)~k6wqNZG%6m6g}Y}96~7As8>(N_(zN4p!P=SQC3afK`__Ycy*-f&pKo-L&=%U zrhgYr1r&9$)iYB9vpdlbyEAf!w#WmvWl6ZO%_pPVdP=*3vTwJlmU26GO1b&5Ex1iM zW|b9U3NZ-Ki11Ib0*QWLTdw{{fq@*&fEBflXlx5vZ?dt%-c4U4JoH`H(g|7>B|7(h zNx1XI0i6?Zl*hiot&I6TPm>y$X-rSSq0xQBGuXB}Eq*p4Jx>tMn6F~TVW#KhC4Sfx zfzedT@)X`I+ieNLv4eSNT`G#hO64;6dd$-7iHC^5@j@?S-4lJSdySU=+KU&cqT4;k zseB@!J&QNUk=bv8KU=-gnKw(r86uq&ASUEONOJHMSc?7HZf;S+Ij4`^-U@2lE5b5L z@GKa?rn9WVd1!5MfRSs7#6}nnGEUI^-mP86g}UR)r-hnZs{8s4qt+TAm$E&HiwmCB zp|IBCa;OXbsIz%p-1u2l|(uST3mV$4B<%dK5FeAjIlDl8D^Z4<{G zmdmSzYe;Opfh}8K^*3h=Cct1IlRQorH(h$LT*-4xC; zzY!5Lp@3gAPKbFyxOKd;lks~$P-M$I^=Da9Rv)_0aYswQW=qA0+n9qClsb@04R|p% za2EtDcZns3dabNRhbP<_oaLI~@W30ac_7;=F;MX5817cN_@cjQM zBIl=JbU>oy>a(HYwjK5IemZtg%M~HCGqu>xLTU3s3vb^F_Kn@yklp=i3+Dzw84_2P6`zRl+&H;6 zn9A?v?_bU?=@prDC47oE;&v{b!fVSY@{x-8jT|cJEqs=dm0Lro>c@l25kvMRkr)W9 z4}4Sf;2cKh@9B)UNc@zP?N~9t?a3do<@pyAVAe47fA9-Z$M_e?t%#2Vzl$c&6UuhaLhu`K zbU9ryY~=7fkfe!r@H|D^=?EC_{B%1IPC0rH@iID1gFbf0{0NHP>whFh>n^9pzjf5C z${yjgUJxuI^4(a&3TWdWTlC)W^y2ZhfDvrwC@Zu0C%|#=t}JC9e-{=1#3tB(rN13( zfGZnwBwj{Iw;*~H=q7kaerUxN5Ge?^(@nME)U8|Ug(k#5xgx8``RniSTNVECA!N(( z*_ZII;rL#hdVxI?<{913C82}GyD-8XKmJj{#qXYUo}osa(0@7oefLBlrQ&vT5NfZs zRlEx4%5T-3M=?ZlWBUQk%Ltrp|Z3lfJ_CCYQf_0P8$?pv+{=_Nm?g<$WWqJ;L=ld zH#`2-7@1{67WpYg?}Me!vlPHbDlO! z$&qGaFXkc{t`Le}tAy`=Nw2LamwW&B{kB80kTQ;N**z+>Op@7NzZ){zjnzPM{6ICd zZ2#+^#hA4MhjSZ*wb_DH$PJ+i4EhVdId170||eUXC(`L{f4Z_oF>JHNbIq~>?2>Rv!JS3ZNNmx znofiSw#xZPLc+i*Gsc9QeL~jBdhffligR($w6wZc{Z+j}uwq=uRXeu%)gHz09M|`* z-&HuW8iu9GojiTNR=xO--C(cVU1ChKnFX526E(WO9}K1au&4EqRbQ^;N8@TKFfs1y z92XHCEdo0(xhu9v*VXALI8yXye9y`tLT&6jA?N*e4*guCT!Z;_Fu=G#N%<#M2wG0T(z5WamX_7{-*;;^C6(}o)cLrq zX|N@W!{I2^qqe#Tr5@t%#<+7WSi9SVLC~mwlX4mcl>VzybMnGO5V00uV6p;2{4)c8 zD03D{f`<_Mu>up8p{7FM7ifNuQ2nTA7IdH7gNt&iQ)v-xzaB^oqef~U?d!hy@Ba4= z$*r><13Z%DJ~jJjEoHcwaklJfm@IWzO7h#r0(E{Ow*_5Jk)7PPgsog##koxd9CfwV z;cw0&yeL%$V|!9Vf;@Nodg`G;AL!#x0Z1YE@6in#NMa8D5*jp2ySm%rRUbpGkb?M8 z3zi=>3N&72g9I(%A-;QeF5qZ~in7sT&NO4*A}UTMKX)wG#+Hz?K_;|CY-ncwITzOH z`SixTNO_H_*rOdTBQ_kl3 z_ErsJlxid%8gi6ZON4d- z)X{h`^cK;04M%vbhZ(Qbm6Z0_U%|vHSIiIL{7IXCYQNn(_k#B36!`&v6*^zY3<;AP ziSI{5v@#u(WqN*aW{0=EGuIQW2q(Vu%mbZc)>v||jov{+0_)@O_7h!@H9nej zte8|WQIcRQ-k385krCZ0OQTLI41DhNPXtKloCFhHsdak1zxdt*1E>G^o+E{LvF<*4 z7Ov=HqR;%2n^m#86-7bcx2)r3no;OW%@3n>vqm6NiQ|*pe0~M@dh*df@BP%;u|;Z^ zqLZyAj$N-(k?y8{6)uJ*5PW{%r5ZmP>LFKO4K-na#UbV)m*P0^K?hA?6A1Rmh-YVz z_lADnT~4{cw*2j)UBvbyoIr@7ppgZwvH$w>PWso*zYWD{yR{aE@_g+wNi496O^FS8 zM(%RRDyeLSdhM$k)MA9CNI9#uIe9gdu6-DW7F39?HU3N9?pW-^Vz)+)(q$ut)#x7w z>32LjP%cq10z9NSWnW$lTapsw{3?8U-+>FAWt~ytU(df8j$S~MI&Ud2RgUboq`sB& z;Zma+ZcTVP#xYk0d(#|}pG{tXN%j4m|^wW!X4(s_*zWf$nA>(=pa*X-r?27Ztkez>&Jl zC4LSM)5GB!PpgXm3ZZ1cla!TNTgpg3)5BZQ3)36ORgJ@+f;hVF=?JSUW+>RuAN8xf zoN!b7d7CwJcRL7j%mjuiIU{}V0%p%B#e*YayHq<1%q03GA6Q}nVojZ@jb}cq9p9Wj z%(?bXf~hK^%5+U(NUM4zl8045*0$DS;Z46G*Z`$S2h$e zpw5fl|NUSqV+}9;y>mv6n@TB5`>jN+lYQ9r#2Wp**;KmBgzR&VAS1~hlS(1(#HK?C zk|vhrGA~hqRDU`RVb;5e&SssHA+aW;0Zzi8X!LGc3noh=%~q~bM9M!%sfZ*+V;K0b ztD(&T%eH(ZCDlJvPF6qyvxg^HDY~2Wz_!wXisu#dU!@8%Ie+_#=S%V`fF{X?ylDtK3NOsBCt4NTX-l&J$Ff=4M(Cx6q1$O0cjEoTt4~Gh8 za$Oqyz@tLWUUs|2V5M3q>S@(WEC$wY&|7|AA@&@kzjk4Cvm$XS;V=8$Lgwu@)$EnY z+b^jNZK-tj&xzt@nFhfv1nf7Dv$(UNtADB08br1WbzE1OCfVOX8U#TcG_qKJNsh~} z9%ZFq`1_H4%;mhiA)48DN|dW@rnR`_C}Io)11jW))zWasYa-VivH)E!F5|zP7T?ru zcQ}obeK4+@C*pDKaGzgWx$MP7^8uUL<%e9KmUA?$stt*0TP;VFUteQcX6xMSl2#lp z7CRoa`4GOH5?29h5(nH`vM;`aYcwOpaILthhieL;j=kJba0)801BHTRzFE!iKF-d} zaXQ=w&aycDNzZkzl3QF7p`}<&3KHDs!hf_A5IknY>!j&24-?O6$5wa*)t02^UUz_&q+gOOo&*@MP_|;&A zn#(;b-|146vIQ0?xjFfKrt~B4Df}}D>&Qb8%;eFGW_Brj_AXZP3i|zLOpd};@BI84 zs}x&&zs_5QEXbtN9ZIvtWfLBpk2c}>_QzFG>XlCE%4vo+V6}LOz~i6!&J{4U#PQw1 z$yO`ZlJuCLz<$>9U23~oYxEevb}vz`cjRmvw!r!DqeyUZ%V$M=OkxG(^WPq;4jel3 z$JTdn@~j_SJ~6=@(8{h)o4rdY*sET&!Zvp_kIfx(t8e+ILmdk zO2{^`fc+`wACwic8)Y9w&Gq@IqNfLm{zplI|Fz7N%U3+3N)ko{l|~TyeCSk1z)k`7 z(Gz>#8p(*zM<>97?>#U?U|`oq@T;&=cbw=5pT>1A+4@l zP^8M8YEfN`1-S*$$3x0h0zm^taGr@qP=uqDLLDED@Hd?2;^_KVl3B$N7pG9 z%m%+b-cw$+5OVvwmYAcIWI4i#@!5K9+N^G;5TRJxddOZzhBlKXqQPN29LKG(5WA0f zpZ3kCKJBtoq|YM%Wm}xAkS=l~8Byr~b{mJUR=6MqI^7_>P>hvP>+)|;NWziA@m6-M z>Fbyc37b}GgV&3Lm@OnH_3s~rO~qv#3x~J;g`eH^kR`qW)xr9TW^Isw z6OPV~Es}M8yKBHkZZCf>+M6?u72fQo*-E^QhaY0DNQXn4kC zRTeSSHCD8_6;VPB+frMaybGVd&#<03&XjFc6)`^=u2#h~#;NV5pDCTcGLJ@J5^>rS zo}vY*E2#da5GJ`OfR>dd5pg57N6We^i#<2U;p@-v@<&zg6Y)7lI3jnAgbZ(eAV-7s zC;pTEA`$_6_3X8C7t7Tu6czCe@jRC;C6e$T`9$Zz@ziHuP=zs)C@8a@f=K0{-?V#h z!CMNQ)zmias{Vt5he)-t{}Sw~l)G(c7|iKa%^zMhVUgXsA3gTyZ8#%T?u)fHmyhy} z&Z11i2Nji~xdXi*TEqt)hYHO6v&E>8vnzr9#U1VFLsM4uiKov7dY%Y-BCjpb9 zS3NPYvT1X8=!uB(}6 zdzkLjAVC~A62W9mX;77aUun0(@WN=eby%F@AH)f=!Bwndg4>^jCk|E4rzvKH?pyG5wSczD#v! z184CraS^7{&yGubxhfj3p(Lq=b2kYb0`fBl-eo*_8N!i*IfkLkATJ4;owkIc8`%?5?AxLHQWO;C z#)0H`BvO#?Yr>9F zCAlIyS_9F>(^%y>8GWqDG9NoqErx{VJ-B#b;h zWhL(6Le_?)*4iU_EHM+~TiC2R<<0zcQ@T&29`?Oma|Lgx3#=a2R;>eqiyarGKBiX1 znv*Wt`41AYqV*%YXp^a>K@IGC?5(-7^|a{ksDH(bav;7)Lqm8MV153LVqQRn$-mUC zMl1J{M*Zt{{GMMXKGtn&8NcmujoQUu z{O^=^d8_4vv;4!zG6~1Gn2{l9;w}S@x!O^8bMLgsGHGpw9Cjo-DA+Na^tf?Xhq|Ce zGQBTM!`o^z5>TeJN~%Ok13$78WiiBFg9Z{l-=b3(Nd{RI9WS|)WHHnIX2ppa@s&?W zmZl{fN_awTWm)X6{%dsz^}xR(0+EJlJDfT`{V&_(M~87#maJIa`9GUbciFi9 zWE+$o@zM7&_K2^kU`B{uKH0eGoeSbY^1%SaaB$=YT*yR8MmY?=zK|+aK z^PoVefxk)Yi6|nmmB{4>rN~7Y>rDP-K*M+ z(KU|W^{G%DV^&dDSmX9Pw631px0`S76-ANq&)VxBFLe?V*6U4p8%DE>V{1hf;b=Ju z0+pcQ1CRZEDFG&4MKwizx>Qotv&i+x|Io5F`g}oIMkk_Y7B%#$KTnL2Iga+6p zPlpw6)zERgMLAbYO-q9piY&*g!!%U#%+v}ljQpz2`xPiUmQyAV1phN~JJJp`Ubj&ZDG&G%!m&%IN-sLbVr}6Hj z3#g;|8IPYhG4r@O-&fcu4@JqNMyVYj9%?lV9XJ2Fbq@qlzTJjR-L|j(Y}vKybuJ`t z$=!)k!6`L@4`R9qID~|+%X1gMe-^b+p-qw~Guq&z-8fI5Z}_--4Hm;Wpm(EEQS0M0ER0u^urw{rVz2V@zbE2W zu^mW770`W7S$?$YFAuiH=!&pYab0GkEZbQB&wqa6Mow}*J+2l?rDlGF)2%nOWklS! zQGy=#iUL+$r4d1XSw$??nH}AKnX$Pw>*wvY%DRuwL*dedN@ZDk`^Gz>bXH4%D$5-Q zUzPdsZQvGyRkcxM!e|IOwH4s|^%a^$DdTGg)tI%jxO)Gi&1tymJz8aY z9Ff1As^`qf#Znn!zS-pe-BVF4U1#7IrFd%?pQ$rt34R0YGsX%`6?yUXmkX7Equ7r?Rf*ju7fcdd0I;*d`}9&Y3-) z{%_pzhqV*%@@m4Eiu?JBr9XZhCoiKfpjN~MsH#c2+zoZ;>lG3tJj5<%R8`l%fR z9fNtw@#v+2_%82K%Q&g^*{I#|!i&Rvsb0)pbaPhuKOHOORH@zXoVMr+u5hE&sm>k|`9uJR;$$UWa<X|U!QAJIw$emP97b3vR7R$-5~RGH@0{zu83{Khranb<5^ zM`T!gcA^%>7S0n@GIi$H>3A@)3s?GKYK9g=jC@|k(1*0rgumPG*z#eMI%-WKAoMUME*P}tqmzzCF_fRk zuco|0(6tKEb+)vg{WD&IKwF&MDX<5YwQpLt;7_&jEUQpV&&-O6OHj^iaM|b&rYf{a zy1t9Ky~Hji$KHqJIm?=r|0ro2Y-#a;ZuQ=LTe*{s&x3k-V`6Ey>?oNV{-Bujtlwsz z%B02@b0XKlbCJO5Op;X%=pF1jP@*AVRuR)798y_6`uR&NzWS-WaMH)6P`+13l!Fc~ zU45%UWJ`VV4Cm5CBrj6OQdo&=(5X9-i|ph+mD(MKp@~K(9Kkv0r+bqN(jQtSXVN^5 zXXY~A)K8sx448}( zjX~RJC1N5dvOclvbg)?%q=%pkz!hvV1rw`&V5za_Jg4DsZ^1OZD$XW-dGNi7G#Df6 zwj)y0ZZ}2qo3LYPMjljkk~rb(j-Y=OomnLrgc^Lmf>Y-xMP#w+iG*-f|D^w}@B;za zUNAqzC~=`D4Sid`3^$iAUxdKr%w%)$^3p8~{gYX?47Z=hHDAXMcr||II7jqn z?~GlF8lL3!#KR%PJ$#6#CBYuXaJ3JP89pX#X!&Haj>TTBP{ZuDrb~ck7-3>N*2KYA zJNv3UKAW4w|7c83Gx90#MqAigmsZ_({Ko0r`ph5CHwq(pa40zjq3`rCjE9CXW3a$P zHp)2Ups#24q(EwD$qJL&yG5WuG0I-e?w&9e7?OkG#vSrm9<}c%F)AP?o3{8{iqE}2 zKW<4D>pCoIY&6(JTRY`Z)$^L|dh^sT^O5||#c1!#J3w^3wjikEYgX%v^o3<)#u()f z*pePGIKmC3@eBG2^IVXor!fbNDz5S`^QfdsB&Ual+{H1aJ>wcWn?L%qwP@j(SUENy zr0f6P@EG^ojdM}H2Ev1bASjT@RXOl+A{$Rd5X<-7WhQEM_%fWZ!ZEdgfEjPOTAhu? z!NZb^=SD`96g~|0Qk$TES2#VcX*CXyF-SC2@C8iMYn$L~zPZqcMkN2Sp?~eVJjS}F zMKV#R=+ytkC^2_K0hN2`6&fTu_Rqu>)l(H*lLG7qwtV=4(~0r&&kK`KeE2^-7y6Or z=!$Wk@+l;|t-~e>>~Gd~zlr{;url-qfz1S`hXVTa7j6a6^$zwynPRwizu3J+O>aJ)&g zNa(2FB`vvx^IiTqp~!t4G;^M2@maHh8N9n7Szs-~W7Qq;!QQ%Nxi#cZRNu^S->y3F z!crbo;tdLBzu{i)h_EZqK@g>`6o~6#7S37X%Lk=tERrj~Wf7{;70=er`2DOkt z4Euz@LY`(H-E7a+Li-Ia9NVt>y2Y|p)Me)Z+t8-NBAQM1@6_$4B>B4j#o5j4%aM$M zMOgr-m>t(l+hO*C3(m4Hkw#aRMa$CraaU}A`Q|_3>(K4+mNYgci;1+|OAlH4FVXF{ zs>A1>x%#|nmSppEE+UC)7L=2izNGq7_9Kv$mK4i8;s~{=n3;@@p!Gg=t8Vb4mh9DA zq|_j4Yx6ps4f}|3=q0xnmWDidxH3M1fmGiGBi9<2_Py`4mX`9?87UwHBJ{kJr9@T8 z1u(p}mH`(SA$^MSBcZq(sD)_d^&0xImXVvw;e`!ch0?e?HrnQwxn&9ZmMM%E4D6Q# zo%#ZtTj7HI6nIU@);L%n*OA-9+&wRrv7#v5le@`5t66X9 zh-ZcUC=U@uvZAwnZl^-nrZ7!O(&Xe8k;I4Fw<`MkUr2{a4;a4a$q$Jpl5dCAXsfcm znxFmtzN-eHdY4JMZZ~D6TvmT#{0ob&J0?N0)baOvxg5e4D6M9_O}(jZ^J$H=<^uOw z#%0*Fq^z4+(mcYJ7S_Bk`G+g6JXmOkzO8p~mZBCDcZ7Q~b-3=(o-Y^Q9BgR!hEq9t zdOSyK?I@E6YO0n>&}`%g1tq4sBYB8Tm)2QS(0ua?4Q*5k-tw%(3Cx{d#6_3sn^bceu7|_na5MGJcli%V!d;IT+J>Vshggi zj+}x|Gda`f`p>x({FL3?TVi7g5_?L^lR_q;s~4*=0kPe7gx?G&cSGdj_+tM)SOAxd z+k`#56)r5rg?4IOmsRXAqbcL9=JQ7zoreOKevlRxO&r`lw_&u*Hftza*@8yfJhnBo#B{>=sq%~H$8(B z?ph(ohbGozKc?7k5S2c(;NJ^Q^sJBrBX41Ul-R2V6;)R9RD2kmawf)&&}sj5f<6gx=z@x zD}&r%WBDNL>l?d@uzaI(W>}^DBbFUcxWpO#x55g)EOxcXS&2bx9X;;-{=Zk4Tb5{= zX=hR&XFKdo$SN+9*#~WE(;oyRmGHkhoU2!0LH8|r%#{)2lJ4(_f2at!I*&0){S&+y z3TOPyLf<)O>u3J^xAWGF?1NY(iTKaST+t*@ce2fYYtF}7NkfqY>xBNAR+{P7cJj5ww~~I4*)H^}kQtQ?IUh2`&*2p+`bXimOD^oMS4e90@h#SQ zOS%5OKhIvzUR*LSd2nt~_b3AtMt*P6YQYPbc?tnHgp_cD0n^y^O zJhwa9l0fXmjlF5QeA0@biDzWUFKu_u?;&DTgk%4b6xVD~a$M4_27h;HZX8pGWpTl=v-J3{5g~8l& zKd`gAvb2QU`eg~`l6EfY?4;ehOz1o=%b|b#a9c4+8$VH#!pwIc-cD72SrQO;9#6D@ zwMBWjZNGBgx{GqY_?@%)>mqkRX1cSPwGPcgiNNRmBc10mKHaa%{~QGQptHln%XytL zlob(X^zGX=d-EPT1T4%WCuLQvP2C93!|urChl-04HMES!*q1V&WuS?j9Ed^`yR|HI z9@37-^}TT1QOF7Dy0u&bV`+bzV=cL-p0ej6jy&DcHHt6WxI@sze2Al`xwEwE$n=Xv zsQeFcytdgcSWGC-9l-UoPc~@`Oj}UytQ_RSip1i`aQBs-n>UJA#hFi7LkRT88qRuF8pNG`|xh!5I4& ztgB`0b(a>StWX^8tftB@hPVMtsZ*bEtLkQHc7t z_fVFJgjf2=>EqaZ&eT}6791O+_vuz;MiS9u5#d7M(cvemXR*+z56wFUH*H*>Fzbe; z4z{P2(Z%VE51aPi)>7*HQAS+(GyY%}yqGjqA4#r~vMC$L`6n4t_MoEXM#MTeA9PS=t_xFSl5U#Q$&GFKzcpK3 z$j90jeSU9RBBxGqRK~A=V;7;{|Jdk%^?6NYCs`Z)wgokQi-$mY(#_%c=?k9Jw4}1_ z&&?JVT8Vw?Q8>PM{~t1_`;2p)Va_+Z+?Y_Qn;2RMlj2AN<|Z zyRWfCD-YfV#1?r!v>f8mVFa&T^##hsI7K5 zS4^Uo;PGtq0(~c$ww8{oKt+&C1sGiPlfcVYAN}Zk|L)zndm`~@t`;@uDcDU;FZuDK zeJHounk-o%2~pHV@%Q^pu=zQ>U~>P|;;>k`^&-;bWMK0bCG+!yj|q5L{vSC&#=kNh zx3~D9ZhZ-h6Q@ghsVzjUQnM7}HToK)P?qcRgv>B{veiL3MRtb}(^ux6zHX?U4i9yE z2-{I+JgdZcLk0de`(6pfb=ZS@DhqE7R^^?n@LDhkdsxB$lgie6SuW4Aa*=M8>>+@l zBVqDB(YrT$U7hs9&+;juGUaGbUS50lA(Uf#Y=vxYCvKWHiIGQ_(pic(^x^q?Zh&X( zmaOlZL4>q25Y>aW()pTueHZz*ys{nRIq#z3|K9cST*cFT5Ni0$m3k#@DxJ*izH66C zNvX+vB@=g1!z?**rF_P0R!#ge6DZ+)DSnQ*${+2@C~vigb5qAPY&Z>kYvl9%O_eQ9 zt691(RXl5Va$EX*hGjN$5;oJ19d&UUD)Lj*dEJkEm>~f3$G9F>YgHtK)r4?kA1uCn zq|WV7KnnNcYbF063VZ2a3&tOO!fX<)zFM znoWji3=9)^kGDi)W?1-rXk2n3up09mmv(#kf8`R$D)&m;+%xZ9cM8$u-!0!5a zG>s*P18K7Kv_8;&c&W(MtEWl~h1Y)dkg2JrLTkHzd^tCiHpak6X9I@)O-BSoBQ7w0 zf-fN>aMlgS0Z>X+5>!Z$^R5Md2WEXtQVM~@{cBb+!5P0T=aK1u2}W$F6$*Q~>z62m z8vvQJK-|oK5fdnBBOFv=xe>rrSA7s1|4SQx66P#XImyI6)l5A^%{nqBJtSR!UDJ1I zRe!k7Zm{?*yr(%%xlhc0aRazO7h)x%eL(+}#X;<^bh}x9bMi;c8|dEj&~Rhjw=26Y zYTiYEiXC}VO_1$|i>72WI|YJR-NsFSv0lwCW#f6a^RFKzz5pb^z9+4K6FsepskYd@ z#{~*^)&s>p&4m(x7jMaM;+95tmVBY2qiB<4Q8kl*C5g~+1=35%jF60;V(qj2XPA|M zFd{K{@VpDCIz>JUeHDe?O5B}*I%`cqj7u$aW4|M)Y6;6DS?rjAf}UyTZ_4xT&tPYi z`&;VsRv#CEJ0xRoap3Fus`;FFjY|wP ztogNptD?00kak4Emo@9m@A^#O9nw01)2n4HYV$}xa_y6_iS4YjF3kT z$MaD}Pm&V(+y+sCGD^Xv?0E*5ckNw(e1~=_7VVvavD-T}<4lK!A#%SzM+L;JsLYsx zyr^S8&$|AUnSZRGxK+KA<7>==6CdQmd%PxaXJqbUb0ZayYwL-FI_VPV)xBd0qU);y zdz|P}Q&@U~g3UEC0l=0$UqBnX>b3UZB##G!i_WyTerja|FO^)7{m2QkOQX7jna1d( z{OIchNJ5&`SL)||EqJSg-Z4fz0@GnQ@z-p^EEr)qAk902_vgC`h+|9s;>6E1G@?O_ zUnqcs{DS;|?n2ylKvzYqbf^z|dY{mQ54g9>69$|tUuhfbFvtU&I7KFeXI#9t!67^z zW-9v0706+kpRIg^p*_j5mcp>xYY%2lO0vJ5Z0W3or6Yfg=Rfq#__jpd`kxEV+eP1m zxz5Kd$&KnWQ!-vc?|8HK=f|Fe_pM>`IXTUH@J)@dOv$c%?AYyv4D?QeM;S_2{U5eB z@S!glIITE^DZ3iQWPFzKuTGOcG~OE!LL}cT6c8NwlmDg03z|~ZRs6)&X zW0Nh6)zRpHB)K(z4OMc60aZ=f3r41&+IAS65^wJcuN$I<3&`KpGZ@ST6X}gcmfv%D zwg-HMO7_qi|A41&79o@9Lbtz35ox%LT${~>LU=4IOK-j!=O-hRV72Sj&=2!M%g(ZiX$lm!rw zIyO1(VZUgHBBy@CgsKb3dykK79D25{|E`0FD%g!?KDO$`He1$D4KC7x3m_MVraqae z1E2}uM_{~9+!qq_;GAA@8VU%w#dzhM1os_MBvO+ z$!&8+nw4u%d%ui`yN}{^_DooQoiCOQ|DajYw{N$I!^a~JJxPFbBj1k!RBMWV-0A#? z%>FXCs6|?RZg7@nNlY`xIB-yi+e-jiPdJ0|C)ocFqn@WUO|e#+=C{mcoeN91EgMj zi(_$#Qd~wLp$1*lf7jEN48>rgiPNr$QjYRhtXtDBNq`h>^cZq;E26B4Q?}0hhNC%> zO5!$X}qTf_F^^sWtkE%H1dP!u4-lls;8K zZL2=w)cZh*(-j6l!0lT&Yse8g$eEiUHy+N3>`Vd_XBLiC2hWkW61ImvzKY(82ycff zJF?G?Lw^o8PN9xmx~Q3oAc#RoO|HK!$%tm=(&S6oMtt{*Hd8eZc;o2lA1)MheQnB1 zLtToBYvoc;AQm7*$mEJs3caiE@4$nKePUlza&O0QJ;085Z#ap=p7=vLVH$f~%X2{nW8k(ZjHq`2dZ2+v|m=T!5$Rd;qc_RmxR zeZ>}x6krf4u$S)vLXqh?X*|P?s(zS^SL5wdztPKIU66Vg8io`L<9-H=cr&wM?`lkF z*C=JX^Ah|$fNbH6diCLLhruoGVfm`2&(Ln!Itc2FhY!xXk78Pm7b;1lK~t}fH^{e) zv**;p#jZA|>^Xv&0DAKRy0)W?!jnOp^R?>r9EyJ?Kr&@dLq-OCc4Go*qw?pPnLKu6=VG;v z#+IaWPZmd=2^+@+bkaT9{&Yi*(?P{v)YkOP$iGhvp^6B}KWSo)+$aU{@f&00OZXo} zSNODZVJm5l`34G=K^Uf({1D;_&BQQPY7h^P3`2-A~~td!p{ zH9%Z0V6%CVQ_g%siuSpXObWp(BUFv$B(1J-B0;nx*JY!SyQ-RioH}-mhdP|c)hkas z^U=AG)Y9<$HY@78zjn0$+6X8joEeRf`Tu8CGYe>6@Akvk7lQ6JlB)!ff-F$$fg3RdA1}C0J*(AT5FKoG56K@V4Wln&TJ%DR-3gBQs$o-%;5jc{7g&vb(f zv!4Hxmh33hktrn)_mpGLSdJQn5|~eup>Gsp2L7hsKwYus;AQ10lO0a z``_O&mIEfl1zj(bzft^{X&dHbaVJ@H&jJZ_hC!K=*=mXo3Cz(_YUJl>wbUFVowNIt z2|e3EWS9>5jd-!%F^;h9blEeMN)j`|hdf>(`9VeuIY9WOW4-p2X`+UrBmrf~I~hPI z3Wk6!s$Yeab$DF=uNt-?YMNgj8%?h6afVlvfpMsm|B5AJQZis{TKap#B2GAznQi@* z5uq#kk&xMaGt$3hneqLUw$PoS78=g#r8o6h0@sw!0v0Ef!^a(^EThzR98QoyvxM2a zb*-C}>xN!yUIZU(rmYsO5H8L+$~1zM_xoA*PTL66byh7H6l7h#fBf>56hvNAPx~{q z42M#u$tHe1v!uI~(jQf1%M&w&AneEdP_c&jU1;J<$FS+m(Ue0a@?w_7&a-ad4lOKRn1||HaZc-de-- zCEsrGUnKZ#-9w zKwpwk3RK=%?;>NUvKOhAi7_0NCRN>@FF$=%78_W~i0=Df=ZR*WvfOu>e%=*4xHN*DhYQzz6{ z%RNvsP7)JsU_LDuU}YO;Nd|o5*?`QeoN-^5d>4~2TQG8U;-MoovLixil=GRZ#zClE|$-73mx>FUHEX6GjdR8~JB7_(B6-oSKlA~GGoihat z1y?hfdFE>_hp>g}Bijo|IkhecW1Ur+F58KGlc&+Y!iuV^8NCS^|K zLO#JwH=QV(HFxcx=DQQoiZDlGxfW$tTHn)~QuGoF^++icoU`wBZMskx`++Z;)y42A z#Rd6yd}Hc`#W|bHoWHo6+jW$2c=s*y0~FS4$-K!8_Cwd3-&^pzjrs`T9;pJ85dg$s zT^$LV|K8MVA~hd866;(73g89he7umHJz4ZDkWo5m%W~6b23G9W{KE;HvDBJ+l=;hb ze?dy*VTSR$Hn=&RJUQRkArGomiwws5LVIWpvqR^dv*+?WH~4l#SAvcGZl0v2gJt!d z-l71FGlz=a(rXN4u7dAv?@6?s;HLq;ypu5-KFKa4rz1ic`hAq=>?jXK#NO^~I8 z35`R zT2d&AMnoRjtpnW63l_khM*yY+JwiuJfDEi{zzJLHu}pTJknIf>8{_^6oVvatX@KJJ z3bI0;x0hr{zi3VSL76`G$6%P3kNGp6>-c#TiG=`(bBdLBJuf^RR@k1O&w(BQ`bL(B zlsb`8!EH|I54owI*g-C3D4EbTb{P!1{tDrgHFzhWR~}oE8u`qM>hVU1?jrt?MmHaz zrtYX1fZWN1A82-CQQsmv>0cb6wi{I}2>VlmWrqtt^qrGxM#37Pz)>oTu$q6!d_hu+ zrZ9uFKvw;r&(SG;9_?e$X$%&9XXOmwYiE(5*{qhsS>hPeTW_!NZe#yqaq+yNrN4h( zj0T#;pQ~ch_o=Sm8H5v|r!-aTJt~!PAdF2)_fJm2vC(0nz;cZev2fw$L-HB=wL1gN zP8$iK$!L(_vHCGgOG-CJ$Z9d?fw8JM1Ia2U-Qq1m7=G`!C(dt3idLPaCnQ(PSyR7e!iMGcN3i=Xdy` zR!Lu8vMR#m-XZgQBCb41do_Tff4RwT>q9@XiYF7OW2ZH3Mef(4;V`rHsF#bpvW)d~ zJ$7=%>JX-*nIMA+1ZGz3z#n!~#nrfwU%_sq8?FnAt4WdB)W4kFx~x2JIPadME%2k? zJ|!f@GWqvf>I%l3IfTQcKlV9AJ(^xOOx9JuwPMoPd!F5-TYx)@#s|UJ{wmP*Sv8e( zBNa%buPxV*raxm6=8adg|AB99&QUewvKITVbvmxd^jj{eqi5Hsuqgo0I;C9a)1m353iq zfwa*rFl~yZt2WWqrMEo|^+H}-5At5xG6iF%A~|RZi@o?UW)^~#XH6kqo*r98uIFZ-Isk*fy zi@wT#e)`t`7E;u!1JwKYyG%%@mJ&l+rLmcB_^WW|iO7adRjmN0!Ggt<6wb~N$QhWM z&OZ`I^yE1y4 zWLlr`;&z}R$y6(;m`YAyDH&L&&j3Yrk4M`*AwWQ>*9wPYObIgBz&Uov1ZT`$=Ta-F z>EAnPUXh7Q=4>!FZw@QWbN`mA3=c;gQ|i-Z=m2-A{DNej+qAr^KO;_GGeTiT(yL0wtR_{|a8ZBl{9R3m8|3N+-aLeWu7*0BJ6c}RuZ%no@N=^G!bR)qp= z!nX_<;>0$IrFlf^&spuOoSUBIQ~eS7_SI8P2{U|lnFQFYo*044J7F$&UmK!-BHGyz z{S3vcxT9|{(hhHI9>VowoB>We!G$%e^=KReK7;uonElR;FvppuG=K7?fz1mDIy6iqeefGQCm$Jbu0d`v|Pnvm9MS5X#-+}+Iq5`q1! zeI*-7JpwJ`L1KsvFgYr(h|N5#f;Zufp`Y`0@KLFAy2%}FyDwI(ioc?Y;oPzROUx;H za%rt(==6rH^J1wX0U$453CXn`vr@h%wZDF?FVgFpu%nVvOU2Zw2#D2Cyu1yqeDFNZ zVXLHLxu%EXh$aJ-$mb`mpMCbc@wVohNc~kBS>O}^x{@+}*f~Dmw>)5F>w@U6u{lw(`F=#?Cqe;eJ_!uhWI#r) z=(28OBEIER1Ev-<*Wep>uB5@P@0lr$ar{ zy84W-{eSK-xlov{@HDCAFKwl4;_kbx*QXVYC#}w)LWq6w=zDmG4DFf z&pB~7ltPXeoSj54%Qq_ znm>T#Eo>pP8#47GF<}o*j4YVpx>z)`BUN3qD)n&I2#;RHiwMy7tvYljR%i6HaNJcP z!rq`dJuMv)39@M&=mR6Oab3ZztyEc$>S@s!$&&x~>Q3gfallr)X=E_)-_G#W;=f{) zPxB+QcFPhE0TU@pfam>G4PC*Pd3R*9inzp~$>T=JQV;nzd*jMQwl5>Im_zgAERF^$ zDYB+cJUr&1ZnrP9qWKO~yt68Z(KR{cXDO4#19mvGz7NM%Em7Y=TokMJao)3ikBRTI z;1u0R5STNT$*T$N$G#p8(f?7i=%A~=c~KO~hwol-O${$LxK9MM7EhC?Fr$OEovy=M zX#()i=d2;LFF$i1X9)#gd#_v0KRJjUOk%9GGeHcE3_pWKVji1+76WBza>dNFI00_W zr(}dC18!!-?HBx$=N$U9L<|e;xbO+Owp%+qkQzXoNv+bfNBdd`GkTzbG`Ljw)>CQl zJU7C$d#E^k9dZfOmumULl8UDtl6jonGv?g%a?g|oq}o#)lHfb!aj_-E+@ADvy;^@3+R!0`xD(B7zia}CbnAX{C0oTt*^6r{eZ@&s83_&@mNx zfD>Rt-@KsYl@y_zmp56q(YMu~LPExrd+=90J7 ze%X_@{HK>SaAqlPEZMx9+q}|9nrEc91&n6E0L5RD{7?OIbfIfOv6lF^ETU&X#}jcS zi_v%(ianSfIdC4gPVd^OZc2C^WSs;xB>r|Fs(yyIuO+w1vh+6nYFxU%otI5v5%$ry zu+Z%-k;pq)kxjRJJ-jsIZY&D7$dSe=(wOqtBM{im((W!u2tpIM9oP_&aW7XEU{NXET zc(rQ{d*se>BeeeSM8dJ22hM&ztQs0kF^;C zL;uLRM)9Wg{fiV(59x-{jU51t&<_~7iwW8tY)-;i5wiV-l7gfkLM7q3-XQ?9nI3M_ zB`r%N4!BE);HnC`3;Qt5F|^ja>;9ki6nRchSb@2^Z-)&m%)4Yc#5sAX{rYmiTN-n^ zv>su@IPDir>HC$7?Kr%`0>o?9!_dUjE5y3oN z8DpNjK~vYE1CHrtNcn$tuk>6ZP!tlpSWB}ubiO+|CC9tLDe?6>@)&8nTDn8`g~3G0 zwZ=ei`_5{A>{A51dbz6jEY)|9>6j6FMq6L*wTwZ$hfWc1wC9Bg6GXzUIj+;a2O@~P zmD1dUooSQg?Fti?V`2aKJSPvlpgc}MvGSG!{}UZ>EJj%ykNIG{$X=fI2TALSOxfEU zpL;u(PxJ@85Z{cnuD8gR20 z11m-03!NlUSp~>zss|dqW%O{DrvE42J{^#b!PPv*u>MHB=KXr4?dJELLHb+aHD}Qy zh{v40@-sqF*ydW9o0j~URC}qOF9HR=0mONh);RZUkx8ivC6k|GOKiEmhi=-7>b*xZ zVB*`+qOM+m_C;R4s#?8OU<)T~>!UU@h5FswkYqEy(;}NyUd*U~pDUr$=U z1-!bvG2C`1yv;LHTwBa*;z^FbFXF7q7tu3T&VVba+=D~+5Z|}IRrCke*+Gs`^e(5P zrmEi;ID<*Qk|1x3V>^hZZOTfK7k6U|2K%hPuZ%+Lh(fF41{a_1hD`gYemtqa;8u0i z==QapP?IX%hmi50YY^_g_+fz(GY4ZbeEMwW=@i?9^&Q{8_;cxnKG~n`Qo>()(w}&; zea^zb96zpdQ3;KD@w8dI(0Fcv)M0JFA`i-E^oxpJL1WcB6ow*8IuuhSy2knv|6=;kl;es-r=l9a5z-Jas;7?dhV(`B#kNC`kMngua{N8 zb2EBP*C%N)w6p!ZKL9}KL>H65mn>uv;1Ec~445_?P^%ef?~BdA(HBJ(EDAf=y$+P9 znQF;WU`n*X1Weu$v#PC9Otb1q*HS0#eqTtz1uNok^Lea}Bv?4eHZO@%jE*$H3ON}7 zDM&(Nbpn%uRx-=lsdak67o|9CcJLcaL{DIkOx>=X9U?QqN}+tXd}O1{4Uz%h9wTxL?Wmq)kvUtuM{Nwks~)&^6K}gv2LEbptbBQJqY| z@+?&Qdg*mT`2K8c@A+3W^!dZW46V77(XHa!hTibA;RkkIDzomw6}~|rIA6u{Sm>Z& zoRs#NfrRJ6E7J8*N14v`WqoJf$W_L(Dt@=ZI6=rWt2NjwGF3eWS?Cpoo@@caRR#&; zeg}AgO)`u}>x8H6=93@7dqi&CZLS1XC^{GS-ZwK_EzxtmPm8l(2*9sbN)$8zGs z|EGb~C(w=EJoYB7Lb7-QPn9_d4Re8!53z^|UklT2l zJZTI-Yi+>9aNyvhlGS=>9re>U{bc*SnJDtad#Xy?sk~|Pmq zlMDfJnhktl+y&X+#q~SI6IH>NFS_%~wa308lbtU_Md`i8MbgoC205Di^hhCNHJbyp zh5CHOX=Eq1)jB_Ux~(D{pK^q1D%f~ln+bm%X5+E1-7$w`1_N_ zAo5**xh0sm82}uDWzf?kCsjtqD}eH9n?h5nxl_Z~V9}1?LcLtZJhrG75@kv0T!n?E zSwff}^wu=Sb7eyRk?_#Qwy5mzj?C8&AS}Da+x`OoV_777NwB}YRomuSsSWSO>$Isr zPHeaB3Gml-z?1Vjg88_|ErGS(fI_P8?FPykyc#5n{R&IRL3#q!V@BSzH8r2xquv?7 zzAs|OaPG34oR!jho$}KQZ%5WHc+h*to!-*`@_DA%W(yPa{G-N%Q#47(%zVbW9ZFcF+OIXAIEWHsvsRDD zXXO7#%K#TTwEz*P%~?9R(~w@s)GM3Ow&Y(({;jpJE)^_ZUms$~-vXCaJ1&eTJnd(* zy*(BK$<)Wl_0Om_v;(WJ=Ot|EWae8Wv-}ImC=Z_-1cIYC!zB-u6fpx2pUE4^MS`6} zLwKOQBUV7p2oz4kT8y*FPPD3aWzbB75~nXUR6rdriQqiRVAiAge!Vsg!^!FZ{j<$o z#bPAMZJ1s8m418#B9Pc<)KBi%r2GiUh49ZvxKeqKOjlCcGAcCo(}uvwl)FbXC@Gws zR*ac|U-7h=Nv`tA$FSi?#72V2)S&>};*h~dV*iE8IXUKnqZx`l81yTDzl4G_65L_R zNFT)UEbLad8`TQuEs9{!_U%KKJ6$xxRgDA6m_S&K z7Z|yg)ZmzVEUw^_9+L9Pr%BP0VWZN7gFCHlgG9eGx^8;Pr`h1h_-7pWxXHn8v5hgx zNCMc(#n~sd8}oS2S(*aVg*eZ8w*f}V>&81Yh-8=gD{k3=N-}*sk>y3pIMQr znEuMp#5a_d^C~}li%I^F00j`$VSnQk3TB={DC7}bQN7I4FrNB~5NK?(sa{<_* zIu>}H=F*s^vC^%4XkmoRxWr24+8c59TqZI~qnx8s1}7WLyHI??y9|~bHPDQD9T)(b z!@p$A*Ua5&VfjI1Ep@|(4T8<;o^PhjEIh_boB%#hN!X+B7F_>nja-G!QcP<)m_$|dbe4?) z?}im_lG_!|Q^J2{W^=-?jX-2a2acdS*1eCMZ}t6vNs%jlpGhav6HRbHMDB_;W}4{yOM0=- z>2ERLt$V9UmwKV!a{~AJ{IDg@^-U9rMej}Hgz3_Cl9ABCKB)@OA9ZuAG{W@)y&Un3 z-g8I{bP-X|KUQ^<^G2b{mZg7zk>2o_(I(^2N3?pa_=N!@k2dweebA*1#vq5#pw=*k z`s1)@D)%NG@*jN*XK6nHl!QNh)@Oiza@-e z%GQF==arpHmH+HvnBQ+&dg58KI$u!G@WUqpop%iz5bwvP$uNNJeP~3`{qo%ZFI0(A z?!`9D#?oe0071ObGU;_$N*^Mn^Q3_FXkr^<(c)cxo;*oFL4Q`!VjnIww%ZLS&gjOmusk7|*W1z2d-2ZVx1S6*9RH<) zM*8f3rvj4Es%es&<74o7k00_T2aK5#L0@0dt?|BOnI8GcO@nQKb@DQ|J7f>h>M+BZ zVx8oQ!~ST7njse&(J|}NDUhOO^9jc6pc5sWHO^Lg4gLtyKWJn4o+HRB@k^23lN_{0 zDN6RzT${4LOa(7N>eVue29Ibc*IS~}U0plQAmji*djSD5SCv807O29~?}Pl@44kcF zK6_xvkM`;Zry)w)W&0^d#3H>>s~wvjKmP#KfA`zuE+UcA%O znL#;kfg(>iPaRpqA7tXtLQkvHvOWm@ay9BWdqqVwBtW0FO1JdW&ngZuw9~5*G!FYc zn)hB|x894?1U~86a53pmAW;yRZ6kr*CdEM185o4m{J)>E10k7b&z!l`Sw}~pE^@w;nX{!p7-wz=nZ6>_VtV4`(oqX! z9Dr{EGc_PPkZOV-5 z-t9=StyYHBaI%OVLNw)VR%muD5iM6^UvvKOIvsV~qgS?`ji) z>`c3xc$b|nr^ZE^NbjW8_GraN|A6kCUcyEbqUBP{Qyf{=Rd?Z7490{4-&iO8nzR*8 z+z;l~X-%>mFA9DU9-*+=Xl$+f(#N>hMtMnqhS2;XlicfB6JIbLYn3D7$zP429;`t_B>dVq+5~S1`_eGax>rakQ7$_zhpU8-Ejv zy}*96p+wf#`~DSQz1u;PWCvj{yy?S2cD8ZYF#$ogpQC11rXZk2tgTK=;F1j3U_RLa z)UQnqD@i>OWXDdfH1S8+x#&98he;jf;LctUU1u`de*FU30y7kCKoDO9Cv*Jfk$kRp?$8<|9_I8>dwXK60?xsq1C!jkob23ZNI|>LLUtZhGX|yG%QzZ1>(# zb`w&^uu3gSV>`{+?xsM7D?{(0d6Gzi?!{F6yyk@2@dml}{#86=oc4n4X1670+{0(u zUvTaO2wjD~5=S|@&i-lWDZt^{cafkYT^BBUN66vYfr4@tS43eapav)&4;!>0o9R;8vj0n?>-fu9^|dK=rHn9(F4BYA?t1w` z#rM)$0ORaUCF@vxVXTzf0Y_eyC$dr8LYo7rZqM5(D5@RXF~DXV(7R8?5K5r(dl`oR zzmgQ&G2!1~*jQ{Ck^^kySXycNf(LBds2jzR!!lJ1;)MA@Lr{hrYX)lDujJsx-u7O+ zzY}M>$DA~jjx z_ns%y(#^n^klxr2;_8p})(|w{4o0iw#X{kHi^x54&s*pLje8E@8xVU>clh~+MXjs? z2Bie@(w%(ZGT3AF62yB)o7sf;w#Wt_X1CPfM7pGCp~p|3oug<4L|{lQPdbY_cZ>$1Kv55m^rdOuck;M`4` z-ZY@1cILtYP;cMjGk-b5q^ksLdRH&biQgwhAJV(xHTa)YjdLtc1-hk6i#@xqRX5<` zKpj$4PQL{wFs43=&*aSekD$=vPW#;rBxVZ`r#1o(%ejP8yxE-MTf#lQ)duj8$G3S! zXcrxsCxy`Ba%_P1pW?JF)NVF$lfoF{wc>?)bti#Ultq-nzV0>$n`<57>|s!L zW}=?)E@1A|Llkd>G3~A5{Uj)2Tq$Zj%%=w0w}&%mt|%De1)o{UHkBPX7iUp1s@N=I zY;Bk06ZX(HfhlRAYR*TcY*U}T_~t4c*{;IwWy`rnV}BH=scUE4STn{F&7kBYg%jqA)Jz+7szDi6h*{5pw)BY_7ec)RL<@- zb|kdt8SE*~ou&dN5VUJXJAl)Z(kFQ5K-+IKLQ|9nBHYbF?nTLNE}+DQ21Ryb=m{ytlgOv2;YK ztJ2B7HVZ_k_~ANAFW)EVwmA23>W+@t1e;bAkIO2CVqbdbzV1u}|95q_7z%cEtiF}i zuVnG)%tW8*$)B8~P>ACsdbz*|fPwz#(8V$=|8-l(J&D_uGem;Oj%%O@E^4$pMc`iHa-fstpA( zQ_Fpfit;S!_2_qj=!&DSr)QUg!USMMdHLz;D9{(odMlbTo$PDb5;pZhO>(yCD%&L> z6%P7njXX&3I%eK861`07S)vfzt7FlNyJ2s_aEI27#g}*Lc@Hyt4nQAXO3J^Q`NF() zZC^X;pQ5#2S$Q$-vvtBWv?wz&9&W$tralywa4PA;WHy$b-Q4%-fptadvup+M$`u{O zb0QETJqo;@nzJG5+??jiY_}qEJ|c~tMDPLBBWq0S5-9X*JSyLiq@?r-J;5Y2#~aV< z77mo2_or+)O}qLHVby@49SK|OEv3i9%hGV6`9%PF(3tAmN@&gNaR9Ri^21(wEgJ4pRycfa=W?La1JgX1ul4Rqo6hogNHreETG4}aS2Qi21lp=*f z2o!gQLY6LjOvzR@yy%bXn#i|eFFX`R1#>^NG8=rYj6wP9sT6W3LolF76e&=_-jJ`m zzAOssu6bS`*ia)Vv3A4uIzu4I9q0h-*-i2V3kg?KM$Uq%KzZAx1n^hu;h&a{;|`%-EI@>)CqpBgua^W%J%r<8a#)%l0y|Y za79=J?Mxl)&=%X-68INu`Pi-KxR&7J0NtzY5cd*FbKAffgFq z%Owy$yvs3W5rO6H!W{-%G+%1@t4u!!ti$m)Lu)7P#5nHXXjH`>8Vz|=ri742^`!Rg z^?OU0{&+>e^LuS39~J7RqIFj83+C}I9#e2XBOvB;iMUonFjOM$7iHxst7}B9yvCsa zZkoY0oNU(aF1GsoBc15jfEJ-wlN6APWIKoMKOVn~pwPQ;K&XiP@4-lO%oK#~UrTN* z7Rk>g5dD6p3j2c!K8dpKu3Ov5qX%F4?rI3HfJsPgOs+Uk3*YtNY3MQrJHhUZ8m$Y#lxM0=xP>ZVQr%CszP_i3BD%Q)OC_|Y1NY3IkepG zs#dO-1^L^;Pw=vRul5W$F8iAA){ypkSiMc<91|yxKYGD2Fn(Xv$ z_KW*Xq<&d2f`DGUWKCM}0nWoMf@MKj(qz$h?V8};LbliOQ#Shi&-L@5TTe|DCnZlM zqh#;#TXh4SeNDLOiMU_Dh34@=E~6OnVa^iE=p^3!4n$ke+q-W)P*BG4Y)GA!sh~#9 z+dbexnCWX}_cJi@v1y0wfrm`F%spx@eN#M@52lau2D5$XCGEK5ZO$b9+Y(+$JuJ!c zX|G52cou;@q_m)EHNL?yt#MWIl1VfS5wL0GYjFG&TpfSDAv=`vsfvitGjhGPeR9VW zYv$A|Tj8|wxjjK7(xh(32MqS43OHlp!BtlB-SO_sqna>!xKvCacBPa->h<9A;^*Oa zQMM_}JQJ{|(8{n`%^mde?t`E}*TKSTg>scx=dZyb(^gUQAJJ;t$D$To0FlBjiRB0p z`Ca+*NSSx`_SJ)%>G5$GyK+Ce$4ZIwPtXFmCh1OK?PoN9`|a5`llu(wXnn|7>PKES zk%LS0>;R(vj5{au)_^XQBqh8O3u$rVy@f>up0H!|5j&4;d2Zj?T`d=l(s4lO)$2g? z6+FgjSdF1e`(6y?oy}v8Y^^Qyl;n3M;mdaEi(2cO+kcIMaZ`Wv`SVmHS15=;F? zL{C>NU#|1iTL?xq!3Lo9C>9Rq+_ilyRx}&$%mAu@IXhkTEYNFx20?X9Z*e3zE1$EM za7{Ji=eM+kq7yq=m zBf3T%v~Y9Z6BKy$sfyVV$^YYZ&O`nq!K38wN9mdMz5=wHTRP`E&b`S>go!!>Br5aaB(>4d9% zl^dlia={Gtx~kz9&{(>lhEfK&G|i4O`c7{54b2H8@zsu-XzWM&=shWEXl2*;Y$cMl zd#ZOrJF|k)=xCUkEr>q%jQkjU{;he->icdCF!+M0*TGNs#Lr4VC0siUsMwehA>%1W zijv*;%;&<>0$|#H48Tql>|u+8EaNBmJ87mbUScaCoxE?(7 zkHmi^HqVYFGaP#OTz39Qg2$x3{pyk=`iucrPv6e?W4ol?31sLg2&--0!)yE|_`FE? zkeSAD?Tz&g1Pgj%n43itX3&KA?FguiZonBuA#VF;G=gGd~~_2&aMh5j?3S&M}^V) z{@k~ZoApjq@TeKB6k)=yJ49pqAf=?X7+sNw*er)lv)OW<^B+6=d7b`u$DzsMfNTIE z)>*Y!jgbZWzu%t|=`Et%F|}ZUFfR%Hwk}EhI=LIP-zIwL-XD8PwU$6+h0p%{JUSqQ z>Gt@ZYt=rKAm%IiJwK492LRE_rpsZhE9>aWmd-hqC1yJndjm8 zIAM^PC=30eJKU-LzQKv_wpYk9Sz@%5hgpY+8Z~SF9HzY@wb(U0=EC!@-p>b#C^AEesEFb#$}S_RkSHl5L>ZC2XGW=HBtm41WX}*u zM51IQG?h`Z_wW4vxUYKU-p}Wp=RD_mp7*CH`r0d%G|TA+o`azcYx2(JXSYn5z2%ZM z-Sg4F@kmW+^xBD%_pc9|yzDi~6O5Nrcsta6_wkxT%5G_@$}#q9`GIjAoVROAL}%8L z;x5!HH-}C%Joz(bY{0eeer_Rv(wWu;5xOFqC zVYcWek2iPA`l+60?IQ=8-Z;Gxt{A7T#J;X==2}SV{V2`aJXATEsaJ#fCdMny$)XAf9{$ZT3AqfFTI0p z3;lfDj;5tMjr%hGYdxa7%qTH$(EiT2jpa&qyY7)!dp_+?<5$BUogbnsK4G4CCDlAe zBcQ;w>Ri*K{VCn!cm2FW^;u@Qw=Kg!TlNvZg~?;o6wck7>@N$|lBcTqLZZ*PReR@o z`qJHS(%0G@NLM(&VO`IlHP6a(xw!wUIP!@kCwbU)sXAPkDLt zWxP_@uAG_s@q{{PunEOR{QMbgn9YbKee5A>AF4~`pb zN|pZi;YMhyVh*ncYq_;ge%NuT(vs5DhB~3}mjhmmVp;S$qHJk_wrtNVW)*CjbG~_x z`F@dFkz6|bE441aoN6O=>D9rGrmSn-=krF`q!T3>yOzYHMz!9E7Uil2IH`;?p)z?&eBwhit?e!OTH@=#S3cQ?LI<^;2RUi?#Xf)Uqi;Zq6SNhZ zcdY$7|0&nH>(E+$(Ef~XMm^gL!djixMgqcyQ%)Z=VHCvC+I{mhGc&h2;Eg{B>y44Rl|3;<_UmxG2CBN-;dC_vR znEKMj%{GS)?%J+=!{yeXwc34w8u^5yrH&@_eNxF!WAw}Z{nE^>DV$$irTb(??OJfC z-cN6>(-8hd%|U7SMc3GaGwi*uulqPX(+mzYr`~%Kkr{nCbE!q^snClvaA|z#woYzX zahx6pTxSawm;6spyh7fl=dIjoZU)!o))AUngW;Lk2@cl@eyT!Iy(-;1{$%-|mtCa0 z72>GnKUL43-rf~-HevHc!=r(DRe#!&_EickOJA8T{A6c88p=AUHES(#IxYHU=%Qel z(3o$AZlRrz?U96ujybtYQ6JBFZpof+&TF!$N%A`wEs!trR)phcj{4;{c4q8KfkzEG zjj2zM+bT(>$H_)-T6;|sU_Ry6)9`yDdgHf~3x)k(DM@_3^uE06^CkY8&c3#94J^!J zw^@2!m|ASzxx+4YRCa%2T26qXN|hdQ^5M|4=I1h9MnJPE}0dX^n_3EyM|IiZ$p=SdIQ_5 z%NdH^moGEVWn6T~*p+ml-OlB&$m6M$+wF|Z=j!HJo5bC6)h#ZybzI2F*f9OvzPfUF zPBm#IiwSJ*2R;c-xzk&7rI^J%zVO3<+B5!xSL>AgQz!rS2{bEcAD^@z$gx_XUu717WWOYxKWF>#jS*$4P9^Tsfa4sgGpl3guE%zX;Z})9Jl}3+p zO44cFBQ>UPWqrHce@!SQdmA0#%ZASQ`FC3;r`LI3l|4|p)^mmRfe%0LUAdVJ>y(8t zL)St%n?{<=1<`O#7pvXO|IRmyvlEPU4n9njSb>+?;uHn1eF?8_ytzO*uu{>Tcuz)t zeX0L+HM6yU+goOXs{{O@!^e$tn|}$*xP4DK92V8J#izgFQed^6^^VBVU7fCFL~^Q> zU{YJ#^Vy>6=pVZZGB3OAz3e1(%F@Y2Af3i=!H$qG2|l#*@4ii+qR0O1nKqDVrOr3h z+^>l(d{?Kvw1w+%g}i8CvD=3CQm;&s*FsHhqS zE&R-36P=|5uCzzrx7Qtr77g5F`fle{oB4Lq$J2`Yv8Pdva}g69S`lh&jK8ygNw0Fm zexOdS>|{xO=#FO%g8gqqMI-K|rdS-}{=K7U%0@_0)6M3==O1??Zq}N8U(sj0x#F?0 zYxS$3%zPU2-r`)(D+OAE9!5ciXJYE=O_eV`f3lBmQ!!)a*3S3a+HB+aYxKg6s?55S zLw<~vJbWL+Q~KqkMs8oDV1$KK$`DZ_rD%F{s}hqj_xCZ&mtlH;JL@i*dj810v$yJu zLD|FE%pn`9a954qgKI_ym!%$_Q>U0{Js|4bx{h>7)%n?-iPyaLkf`@Md1YKwkTN@?Cnvp-kRecyf}gzl3PgeY?5yn^xivvq^T*&z+9CyZ#@zr!?-?$lN5owk% z%T?oTn(BW_rj6DO7k63u-t?2|C_2hP>35Ee{9qPp7+nnl^Oru|i`+k}5_E*)B4;F> zO6H4ro(hp=|3Ra9`X$%ALHFX<94|yR{Kv2Ox`_4Dmg9#Vl_j-`Mcq;qcZJP;P(JUy z^s=7kw0g?;y@WxhJb$Oj!Iwepbv)B0n=}O2&T|*D%8XsnN?Lrb>z3MVW_?6}b91bc z$d4o5$8L;Q_2$wEm)F<#utf0I=$+sYiB#OZ<#}?Q?%;u2M+8$wf1j;nZ`TM{%`kk83v_jki{$tZY7jtBVtH$Rx36^w7 zP82*j$JVoNYW4(|@9C`mNvSWT51(rN%(L_g+2mAiS*3B(gHE{hNhf}bZMx(7358#O|p-X_KCl1SD;@wI9uW@&T>i7p=Mnx%HfBEkd?#-9sDP45w%%g?+T0mSxe@k zzWT$rC#7zlyO%HgrprO-VQ3XsVp??0@#xD7Ivl(0gt7}q*qCr;ve1CRPwx#E|GQ>? zB$mtaj7>vYMWEh=gTK#@oPVEoYs=n`>MVPY^FT?TWm}$!(_!YHi@P5?=y^%)X6&4M znpL$hIb&)X`%`}NsP3vk@4(l|8dJIx);Bz+Ml{Z-n2QT!Kiks!W;cDA9p4Z2sdwC! zqL%`TH<-$A{O5L`p_psW`r=sG^Zn8C>w{K~8$4J&cM056sF$^V+4-BNYGF_7eV!e5 zAG;>xh8nkM9QBOnFnS~vW!2^Ry86WOE%~%EUhcCpWfwdL+~m7ow+{NPn3l4nh^%bf znq=LWrq}5_HUC6y>N2x8Q`dLCASUOnCO)lvr$(MqMwm42@bVCHr4DD827-9A#~gpV z?ijWbBRKvhxm_{1YjrHlT9Vd2Y_&DFZu#X2_x3 zcUERnq1=NLN1PP1A62QI zbv?z|W$%{mD&zX4jgh)7F<@qsvwWQ0v?u_A7V>;yT-XPd+Cu8OkU^tT2 z$V!#BXl*w6+Y-fUZ8~4f-Qikn;QnnS=c>u2r)2`FUr6z_ezMw(xZ~&EmtI=4BZBJdB zvC@z^nRiC#bkXQ(^2b)WP9t`|7FV4s(~s2IF7ryagfc9ZR^_CRIUIT%-YM)Fa@KR~ zacJa4w$bUPMq`IyHwn$LJ1f=YRaTx~131>y_WhCkx8}P%o8Hi`kouM?EJp}(hBn=; zZt!^mRQDuqj;DJ+dkE#Ge$TqM zq4t91hmW5Zu4Pnclyl9u==Sm7WVY`g+`mWkMzgxCTLjbMJHCcwe-9s zZ(Ed4au_;9khbrWs$09BPK(W{es?~3_-tK^(&_f+^rE8uHUEwg?R^mh6pJ^!BKXi;PHv+y=yTx?ZRe{flQuQlH)?(9d)`@d?Z;I1vlqUNce_Z$*cGYzsD?ySYBRacZ(j)I zXBP4lo4%y*C&~Wh#IEB_ed64<$;}1oWp7`Zm<@*7bg=h^KPZa2NzYXl6EgMu{A%#| zelbsK`fnzi->yw^Y7t+uwYR-HWye?bIF~P4Na(zEw#HJCnsR<_&>fb*EcJ@cIIU*KRGPjSdkA|+ z67j0*-_1vs`}@@N`MJ`y7FeaOyl%4F}r+SGX}J(9yew6bfdlZj)+ zrO*>eT!d><6M0`$m2~5+-c4oz!`?y(C6B(75-U+_`?!gm(`Om>8(tQHo8UC@? z|0nogOPxe|?;S_;6LV9HB98V?og4gree9PHju$iiZ^7_tvRdrf`yo}awmd8sbsHT< zOHYuot9NXTs6YJf-YPvhd8*NKEU^6`f)(qNql<^z9-f3~+nV6Gd_N&_X#O>x{0opUFl6O`#`PP`@{5Bnb7AU^O2=|+c~`lQ2Av># z&RM~ER&9Y#bIT#;1{Mt}!<~0X5l=UE%_J(UCKYQH|LJYqJ=!yOYkX_&`R0nNO)X3s zJF}EWm=F9b=^7lZ9Q$)p+vbLL!9cZrdWPBl$!vyk<{md+rCtUDvx>L5AAY2r`TWmM%rSOnVaVR2 z|GgIC66MPLBp=KjWerbHTNi$>w*;yPQ@QNiHipo2d1HzPm0i)|ke}g>?<}X|d0FtoM? zz1GoWH4r|);5Zy`cUNTJ>&gqW_LaAe{Lot4>Uz3I)7m=nPm2XElFE`4lWJu?DSf-{<7oGW)#Fnuhod5Pn;XUgEg&ES4 zx4Q&gOutsUe~di%m0LwjpF{nE?}_XG<;xT?AJ`BUR#Q7$sxN(E#pkO_s-I!*uc3L} zFt+`R(oM!O&9-@U8w$%fbd^{RoJrD|F&w*?5yR?q&58Lad%KrX=F?^I#}&gK)!{{! z+qkM{ID4{%;Tpexd5TNY<#RFtbslHBPb(~1Z#|QnCRw@9-QTRka=9(XR>q>+r7p4f zoXFRWqd^HtRI;;i7Hs!yKMcZ_gaHlLhP71+3(EkFLCU zT+{b&#dkRD)436z{)00{|83jSYO2xOW$tKyE%8cd*OIq!||vbvv!o^$!Z~sm%FpcJo>(OLDv)pZg@oCFSg{ z-$AVw`){2{h(5y+aJi$S#@);7N_?I^%asw?10I*YX7{eHIwgybeX{-ihQGkBe5(~1 zsqM)hCwkatyi58*E|Z`&Z{l)ktoW1cLodYXBzCm2CYF4Xa+{7*-u`!wbH|c&Tz;h1 z)t7%5=3a=4xj3#3EFY0?Ei(-iV`5wxjy^so_97&DX2{FmpkQe9!3W8fyZnGo&agEXYA?n_{Z5H|N32PhS3sXgHQ6JR$vSUR;=-mHRoTzS8fgqn1UN+Xvp* z9S+XO;@Pszv#Ca4=Qxl5^rgs55X;Dl<@tTZ;o-MiZ~d!95)bxy1or(M=n#ATIXe3% z!@}y1;8g?7jJxZ}ybdNm_!>n{o!ND`dE~2f**tmMZG3mx@{6_+lQ@e^`s&UDyBr0W zT1vNGmTpU3wOWe*m>+X}T7hZrYOtH!kl^=>R0T!fCvo)AREf&PdcNm@J@wZFRa_R# zn*;Y{Q8=quwin)HXzV^joIjYef4Att+hzC9gz#`IZwTK(j7 z$nh)JJci{qv4$1Yv@6_XzpHmc|MBGgEFF&*{La_KuGimHq+RlUX>0wVOEW0j^tfto zzJbkuZN?^+x&?1TO3qKp#Hn;!{eDWxKe1Vyf1_lRGyCjxfq>52_52{wMep6K_`e)I zZ7Y8hF};KG_5^z~HL|RMBT0Fyf1%LVBu}@k^4hul=|66(B{`@*nH2dN++SQ2Iv8Qr zG9M|$%6fw7UvVTufx`0PR=Ua%U1Syf3tFUadF^dj-M)cfsyMOO;54(AojYd3_HOrG zm4blHpCi1|?>b2|HObub-S)dyd%F4McOmVAay7T-&gV$Oc%S)cnsXyt5+O9mJlMxj zC`GqEdE+sW_lMi4!|`vaz&DO_@U3*PB7AYRK{~6!BdPkTBjX+}qLVkFyMZmyNXvQe zsSh>}Hdd)w^`E2K1>Vy#Q>AxWuVnRZ@p-SjKv$FcL1d@yVXtn_rqkcovaMKdsU=LW z_}p7Af4y77sy0hxgTkTR=S)>%`9y^`Md`)L*oSG%v_D(2JyCS=V)0NXH)r%pIma*Y zsm~^|E<1_$JonQ4YhTxuFWVJ;vOje^rY>gOU6Ipm%=Pxa`Hd-e7^0c(&3w({(W6_Ln2 zAk$Dh?mU;QvZ^F-{=(s?Fn{69+kaf-KYM%ES1z8UJ9R?8%C7rbT-t2@&MnzpRzNt+ z0xfF;5Gf@9Q#*mS{1~V{OF)Ej12Jm^#KHRjl-EF-od;TkG?3|aK#N4v@Zf08fm7wlo2x=N}+W=HdThRS86M9S|l0K=vvEEw~Cuz7(K3=L6ZJ4rIIp zkSXgx3kU#`e-4P}SpXHAfcWDMaAyh#pGQDSl>=o)3n*$_K*nqZ7<~Y=cd0r?fDBy#0~ zP9Rg+f#B>1GQ<}^?IBQDKLDvb1H?ZwfFpfCd0q;{aZezxNds+_7bqTofneN;_nJmr zz5(H_0uU4kP-u=AB5oHy0x`M;h>~sqhjbu2+OTIUfCQ}L(n+9b#{%IQ3A7L^Af4{u zZ2W=py$+x|0|?u6Ab1h0?bu7N2=?6tl*iST&Pa=U3LX6_@&jrG8COBvFllXbWn9UyX^vC!81LDAUpd79RTI&#E{vOC= zJ|O*QK#^$0`aOZ7KnJ7&&MN*E5bTCPJ?{>ble>WUi?g)B8BxChY3Kq3eGI;ufKdAl zgyBtmJps}+13A?J#M5cS>^YEy{{YI6gXu8<>os_v{rIZKy6Ax%xC&6$0aQvYfCav{ zaS?GH075PvUjPvB2EcG0h|4}eR5}4!tOaBw;t`4S@yG^J1M5G34`?_3Lu@L5B5DI* zir8x=;XJ#5a@-c@Qw6kXI)EGW0P2YM851CmcmS~x>$4IEl2-@77qJ>1MBEYpG?3HV zGk`4n5BatXL`XXj1#f`5_Y`uv6Nn2uK!|Jw@*MK?-VBhj&u|ZS1KG6?;7tU;Bo9#I zsX*aC4)SdWQU`nB!~5Cb9zSFRa{m^*C+&aG2z%t|Z4xLG`+*`^4FnhJhbeN2A_lZ5Gaz-5 z&%4Tilqkm?SOxM{1Afi~uQP^NECLaX_YFop^FdzJ%46MlAIZx=)h-5d1V8f+_uSz) z5IgXiA;`G|*6~I6rQgDojCigSl{(pAOhb3sh)!OJqQGy3f5!_6j|H> z^JyT&QA_%ga1U95)`a>dPzGTB17K%6YL^BOi;VztAF)17AcK#fmLZPYk)sdSfFj_I z-p~xdBMcNJoYiq{pzKcq;=U5lqTk~#DIO`PSOCf?bEPigyO0VmlB;d_a%|0M877(u4PlI}S8oUVxl7p!DnE?kJ<4 z<1XIr0Wt%5zuF4KuOZY^)RI^hpaAk_$P2ydFYdcHz)ydG#0LNubbyk9dY2)JI*9X> z+JWBM1|S!Ve8xPmg!*pw3J4y=Kd>Drf^#?HunUodtTqXP|6CPOsqpT73Y5p&K#B>$|Q4e8cORqHlYn7FuB+#q>Z?#l6?YY^07e zyC863ilqnFsdR^b}wp_Wtz$IYt4%S_SjhKExj} z>P6m%1_3qD74-&t^526yjU2mfgFd+t@wEW>@C5nu7BwCF_1*^%!wuk%8n#0iy$yG) zc?-}&(*XRmfzZM}Y%Brh>wp%7n(*%)5O$^bd*q$~?&L8m)Cy~$@Qwl*UJAqm8N|RF zsM474v)6!Nioy)H4ZTYZ_wW(cQ2-z8^x2Q8Uw! zLt*Ge61bQ7h)GHwW+P63f?D*`^zXh_ z%zLQWUdZ8K?AHr>Qu+zx(H+}mD~dqf@S#B5TIGtHaE9CH=VLyr;PW%Qzb=*yq*oc9ZH8pQoDLybk=yYvCvM=T?7 zACxa62etqx#Nh7E0i45`c>f0^Pd!lfb>Mq2ONv}XT||r`Y3Lu0nE!czQiQ&62Y0)y z7iTjFz=(PoWs82NgPwt2o)LlAq4s}3-8$Nj+H?Sjp*EoP$)l&zV{YQWnPb0}8UX#M zbsFAyE<_&a-a^0Z#+gnahFDkFZp7p<;)u1D@&a)hcl!!vohPVUMd))C$eG`Q089gz zR}jlQ#Leg$&^!VW1N8P9jR|inj#ZUwGB0k3eoH0)vEyk>i97=Nl zI9`SG`-e547k@!tbVf}!?8N=TYy81Fjj^7hqNaF0s0!z@31aS zal9Wreh&HmA{2M;0zMx=4$b{V?LZybx(oSt9C1eOY{2>d-j1BYeIC9JWS0hdn=8;P zXZ8d&e0hA*9W2i zvuOhAcYHYN{UX5i6(C-wpg!W+*nI{u^+o=MDH8N&pV@koyIJM zd7}&UiV}o##@VP(0?=chPmZCUAXnt@*E+nWog``!>haarIA=Bh0rU<_7xZ7ufG#;W zfAn*)O62=~fC){Ytt%jpB7wZYj()QZ$k;)|E&+%TAE3%?1lXvBJ4XOTQvvk?KeK{b za_tOI>i=P1hCq9OesUE3>U|W@>V=TwxG&DQ@4kFMIe~MZ!`-;%jx)izR|KLi;k@DMVg9zlk{ueN_$n96~>&;kkr?6Z!T4$Yg1t{QrFaAL6K@gueFxu>hdRAdiyK zlZ@<9@87Zer~!si@aKfQ){GIm92iEQr^_-7^csU5mjyf_Pn~!};U+ zWH<791~tby1b4t3C|dETS^H3rkoPnyo;}b5oZNtLe2%%L5vWmC0I&Gb|2CnHzCx}x zq6VXGM56xapy&U<-gk)rWdOY?=r`gn1w=6F4*qjG!W?%%VE||YBIqkUm?PGJu*T2% z=OIRTW zp4|e^ArB5+%xel1POPi+BWkH0klUUB#6HG39Yj6Bex1xQi&X$551_sy&T55t4lY0r zqmR}y0{q3jv%sv@KZn!~tdGxs(4P(5QB&oCSU+pIuZ znxIcU1R|#jXNY^z;)2?Z*Q-OW6b&O^kP~d4Si>_QcD@AaeSB`>lG??g#GC=|cdG9HooL7BWdTN*$-A&#GxV$jm^p+Idu0HpETH_vop!*yHG_QjX$6WBAHE;?xs4vV zfYO|L?{h^xAFsT*50GD7!E}=_CWN@?%cv1!@@9HnahIJc-X~>@ZW- z;W-Jp^ilvwQ^eO5wKf)g-7w|qBil`rNaBuKeVblw?q6XvcWy#^Zgn%}P*r}jjA3;8PN#Z;;fv{)+Sj1VH z<1UYm0A&yA|K~1N&AgBHS^(5|Fw*)|7D&{-Py*E+6 z8|N_t+vDE0VD5B4Y#jl#kguM0=v~M)_iXH40=4)#&^|amLmKmck>izxp7D}KfT@recSMla<<{r!k%{$<<;TPb{whdISC z4QrzURQ6)_55yVZ{<~wIq(_c);{K9b(D%Gi6DUB$p!SKY;PWLKp1ln4{HcrD4M3d1 zn(K3b8i(^q!+nbN!+s=yvJq=Y{)>Bm70CB-<2kM%}43MVyhluBa79kiU{xKixH;@a@H{9twosOZ>B&xOb?R zy5CWg(7U_tqt;`+p65_ERDsrmI%tuM`4acE+!Fl+d7_bmJBs&<2?sK>0%-o&V-wap zeFbNXyg7^er-wR~v>p8&>(Ig;n4V+a!));>5{TPu_?(Od$m}=RJNgJ-kmtF82gh>MRj|ZfcZU!5ub%~-$J`Kdo#+(EwK)#9N+VAGYN+qONiZQHhO+qUgYjGO1YAMQWct5&b->gw9^0zy&%002M$ z0ASkLOzv6Hij%gR^a$LcdiAYM=11}k!i%EvO`+JH7J-DTDD6#}D9(Hj+=M8o0po8g7JvP5vvEe?692{2mku_y7cQc_ z!Tmv-oz=G%Lxg(`%p-C1(@fN5a7~Q$&;Swa?rgZ_w!D1qHAJn4>;bnqypP#FGAk&r zl7g;1D}UMVB4@)hJCDcN9j z51xLVNG8X(+{dr1GZlH!}>zbO2hcQyx2+EL3#v{m+y#m7k^Ds z*Tgjlf>*zqxU~-ki)vC=6E6O5+|mj^9BWesx0&{ggfM>i0rF!_A;CPRkw2KjT1|qj zf&Hp1(SjB%mOvgn#%TwEd?fNP7|Se*zx$E;*+4`p6% zf3+GtDm5EjE#m>V+hB)OYv6vrM|uOoL53K{l>`2sUv<*)kQISDQO`fql`0`3L5+^< zSQ5^2jDW*fr@eyTk(_`O5Db8ZN-r1JuYkNWOGl3!I89XUWh!pxPq?*5YjWj3*Ho0t zVb^4vhR#lr7R^HiZwe|+x+BNN3RVj$8VfpA6%A|DOO|oN?&(JEO`6-Dt?P&Dznuw_ zIx5~2DI7Fxi4OX>{o6U-GBHz%cq@QCiCMfa?naVkRy*xJ9n;CJDXoAv`jT3 zmPI|}`2KWEqiVEl+P=>{tu`RnSZNt`m)XAwc;q`v)D|eRv@?5iCd@hiLAtscoDpWX z>l|=P333#)1ewCLjN*ZoswM%4Tc9dbQi9|NVAf2U;NgRSpQGBtJ-zk-xvXKQQ05|x z1F2(=vVeq>X9wfgg(iO-Yi4w@k(I;~Cb--PE;_iD(<2o{zt3Z|B#yj^5& z|07sL!Ry_FH;lk&fJ3;#?}Dw8&&eK^OAXykd73V z{04ik8n~`eR#IIKh?(5iP{M_M%keC!ANy=SM}^;`vx6rPdnMMHug|;XC4vfv`vSg` zdq-c!uXBG*p$>mcJ6A8hre1f0WW>b$mRLVa$R|W$BydIGUJ|zhXro3^A(cv6hN=Qa zlj*mlxtI`)DgPX7JvRVifwfh`EVBinloeC7Sj0L%?iVm=WHt@@G5h2Z`vf?@w+EAG z+{$$vbGAwhuGXTBwK>-Da<@RIjU#}YG+5`Z_)VVDWowcLjI7MBG8t&3^>#46n5)+- zJA{8-_CQO|4V4D}2+rBWz~hGgGem<(?1ttYzoB(JnlH{LBgz!OgC&=1-T=k(0Zc}1I|Zp5uj6)JHEKI5RTg40TYx>&^TdEy0x6B2+asXb(Y za)<#925#CY_NtTWjt7E!IOIufs~JY+sKL!tEbl3F8pV|=7s5f*ZK2H2#8uOs%|3AC ztF&)mHc+NOz5GJn)xTMSTzGQk&xgyBe=Xms*{t(LWYk3cK@f2OPgHI3)gF3o65Duh z8g8K8&|4>(%Os+;q64?>KS|BB`yrRUXqqC`?cA+ z(`-_e+}1X5!-rGi6mIp?*019IZ{nSJwq_R9Q0nKTCF~#m+yLnCrJX{?j7JTq84&*& z!)%okrdQr4JT`*I-q77J`N--H2_a9*H-LY$NLjD;g-#{MB8+oanVja7W+fG-Z*Sk8yH4l6 zDU;)p=W&i-vRx8KY@ll2gdLR!8ktL8;i%8hT6h11#G$ znz2I-2n|;$M9z+O4a@ZTZU}vG^??!OX*646AEQEZQc_Z7*`CabLZlrwC;dD6!rN11 zxU!j^ZZU~5km{IsMtP4NAUJ$h{-B{0LlFeGJc`B}4T>-uU;e(i4uczSr5~`myM4Pa zjOj@jaU%VS$Q_IuchRE9vgFspW>}8!yYKegYYn$jh-Nu>y><#+F?Da>aM;F zyvw*oYAOjZe5?^JuGukMHxJ=K(l4Re47)%`a*R z{jx{&Fd?@dP`m2-V8z+8Tn1_oH};0ZE=eP@So5SR7XcxqWa%OS%MAgMNN+EvyQ%~6 z5aP)hQ#Hae%_=L_3d_~Z9SlthYu3dHTGn+ai7`hQ_G*)``3az^8>-~>)>O^?1!Yu= z%0(7R>jjoUx^3`?xLM%BwuFZ-n6#LpKiV;aTI85Hq zDv~J{BW%iB_yb+iN?|ap=~i%sO#0jW^dOICUSvbJIr=AU=pl(S_q>%F-2UQ9MI0V8 zd0$vnq5E|+jQL~9RN_;APX_tX1h;U53;SV61!(%w=QL6qZejgC&{JyU$oxxBU&4bP zEmSIDbt1e%W09`2-98VEz-An^{ULo!>APd>SuJkle7~Vj?)kBUt|)5vU+J39(#PG#Ku374dJMSKxo+dq_P*mDpr~qn(Ik=n z!mT*@%Uj4g@OloZm`q6e8w;{g^TASTn60qEQc@+rNRp@bFAJE_rpy@#f;0Qv?n8bM zT?ttV>5!xvD#i`u(ezVwS&h;tUGg5~X?amsCj4mm8j*r5QA$D>T91@gk`V)E+=ZO0 z5h{X33dX`Q^^btM)fvWejKa{Z3Y@(-x0~5bUy^UzIP|m?jyfhyepnL}B#_(d==Z)0 z5f4?baS7nn2Iw!Ic!X)lF{NR$gab!x1%YG?zvgexAoV`4+$`4N<9Whl~R@*W?3l1ozFPLj;Axs<2t zW|%zbdb^As!(xA&#!18a@3k|?{R*&Px1WejPJW_Mhb#~R5Fv0d)G~D{qg1soFLxB@1cXB)lM4mKRM0SKbxGAs)D1N|cE#+imfS#*dw%=M?R zmGYkClIr@EEmt9`=8NOLV#n$fSqAR{3R3qM)9CIqVcZ*u&{vPY*l5?M6GO*gKhcu?ox9|o4X6-ICV3D;D79(^2Wt8AL3O^{*8sCY1Rv<=n`m@< zY}Q_N?x>+b8@Q@{U?*iZU^vuCgG{Iz?2`^7k2J>JQ0}@yd!JEL#cfH^^GYgEe{hYS zkr#^tzK)o*--kO}^V*#&OIa|Nlw!U20J^=k%qI34alZf22U`Oi_ z1L*s3cXtG>9WL447(gYAq`g5_NZX@uGzY7P9I7 zt86a2-*F~qP|qP#6B&+JB!#4ueuF?Ll(u?)dGC-MF<&CEDB*SYMZ8%g0;U>F;Pb|F z>plsH&^eHwr-_`axTRWINA1OXF$Tvr6O1cq+MW##xB(je?9Y=66M6nyjqUIp%x3+` z8hrI!Awrq`>QmWfz350P^9KN5)Ko()H!(0ClH0e#8*_Ghed|Il{9IFKJkaPhj#t@c zhiOobjO1(YLQQq1p5n6xMcCx=fe?_)zJ(~ekEc7pA#x8u53%#S`{)|OENy!hgP=5T z9wD3;1+xuxJ~OTQtV%g?Znrv1x-+G2sW2Fd#313K;8G+Rs>5(|k*bxq2r!3mq3&g+ z)=0%eGe=i}sCpv4dv2dc@SY3cLT*LD1*&!)Ak&TQ9gt-SUS!-gV#RtQx8B{*Ab03P%bWVL{@9mNE z!jsR7j~uEa!93Cil`#xE_v}thVOR2T5L*XOLfuneHju1RCi439`&^3%E)C=Jwlv)G zh*dY@>Q}E1?lTgo8^B94_5Zlvb_*XNWOkq8Bt_^j`kKX5qOi={FGo|Q9gbdivAG{; z%XznFZAVg-4wB9E`}QXtkpiI~aonEZLiJ7*qeiN{$->gMDB(}^zUcj*;cyxBF_JMJ znlfHU?<5&dWbHpHC@eUT#l?s&GSd>yG=m)fc>Clk(XOyUjQ2V6A5-5ZJ%qWioAC7V zDuRz>COu$tCpxG#YGPPP-qAN&WJr!+P4uGu*VjS94I}1`y)I$C{1LOWPXPa$KJmU7 z+Y4K>UjY@@dwK-Tz$4}k?SMp%@N501{OdcnXe$X3GD@?*_U6^ydWNm-(LNzYMkawf zC(Yu|r;26NqL|<9x5KJL%~Z*jG7P6OP&PgvUi%fft-%T)G;FkF3$BZ^ rcaKYLMm*}NJR{E;Zd?;1?Rz=-Xf;gsm+2PX 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

&SG& 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�eTY#b?LX)(ib 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

oIQ4YOXU$0Mi5i`Sf+bbJ=L9 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ǧ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 z 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

buibo}hicx6&l@gJNcsJI;tJeTH?p}*-9#Ii z@3706gDGL2Hg}@!j5ElkxtG8o`A&fNTHKigV?Ae#^La0ar2fE1v!ai3$O0s_2`(ic z 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«< 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 Ly^wf#eqsC{v)m?j literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/pack/pack-d7c6adf9f61318f041845b01440d09aa7a91e1b5.idx b/tests/resources/submodules/testrepo/.gitted/objects/pack/pack-d7c6adf9f61318f041845b01440d09aa7a91e1b5.idx new file mode 100644 index 0000000000000000000000000000000000000000..94c3c71da52ca3d4761c4e9041b384d9bc75ad9b GIT binary patch literal 1240 zcmexg;-AdGz`z8=qW}^Pps*kZGXwPvCCmbJ??}b0K);VP%m(x`PVCs+bpPZ39eaPT zF#d95_t~f2a`oYw4{Y+*Z5}2Csyees*{;KHB55dV&?dF#`kRGN5~TfOsX4T@J*P yfLQIszKM4h+|MXn`snRCm0er%Quq9yFn5~doV&qSCs?ySKaj$-^Vag-Df$4qg=3fi literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/pack/pack-d7c6adf9f61318f041845b01440d09aa7a91e1b5.pack b/tests/resources/submodules/testrepo/.gitted/objects/pack/pack-d7c6adf9f61318f041845b01440d09aa7a91e1b5.pack new file mode 100644 index 0000000000000000000000000000000000000000..74c7fe4f3a657d606a4a004c87336749079c0edf GIT binary patch literal 491 zcmWG=boORoU|<4bwrPA7bLRHNavd@dXt`h9wYOo@&ulXVr3x1R33=PLWk|2oj=R6e z{6ngQ-HiT=p)71gtxNdtSc@#my7+iQ>e4qWip{2_EIvQCa!ROJYez<`n&YvUtTcI* z9TTeiTBZe0nUf^pW%6`sa`eMPzM|)nA8tGF@Z|lXUFTAFz2AA(eS_Z5b4eUxWitfM zx;^&{{dY4@|EHR09p8m=V|lCdF3HolfsX5m=3+ABVfbI&731*Idp5t|LFI}jHQzg~ zyQiAoi@zxS!<^^L4J{_ighMw%nza;7mv(7p=6M|PE%R{fdiLnm>17)awYE#nS$-B0AgjUCm@D?V9#TFX)~ z$JoTcz}PU*66+=E@hWo`*7*&jWecg0;xw=p8Q#< znGm{LIG-cz>zd?K^@r5dt1_-_DeboX%y8$7^v#Wo6?0bm=)z13@;H6Q^C=U9)d4m= z>xwzr=RI@+K|))fGcic~WZt)&iFo@NUWM`6pV&9?&Vu_Hg-aj3U8k~ZOJ3@p{}TZ5 CmFm|3 literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/pack/pack-d85f5d483273108c9d8dd0e4728ccf0b2982423a.idx b/tests/resources/submodules/testrepo/.gitted/objects/pack/pack-d85f5d483273108c9d8dd0e4728ccf0b2982423a.idx new file mode 100644 index 0000000000000000000000000000000000000000..555cfa977d92b199d541285af6997543062dbb5f GIT binary patch literal 1240 zcmexg;-AdGz`z8=Fu(|8jAF{d02H2-U}m6xVlWF(-6*Ck3|N6-I8-nj(5*DVOle|P zo{t)ie0?j&@$0PFqP>OL=Y#(kT`Ve_JpcH-3(;%WeY(v#lR+%mtR?&EiC&|hR!?hN z(wd)1Z9Qs`dw%x!5V?meVL>yD15}(ow=(kB?z_;%ZLnQyuGiaosUIg!3HkM=?0m@~ zu;ad6!x7<|%-;-CYzi~lg?rcd+wO~5?(_a%q=V;#6!|H$|2e3=YcE{|%zhz2tPI5a zfqq^Fr2Bw0kGu4gOS9IUbq@E_@MF5DBm1P@&x?V@nN22yqrhMG{sG3n*SE{>v{(-S DZ%AIa literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/objects/pack/pack-d85f5d483273108c9d8dd0e4728ccf0b2982423a.pack b/tests/resources/submodules/testrepo/.gitted/objects/pack/pack-d85f5d483273108c9d8dd0e4728ccf0b2982423a.pack new file mode 100644 index 0000000000000000000000000000000000000000..4d539ed0a554c2b1b03e38f5eb389b515fc37792 GIT binary patch literal 498 zcmWG=boORoU|<4bwh4R{bLO6LB2ZL-fLMnU}tes`9ibm`tURpR~n zN4$6HD)yU)CWLQZoTPkI!7rVgzg+9v``Z_ETFHpbhKWQbKFLPm4J!}4hZ-;;1 za#iqhJ1^nhV_bNmPxbulr)SmY-soaD~5%da!2C_U9Y#XivXB zA!=`fYW_quaW@M^#aa1lT|@sZc&3)$dY@s6GLb^dz-uTluNVLoplcP)9_=us3ZHN-p>mFO;6gd literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/packed-refs b/tests/resources/submodules/testrepo/.gitted/packed-refs new file mode 100644 index 0000000000000000000000000000000000000000..9c0433e1c85bca575e58a01f4a795b0a3ca438db GIT binary patch literal 700 zcmb7?OKu!73`F;RiUzVatPd$lK1>XLok48(pu2-yKXUAa5e$N4!vzHvi?8%$y|RA4 z+dYo;=jHtNuwLDt-PT1423M5Y6J`f?K!Z|>)4&)O#i2&FyuQuepZqk7ALsJbN9s9A zx2WEeLasJajaGAms+3#rlxw$T7L3w>LkJlgqqq_jsNzFvBVkZZ{nLi)c6mJ?&+Sp3 zH(5xab{N#Hz?jQ0$53VJ*n6Jtbx2O5r%wVO=KjOwzn=5HWcQbCVz}S-%hTocod~sR zl$kBk;7KpzXgUa*rUFjx>ZHVRQ{ng_=k9(iz$F!_&_q&5G9izs8sRdjCSegP3Gk-M zTgYyAzXO6S+O>^DI7ejKKy8t*HJyFM+3_wm{vxz+!|)mKU=N2>tco-*U;zd(-vEIK pKgj<9<%N&a_l1GUbf%{BZ*&459Vm~0Fe`NgX268yHWt~-@(Z(})f4~# literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/refs/heads/master b/tests/resources/submodules/testrepo/.gitted/refs/heads/master new file mode 100644 index 0000000000000000000000000000000000000000..3d8f0a402b492c248b12ac72b6a66eebe941023f GIT binary patch literal 41 vcmYc^GfhiPNi()gOifEQF)&IoPD(OMH8M#_Gf6Q?1In40nwXoL8gKys2{Q}F literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/.gitted/refs/remotes/origin/HEAD b/tests/resources/submodules/testrepo/.gitted/refs/remotes/origin/HEAD new file mode 100644 index 0000000000000000000000000000000000000000..6efe28fff834a94fbc20cac51fe9cd65ecc78d43 GIT binary patch literal 32 ncmXR)O|w!cN=+-)FG|hLFG(%d&o9bM&&<=$O)M@+E#d+I#g+^5 literal 0 HcmV?d00001 diff --git a/tests/resources/submodules/testrepo/README b/tests/resources/submodules/testrepo/README new file mode 100644 index 0000000000000000000000000000000000000000..a8233120f6ad708f843d861ce2b7228ec4e3dec6 GIT binary patch literal 10 Rcmc~utyCz Date: Thu, 22 Mar 2012 10:44:36 -0700 Subject: [PATCH 03/16] New status fixes This adds support for roughly-right tracking of submodules (although it does not recurse into submodules to detect internal modifications a la core git), and it adds support for including unmodified files in diff iteration if requested. --- include/git2/diff.h | 3 ++- include/git2/status.h | 6 +++--- src/diff.c | 47 +++++++++++++++++++++++++++++++------------ src/diff_output.c | 6 ++++-- src/iterator.c | 5 +++++ src/status.c | 12 ++++++++--- 6 files changed, 57 insertions(+), 22 deletions(-) diff --git a/include/git2/diff.h b/include/git2/diff.h index 0e7c02fd0..cb3ef4e1b 100644 --- a/include/git2/diff.h +++ b/include/git2/diff.h @@ -39,7 +39,8 @@ enum { GIT_DIFF_IGNORE_SUBMODULES = (1 << 5), GIT_DIFF_PATIENCE = (1 << 6), GIT_DIFF_INCLUDE_IGNORED = (1 << 7), - GIT_DIFF_INCLUDE_UNTRACKED = (1 << 8) + GIT_DIFF_INCLUDE_UNTRACKED = (1 << 8), + GIT_DIFF_INCLUDE_UNMODIFIED = (1 << 9) }; /** diff --git a/include/git2/status.h b/include/git2/status.h index 339052933..a24d39fa7 100644 --- a/include/git2/status.h +++ b/include/git2/status.h @@ -83,14 +83,14 @@ typedef enum { * the workdir files are included in the status "show" option. * Right now, there is no option to include all files in * directories that are ignored completely. - * - GIT_STATUS_OPT_EXCLUDE_UNMODIFIED indicates that callback - * do not need to be made on unmodified files. + * - GIT_STATUS_OPT_INCLUDE_UNMODIFIED indicates that callback + * should be made even on unmodified files. * - GIT_STATUS_OPT_EXCLUDE_SUBMODULES indicates that directories * which appear to be submodules should just be skipped over. */ #define GIT_STATUS_OPT_INCLUDE_UNTRACKED (1 << 0) #define GIT_STATUS_OPT_INCLUDE_IGNORED (1 << 1) -#define GIT_STATUS_OPT_EXCLUDE_UNMODIFIED (1 << 2) +#define GIT_STATUS_OPT_INCLUDE_UNMODIFIED (1 << 2) #define GIT_STATUS_OPT_EXCLUDE_SUBMODULES (1 << 3) /** diff --git a/src/diff.c b/src/diff.c index 469a6c05c..3f8041af2 100644 --- a/src/diff.c +++ b/src/diff.c @@ -132,7 +132,17 @@ static int diff_delta__from_one( git_delta_t status, const git_index_entry *entry) { - git_diff_delta *delta = diff_delta__alloc(diff, status, entry->path); + git_diff_delta *delta; + + if (status == GIT_DELTA_IGNORED && + (diff->opts.flags & GIT_DIFF_INCLUDE_IGNORED) == 0) + return 0; + + if (status == GIT_DELTA_UNTRACKED && + (diff->opts.flags & GIT_DIFF_INCLUDE_UNTRACKED) == 0) + return 0; + + delta = diff_delta__alloc(diff, status, entry->path); GITERR_CHECK_ALLOC(delta); /* This fn is just for single-sided diffs */ @@ -168,6 +178,10 @@ static int diff_delta__from_two( { git_diff_delta *delta; + if (status == GIT_DELTA_UNMODIFIED && + (diff->opts.flags & GIT_DIFF_INCLUDE_UNMODIFIED) == 0) + return 0; + if ((diff->opts.flags & GIT_DIFF_REVERSE) != 0) { const git_index_entry *temp = old; old = new; @@ -320,26 +334,30 @@ static int maybe_modified( git_diff_list *diff) { git_oid noid, *use_noid = NULL; + git_delta_t status = GIT_DELTA_MODIFIED; GIT_UNUSED(old); /* support "assume unchanged" & "skip worktree" bits */ if ((oitem->flags_extended & GIT_IDXENTRY_INTENT_TO_ADD) != 0 || (oitem->flags_extended & GIT_IDXENTRY_SKIP_WORKTREE) != 0) - return 0; + status = GIT_DELTA_UNMODIFIED; - if (GIT_MODE_TYPE(oitem->mode) != GIT_MODE_TYPE(nitem->mode)) { + /* if basic type of file changed, then split into delete and add */ + else if (GIT_MODE_TYPE(oitem->mode) != GIT_MODE_TYPE(nitem->mode)) { if (diff_delta__from_one(diff, GIT_DELTA_DELETED, oitem) < 0 || diff_delta__from_one(diff, GIT_DELTA_ADDED, nitem) < 0) return -1; return 0; } - if (git_oid_cmp(&oitem->oid, &nitem->oid) == 0 && - oitem->mode == nitem->mode) - return 0; + /* if oids and modes match, then file is unmodified */ + else if (git_oid_cmp(&oitem->oid, &nitem->oid) == 0 && + oitem->mode == nitem->mode) + status = GIT_DELTA_UNMODIFIED; - if (git_oid_iszero(&nitem->oid) && new->type == GIT_ITERATOR_WORKDIR) { + /* if we have a workdir item with an unknown oid, check deeper */ + else if (git_oid_iszero(&nitem->oid) && new->type == GIT_ITERATOR_WORKDIR) { /* if they files look exactly alike, then we'll assume the same */ if (oitem->file_size == nitem->file_size && oitem->ctime.seconds == nitem->ctime.seconds && @@ -348,25 +366,28 @@ static int maybe_modified( oitem->ino == nitem->ino && oitem->uid == nitem->uid && oitem->gid == nitem->gid) - return 0; + status = GIT_DELTA_UNMODIFIED; + + /* TODO? should we do anything special with submodules? */ + else if (S_ISGITLINK(nitem->mode)) + status = GIT_DELTA_UNMODIFIED; /* TODO: check git attributes so we will not have to read the file * in if it is marked binary. */ - if (oid_for_workdir_item(diff->repo, nitem, &noid) < 0) + else if (oid_for_workdir_item(diff->repo, nitem, &noid) < 0) return -1; - if (git_oid_cmp(&oitem->oid, &noid) == 0 && + else if (git_oid_cmp(&oitem->oid, &noid) == 0 && oitem->mode == nitem->mode) - return 0; + status = GIT_DELTA_UNMODIFIED; /* store calculated oid so we don't have to recalc later */ use_noid = &noid; } - return diff_delta__from_two( - diff, GIT_DELTA_MODIFIED, oitem, nitem, use_noid); + return diff_delta__from_two(diff, status, oitem, nitem, use_noid); } static int diff_from_iterators( diff --git a/src/diff_output.c b/src/diff_output.c index 638cabca5..f4c214314 100644 --- a/src/diff_output.c +++ b/src/diff_output.c @@ -314,7 +314,8 @@ int git_diff_foreach( git_blob *old_blob = NULL, *new_blob = NULL; git_map old_data, new_data; - if (delta->status == GIT_DELTA_UNMODIFIED) + if (delta->status == GIT_DELTA_UNMODIFIED && + (diff->opts.flags & GIT_DIFF_INCLUDE_UNMODIFIED) == 0) continue; if (delta->status == GIT_DELTA_IGNORED && @@ -377,7 +378,8 @@ int git_diff_foreach( */ if (git_oid_cmp(&delta->old.oid, &delta->new.oid) == 0) { delta->status = GIT_DELTA_UNMODIFIED; - goto cleanup; + if ((diff->opts.flags & GIT_DIFF_INCLUDE_UNMODIFIED) == 0) + goto cleanup; } } } diff --git a/src/iterator.c b/src/iterator.c index cc15b5f67..001bee7b0 100644 --- a/src/iterator.c +++ b/src/iterator.c @@ -427,7 +427,12 @@ static int workdir_iterator__update_entry(workdir_iterator *wi) /* detect submodules */ if (S_ISDIR(wi->entry.mode) && git_path_contains(&wi->path, DOT_GIT) == true) + { + size_t len = strlen(wi->entry.path); + assert(wi->entry.path[len - 1] == '/'); + wi->entry.path[len - 1] = '\0'; wi->entry.mode = S_IFGITLINK; + } return 0; } diff --git a/src/status.c b/src/status.c index eab7c8850..0c7a62254 100644 --- a/src/status.c +++ b/src/status.c @@ -137,7 +137,13 @@ int git_status_foreach_ext( } memset(&diffopt, 0, sizeof(diffopt)); - diffopt.flags = GIT_DIFF_INCLUDE_IGNORED | GIT_DIFF_INCLUDE_UNTRACKED; + if ((opts->flags & GIT_STATUS_OPT_INCLUDE_UNTRACKED) != 0) + diffopt.flags = diffopt.flags | GIT_DIFF_INCLUDE_UNTRACKED; + if ((opts->flags & GIT_STATUS_OPT_INCLUDE_IGNORED) != 0) + diffopt.flags = diffopt.flags | GIT_DIFF_INCLUDE_IGNORED; + if ((opts->flags & GIT_STATUS_OPT_INCLUDE_UNMODIFIED) != 0) + diffopt.flags = diffopt.flags | GIT_DIFF_INCLUDE_UNMODIFIED; + /* TODO: support EXCLUDE_SUBMODULES flag */ if (show != GIT_STATUS_SHOW_WORKDIR_ONLY && (err = git_diff_index_to_tree(repo, &diffopt, head, &idx2head)) < 0) @@ -180,9 +186,9 @@ int git_status_foreach( { git_status_options opts; - opts.show = GIT_STATUS_SHOW_INDEX_AND_WORKDIR; + opts.show = GIT_STATUS_SHOW_INDEX_AND_WORKDIR; opts.flags = GIT_STATUS_OPT_INCLUDE_IGNORED | - GIT_STATUS_OPT_EXCLUDE_SUBMODULES; + GIT_STATUS_OPT_INCLUDE_UNTRACKED; return git_status_foreach_ext(repo, &opts, callback, payload); } From a56aacf4d36778daa446b0a6c075e4cbc0791f41 Mon Sep 17 00:00:00 2001 From: Russell Belfer Date: Thu, 22 Mar 2012 12:03:30 -0700 Subject: [PATCH 04/16] More status testing This "fixes" the broken t18 status tests to accurately reflect the new behavior for "created" untracked subdirectories. See discussion in the PR for more details. This also contains the submodules unit test that I forgot to git add, and ports most of the t18-status.c tests to clar (still missing a couple of the git_status_file() single file tests). --- tests-clar/status/status_data.h | 95 +++++++++++++++++++++++++++++ tests-clar/status/submodules.c | 104 ++++++++++++++++++++++++++++++++ tests-clar/status/worktree.c | 92 ++++++++++++++++++++++++++++ tests/t18-status.c | 8 +-- 4 files changed, 293 insertions(+), 6 deletions(-) create mode 100644 tests-clar/status/submodules.c diff --git a/tests-clar/status/status_data.h b/tests-clar/status/status_data.h index 1a68648f4..395776845 100644 --- a/tests-clar/status/status_data.h +++ b/tests-clar/status/status_data.h @@ -8,6 +8,8 @@ struct status_entry_counts { int expected_entry_count; }; +/* entries for a plain copy of tests/resources/status */ + static const char *entry_paths0[] = { "file_deleted", "ignored_file", @@ -48,3 +50,96 @@ static const unsigned int entry_statuses0[] = { static const size_t entry_count0 = 15; +/* entries for a copy of tests/resources/status with all content + * deleted from the working directory + */ + +static const char *entry_paths2[] = { + "current_file", + "file_deleted", + "modified_file", + "staged_changes", + "staged_changes_file_deleted", + "staged_changes_modified_file", + "staged_delete_file_deleted", + "staged_delete_modified_file", + "staged_new_file", + "staged_new_file_deleted_file", + "staged_new_file_modified_file", + "subdir.txt", + "subdir/current_file", + "subdir/deleted_file", + "subdir/modified_file", +}; + +static const unsigned int entry_statuses2[] = { + GIT_STATUS_WT_DELETED, + GIT_STATUS_WT_DELETED, + GIT_STATUS_WT_DELETED, + GIT_STATUS_WT_DELETED | GIT_STATUS_INDEX_MODIFIED, + GIT_STATUS_WT_DELETED | GIT_STATUS_INDEX_MODIFIED, + GIT_STATUS_WT_DELETED | GIT_STATUS_INDEX_MODIFIED, + GIT_STATUS_INDEX_DELETED, + GIT_STATUS_INDEX_DELETED, + GIT_STATUS_WT_DELETED | GIT_STATUS_INDEX_NEW, + GIT_STATUS_WT_DELETED | GIT_STATUS_INDEX_NEW, + GIT_STATUS_WT_DELETED | GIT_STATUS_INDEX_NEW, + GIT_STATUS_WT_DELETED, + GIT_STATUS_WT_DELETED, + GIT_STATUS_WT_DELETED, + GIT_STATUS_WT_DELETED, +}; + +static const size_t entry_count2 = 15; + +/* entries for a copy of tests/resources/status with some mods */ + +static const char *entry_paths3[] = { + ".HEADER", + "42-is-not-prime.sigh", + "README.md", + "current_file", + "current_file/", + "file_deleted", + "ignored_file", + "modified_file", + "new_file", + "staged_changes", + "staged_changes_file_deleted", + "staged_changes_modified_file", + "staged_delete_file_deleted", + "staged_delete_modified_file", + "staged_new_file", + "staged_new_file_deleted_file", + "staged_new_file_modified_file", + "subdir", + "subdir/current_file", + "subdir/deleted_file", + "subdir/modified_file", +}; + +static const unsigned int entry_statuses3[] = { + GIT_STATUS_WT_NEW, + GIT_STATUS_WT_NEW, + GIT_STATUS_WT_NEW, + GIT_STATUS_WT_DELETED, + GIT_STATUS_WT_NEW, + GIT_STATUS_WT_DELETED, + GIT_STATUS_IGNORED, + GIT_STATUS_WT_MODIFIED, + GIT_STATUS_WT_NEW, + GIT_STATUS_INDEX_MODIFIED, + GIT_STATUS_WT_DELETED | GIT_STATUS_INDEX_MODIFIED, + GIT_STATUS_WT_MODIFIED | GIT_STATUS_INDEX_MODIFIED, + GIT_STATUS_INDEX_DELETED, + GIT_STATUS_WT_NEW | GIT_STATUS_INDEX_DELETED, + GIT_STATUS_INDEX_NEW, + GIT_STATUS_WT_DELETED | GIT_STATUS_INDEX_NEW, + GIT_STATUS_WT_MODIFIED | GIT_STATUS_INDEX_NEW, + GIT_STATUS_WT_NEW, + GIT_STATUS_WT_DELETED, + GIT_STATUS_WT_DELETED, + GIT_STATUS_WT_DELETED, +}; + +static const size_t entry_count3 = 21; diff --git a/tests-clar/status/submodules.c b/tests-clar/status/submodules.c new file mode 100644 index 000000000..ca6c2ef30 --- /dev/null +++ b/tests-clar/status/submodules.c @@ -0,0 +1,104 @@ +#include "clar_libgit2.h" +#include "buffer.h" +#include "path.h" +#include "posix.h" + +static git_repository *g_repo = NULL; + +void test_status_submodules__initialize(void) +{ + git_buf modpath = GIT_BUF_INIT; + + g_repo = cl_git_sandbox_init("submodules"); + + cl_fixture_sandbox("testrepo.git"); + + cl_git_pass(git_buf_sets(&modpath, git_repository_workdir(g_repo))); + cl_assert(git_path_dirname_r(&modpath, modpath.ptr) >= 0); + cl_git_pass(git_buf_joinpath(&modpath, modpath.ptr, "testrepo.git\n")); + + p_rename("submodules/gitmodules", "submodules/.gitmodules"); + cl_git_append2file("submodules/.gitmodules", modpath.ptr); + + p_rename("submodules/testrepo/.gitted", "submodules/testrepo/.git"); +} + +void test_status_submodules__cleanup(void) +{ + cl_git_sandbox_cleanup(); +} + +static int +cb_status__count(const char *p, unsigned int s, void *payload) +{ + volatile int *count = (int *)payload; + + GIT_UNUSED(p); + GIT_UNUSED(s); + + (*count)++; + + return 0; +} + +void test_status_submodules__0(void) +{ + int counts = 0; + + cl_assert(git_path_isdir("submodules/.git")); + cl_assert(git_path_isdir("submodules/testrepo/.git")); + cl_assert(git_path_isfile("submodules/.gitmodules")); + + cl_git_pass( + git_status_foreach(g_repo, cb_status__count, &counts) + ); + + cl_assert(counts == 7); +} + +static const char *expected_files[] = { + ".gitmodules", + "added", + "deleted", + "ignored", + "modified", + "testrepo", + "untracked" +}; + +static unsigned int expected_status[] = { + GIT_STATUS_INDEX_NEW | GIT_STATUS_WT_MODIFIED, + GIT_STATUS_INDEX_NEW, + GIT_STATUS_INDEX_DELETED, + GIT_STATUS_IGNORED, + GIT_STATUS_WT_MODIFIED, + GIT_STATUS_INDEX_NEW, /* submodule added in index, but not committed */ + GIT_STATUS_WT_NEW +}; + +static int +cb_status__match(const char *p, unsigned int s, void *payload) +{ + volatile int *index = (int *)payload; + + cl_assert_strequal(expected_files[*index], p); + cl_assert(expected_status[*index] == s); + (*index)++; + + return 0; +} + +void test_status_submodules__1(void) +{ + int index = 0; + + cl_assert(git_path_isdir("submodules/.git")); + cl_assert(git_path_isdir("submodules/testrepo/.git")); + cl_assert(git_path_isfile("submodules/.gitmodules")); + + cl_git_pass( + git_status_foreach(g_repo, cb_status__match, &index) + ); + + cl_assert(index == 7); +} diff --git a/tests-clar/status/worktree.c b/tests-clar/status/worktree.c index 98bb2b819..9ddb7d1bc 100644 --- a/tests-clar/status/worktree.c +++ b/tests-clar/status/worktree.c @@ -3,6 +3,8 @@ #include "ignore.h" #include "status_data.h" #include "posix.h" +#include "util.h" +#include "path.h" /** * Auxiliary methods @@ -67,6 +69,7 @@ void test_status_worktree__cleanup(void) /** * Tests - Status determination on a working tree */ +/* this test is equivalent to t18-status.c:statuscb0 */ void test_status_worktree__whole_repository(void) { struct status_entry_counts counts; @@ -86,6 +89,7 @@ void test_status_worktree__whole_repository(void) cl_assert(counts.wrong_sorted_path == 0); } +/* this test is equivalent to t18-status.c:statuscb1 */ void test_status_worktree__empty_repository(void) { int count = 0; @@ -96,6 +100,81 @@ void test_status_worktree__empty_repository(void) cl_assert(count == 0); } +static int remove_file_cb(void *data, git_buf *file) +{ + const char *filename = git_buf_cstr(file); + + GIT_UNUSED(data); + + if (git__suffixcmp(filename, ".git") == 0) + return 0; + + if (git_path_isdir(filename)) + cl_git_pass(git_futils_rmdir_r(filename, 1)); + else + cl_git_pass(p_unlink(git_buf_cstr(file))); + + return 0; +} + +/* this test is equivalent to t18-status.c:statuscb2 */ +void test_status_worktree__purged_worktree(void) +{ + struct status_entry_counts counts; + git_repository *repo = cl_git_sandbox_init("status"); + git_buf workdir = GIT_BUF_INIT; + + /* first purge the contents of the worktree */ + cl_git_pass(git_buf_sets(&workdir, git_repository_workdir(repo))); + cl_git_pass(git_path_direach(&workdir, remove_file_cb, NULL)); + + /* now get status */ + memset(&counts, 0x0, sizeof(struct status_entry_counts)); + counts.expected_entry_count = entry_count2; + counts.expected_paths = entry_paths2; + counts.expected_statuses = entry_statuses2; + + cl_git_pass( + git_status_foreach(repo, cb_status__normal, &counts) + ); + + cl_assert(counts.entry_count == counts.expected_entry_count); + cl_assert(counts.wrong_status_flags_count == 0); + cl_assert(counts.wrong_sorted_path == 0); +} + +/* this test is equivalent to t18-status.c:statuscb3 */ +void test_status_worktree__swap_subdir_and_file(void) +{ + struct status_entry_counts counts; + git_repository *repo = cl_git_sandbox_init("status"); + + /* first alter the contents of the worktree */ + cl_git_pass(p_rename("status/current_file", "status/swap")); + cl_git_pass(p_rename("status/subdir", "status/current_file")); + cl_git_pass(p_rename("status/swap", "status/subdir")); + + cl_git_mkfile("status/.HEADER", "dummy"); + cl_git_mkfile("status/42-is-not-prime.sigh", "dummy"); + cl_git_mkfile("status/README.md", "dummy"); + + /* now get status */ + memset(&counts, 0x0, sizeof(struct status_entry_counts)); + counts.expected_entry_count = entry_count3; + counts.expected_paths = entry_paths3; + counts.expected_statuses = entry_statuses3; + + cl_git_pass( + git_status_foreach(repo, cb_status__normal, &counts) + ); + + cl_assert(counts.entry_count == counts.expected_entry_count); + cl_assert(counts.wrong_status_flags_count == 0); + cl_assert(counts.wrong_sorted_path == 0); + +} + +/* this test is equivalent to t18-status.c:singlestatus0 */ void test_status_worktree__single_file(void) { int i; @@ -110,6 +189,19 @@ void test_status_worktree__single_file(void) } } +/* this test is equivalent to t18-status.c:singlestatus1 */ +void test_status_worktree__single_nonexistent_file(void) +{ + int error; + unsigned int status_flags; + git_repository *repo = cl_git_sandbox_init("status"); + + error = git_status_file(&status_flags, repo, "nonexistent"); + cl_git_fail(error); + cl_assert(error == GIT_ENOTFOUND); +} + + void test_status_worktree__ignores(void) { int i, ignored; diff --git a/tests/t18-status.c b/tests/t18-status.c index bfd6906c1..8abff9872 100644 --- a/tests/t18-status.c +++ b/tests/t18-status.c @@ -261,9 +261,7 @@ static const char *entry_paths3[] = { "42-is-not-prime.sigh", "README.md", "current_file", - "current_file/current_file", - "current_file/modified_file", - "current_file/new_file", + "current_file/", "file_deleted", "ignored_file", "modified_file", @@ -288,8 +286,6 @@ static const unsigned int entry_statuses3[] = { GIT_STATUS_WT_NEW, GIT_STATUS_WT_DELETED, GIT_STATUS_WT_NEW, - GIT_STATUS_WT_NEW, - GIT_STATUS_WT_NEW, GIT_STATUS_WT_DELETED, GIT_STATUS_IGNORED, GIT_STATUS_WT_MODIFIED, @@ -308,7 +304,7 @@ static const unsigned int entry_statuses3[] = { GIT_STATUS_WT_DELETED, }; -#define ENTRY_COUNT3 23 +#define ENTRY_COUNT3 21 BEGIN_TEST(statuscb3, "test retrieving status for a worktree where a file and a subdir have been renamed and some files have been added") git_repository *repo; From 98c4613e2d79f73d5168582c23e87faebc69787b Mon Sep 17 00:00:00 2001 From: Russell Belfer Date: Thu, 22 Mar 2012 13:10:23 -0700 Subject: [PATCH 05/16] Migrate remaining status tests to Clar This finishes up the migration of remaining tests from tests/t18-status.c over the tests-clar/status/worktree.c. --- tests-clar/status/worktree.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/tests-clar/status/worktree.c b/tests-clar/status/worktree.c index 9ddb7d1bc..b9000bb14 100644 --- a/tests-clar/status/worktree.c +++ b/tests-clar/status/worktree.c @@ -201,6 +201,41 @@ void test_status_worktree__single_nonexistent_file(void) cl_assert(error == GIT_ENOTFOUND); } +/* this test is equivalent to t18-status.c:singlestatus2 */ +void test_status_worktree__single_nonexistent_file_empty_repo(void) +{ + int error; + unsigned int status_flags; + git_repository *repo = cl_git_sandbox_init("empty_standard_repo"); + + error = git_status_file(&status_flags, repo, "nonexistent"); + cl_git_fail(error); + cl_assert(error == GIT_ENOTFOUND); +} + +/* this test is equivalent to t18-status.c:singlestatus3 */ +void test_status_worktree__single_file_empty_repo(void) +{ + unsigned int status_flags; + git_repository *repo = cl_git_sandbox_init("empty_standard_repo"); + + cl_git_mkfile("empty_standard_repo/new_file", "new_file\n"); + + cl_git_pass(git_status_file(&status_flags, repo, "new_file")); + cl_assert(status_flags == GIT_STATUS_WT_NEW); +} + +/* this test is equivalent to t18-status.c:singlestatus4 */ +void test_status_worktree__single_folder(void) +{ + int error; + unsigned int status_flags; + git_repository *repo = cl_git_sandbox_init("status"); + + error = git_status_file(&status_flags, repo, "subdir"); + cl_git_fail(error); +} + void test_status_worktree__ignores(void) { From 4b136a94d948e62634633092c9d1052c4b074e6c Mon Sep 17 00:00:00 2001 From: Russell Belfer Date: Fri, 23 Mar 2012 09:26:09 -0700 Subject: [PATCH 06/16] Fix crash in new status and add recurse option This fixes the bug that @nulltoken found (thank you!) where if there were untracked directories alphabetically after the last tracked item, the diff implementation would deref a NULL pointer. The fix involved the code which decides if it is necessary to recurse into a directory in the working dir, so it was easy to add a new option `GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS` to control if the contents of untracked directories should be included in status. --- include/git2/diff.h | 3 +- include/git2/status.h | 20 ++++++++---- src/diff.c | 7 +++- src/status.c | 4 +++ tests-clar/status/status_data.h | 57 +++++++++++++++++++++++++++++++++ tests-clar/status/worktree.c | 35 ++++++++++++++++++++ 6 files changed, 118 insertions(+), 8 deletions(-) diff --git a/include/git2/diff.h b/include/git2/diff.h index cb3ef4e1b..0c9f620c1 100644 --- a/include/git2/diff.h +++ b/include/git2/diff.h @@ -40,7 +40,8 @@ enum { GIT_DIFF_PATIENCE = (1 << 6), GIT_DIFF_INCLUDE_IGNORED = (1 << 7), GIT_DIFF_INCLUDE_UNTRACKED = (1 << 8), - GIT_DIFF_INCLUDE_UNMODIFIED = (1 << 9) + GIT_DIFF_INCLUDE_UNMODIFIED = (1 << 9), + GIT_DIFF_RECURSE_UNTRACKED_DIRS = (1 << 10), }; /** diff --git a/include/git2/status.h b/include/git2/status.h index a24d39fa7..f5fc95f0a 100644 --- a/include/git2/status.h +++ b/include/git2/status.h @@ -87,19 +87,27 @@ typedef enum { * should be made even on unmodified files. * - GIT_STATUS_OPT_EXCLUDE_SUBMODULES indicates that directories * which appear to be submodules should just be skipped over. + * - GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS indicates that the + * contents of untracked directories should be included in the + * status. Normally if an entire directory is new, then just + * the top-level directory will be included (with a trailing + * slash on the entry name). Given this flag, the directory + * itself will not be included, but all the files in it will. */ -#define GIT_STATUS_OPT_INCLUDE_UNTRACKED (1 << 0) -#define GIT_STATUS_OPT_INCLUDE_IGNORED (1 << 1) -#define GIT_STATUS_OPT_INCLUDE_UNMODIFIED (1 << 2) -#define GIT_STATUS_OPT_EXCLUDE_SUBMODULES (1 << 3) +#define GIT_STATUS_OPT_INCLUDE_UNTRACKED (1 << 0) +#define GIT_STATUS_OPT_INCLUDE_IGNORED (1 << 1) +#define GIT_STATUS_OPT_INCLUDE_UNMODIFIED (1 << 2) +#define GIT_STATUS_OPT_EXCLUDE_SUBMODULES (1 << 3) +#define GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS (1 << 4) /** - * Options to control which callbacks will be made by - * `git_status_foreach_ext()` + * Options to control how callbacks will be made by + * `git_status_foreach_ext()`. */ typedef struct { git_status_show_t show; unsigned int flags; + git_strarray pathspec; } git_status_options; /** diff --git a/src/diff.c b/src/diff.c index 3f8041af2..d5a841c3b 100644 --- a/src/diff.c +++ b/src/diff.c @@ -439,7 +439,12 @@ static int diff_from_iterators( is_ignored = git_iterator_current_is_ignored(new); if (S_ISDIR(nitem->mode)) { - if (git__prefixcmp(oitem->path, nitem->path) == 0) { + /* recurse into directory if explicitly requested or + * if there are tracked items inside the directory + */ + if ((diff->opts.flags & GIT_DIFF_RECURSE_UNTRACKED_DIRS) || + (oitem && git__prefixcmp(oitem->path, nitem->path) == 0)) + { if (is_ignored) ignore_prefix = nitem->path; if (git_iterator_advance_into_directory(new, &nitem) < 0) diff --git a/src/status.c b/src/status.c index 0c7a62254..a0716e949 100644 --- a/src/status.c +++ b/src/status.c @@ -137,12 +137,16 @@ int git_status_foreach_ext( } memset(&diffopt, 0, sizeof(diffopt)); + memcpy(&diffopt.pathspec, &opts->pathspec, sizeof(diffopt.pathspec)); + if ((opts->flags & GIT_STATUS_OPT_INCLUDE_UNTRACKED) != 0) diffopt.flags = diffopt.flags | GIT_DIFF_INCLUDE_UNTRACKED; if ((opts->flags & GIT_STATUS_OPT_INCLUDE_IGNORED) != 0) diffopt.flags = diffopt.flags | GIT_DIFF_INCLUDE_IGNORED; if ((opts->flags & GIT_STATUS_OPT_INCLUDE_UNMODIFIED) != 0) diffopt.flags = diffopt.flags | GIT_DIFF_INCLUDE_UNMODIFIED; + if ((opts->flags & GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS) != 0) + diffopt.flags = diffopt.flags | GIT_DIFF_RECURSE_UNTRACKED_DIRS; /* TODO: support EXCLUDE_SUBMODULES flag */ if (show != GIT_STATUS_SHOW_WORKDIR_ONLY && diff --git a/tests-clar/status/status_data.h b/tests-clar/status/status_data.h index 395776845..e60b67cb3 100644 --- a/tests-clar/status/status_data.h +++ b/tests-clar/status/status_data.h @@ -143,3 +143,60 @@ static const unsigned int entry_statuses3[] = { }; static const size_t entry_count3 = 21; + + +/* entries for a copy of tests/resources/status with some mods + * and different options to the status call + */ + +static const char *entry_paths4[] = { + ".new_file", + "current_file", + "current_file/current_file", + "current_file/modified_file", + "current_file/new_file", + "file_deleted", + "modified_file", + "new_file", + "staged_changes", + "staged_changes_file_deleted", + "staged_changes_modified_file", + "staged_delete_file_deleted", + "staged_delete_modified_file", + "staged_new_file", + "staged_new_file_deleted_file", + "staged_new_file_modified_file", + "subdir", + "subdir/current_file", + "subdir/deleted_file", + "subdir/modified_file", + "zzz_new_dir/new_file", + "zzz_new_file" +}; + +static const unsigned int entry_statuses4[] = { + GIT_STATUS_WT_NEW, + GIT_STATUS_WT_DELETED, + GIT_STATUS_WT_NEW, + GIT_STATUS_WT_NEW, + GIT_STATUS_WT_NEW, + GIT_STATUS_WT_DELETED, + GIT_STATUS_WT_MODIFIED, + GIT_STATUS_WT_NEW, + GIT_STATUS_INDEX_MODIFIED, + GIT_STATUS_WT_DELETED | GIT_STATUS_INDEX_MODIFIED, + GIT_STATUS_WT_MODIFIED | GIT_STATUS_INDEX_MODIFIED, + GIT_STATUS_INDEX_DELETED, + GIT_STATUS_WT_NEW | GIT_STATUS_INDEX_DELETED, + GIT_STATUS_INDEX_NEW, + GIT_STATUS_WT_DELETED | GIT_STATUS_INDEX_NEW, + GIT_STATUS_WT_MODIFIED | GIT_STATUS_INDEX_NEW, + GIT_STATUS_WT_NEW, + GIT_STATUS_WT_DELETED, + GIT_STATUS_WT_DELETED, + GIT_STATUS_WT_DELETED, + GIT_STATUS_WT_NEW, + GIT_STATUS_WT_NEW, +}; + +static const size_t entry_count4 = 22; diff --git a/tests-clar/status/worktree.c b/tests-clar/status/worktree.c index b9000bb14..dbc2feebd 100644 --- a/tests-clar/status/worktree.c +++ b/tests-clar/status/worktree.c @@ -174,6 +174,41 @@ void test_status_worktree__swap_subdir_and_file(void) } +void test_status_worktree__swap_subdir_with_recurse_and_pathspec(void) +{ + struct status_entry_counts counts; + git_repository *repo = cl_git_sandbox_init("status"); + git_status_options opts; + + /* first alter the contents of the worktree */ + cl_git_pass(p_rename("status/current_file", "status/swap")); + cl_git_pass(p_rename("status/subdir", "status/current_file")); + cl_git_pass(p_rename("status/swap", "status/subdir")); + cl_git_mkfile("status/.new_file", "dummy"); + cl_git_pass(git_futils_mkdir_r("status/zzz_new_dir", NULL, 0777)); + cl_git_mkfile("status/zzz_new_dir/new_file", "dummy"); + cl_git_mkfile("status/zzz_new_file", "dummy"); + + /* now get status */ + memset(&counts, 0x0, sizeof(struct status_entry_counts)); + counts.expected_entry_count = entry_count4; + counts.expected_paths = entry_paths4; + counts.expected_statuses = entry_statuses4; + + memset(&opts, 0, sizeof(opts)); + opts.flags = GIT_STATUS_OPT_INCLUDE_UNTRACKED | + GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS; + /* TODO: set pathspec to "current_file" eventually */ + + cl_git_pass( + git_status_foreach_ext(repo, &opts, cb_status__normal, &counts) + ); + + cl_assert(counts.entry_count == counts.expected_entry_count); + cl_assert(counts.wrong_status_flags_count == 0); + cl_assert(counts.wrong_sorted_path == 0); +} + /* this test is equivalent to t18-status.c:singlestatus0 */ void test_status_worktree__single_file(void) { From c8838ee92d85b3f027f8cabd87b98b682778cdbf Mon Sep 17 00:00:00 2001 From: Russell Belfer Date: Fri, 23 Mar 2012 11:03:01 -0700 Subject: [PATCH 07/16] Restore default status recursion behavior This gives `git_status_foreach()` back its old behavior of emulating the "--untracked=all" behavior of git. You can get any of the various --untracked options by passing flags to `git_status_foreach_ext()` but the basic version will keep the behavior it has always had. --- src/status.c | 3 ++- tests-clar/status/worktree.c | 9 +++++++-- tests/t18-status.c | 8 ++++++-- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/status.c b/src/status.c index a0716e949..bec75294f 100644 --- a/src/status.c +++ b/src/status.c @@ -192,7 +192,8 @@ int git_status_foreach( opts.show = GIT_STATUS_SHOW_INDEX_AND_WORKDIR; opts.flags = GIT_STATUS_OPT_INCLUDE_IGNORED | - GIT_STATUS_OPT_INCLUDE_UNTRACKED; + GIT_STATUS_OPT_INCLUDE_UNTRACKED | + GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS; return git_status_foreach_ext(repo, &opts, callback, payload); } diff --git a/tests-clar/status/worktree.c b/tests-clar/status/worktree.c index dbc2feebd..7a0494ec9 100644 --- a/tests-clar/status/worktree.c +++ b/tests-clar/status/worktree.c @@ -143,11 +143,12 @@ void test_status_worktree__purged_worktree(void) cl_assert(counts.wrong_sorted_path == 0); } -/* this test is equivalent to t18-status.c:statuscb3 */ +/* this test is similar to t18-status.c:statuscb3 */ void test_status_worktree__swap_subdir_and_file(void) { struct status_entry_counts counts; git_repository *repo = cl_git_sandbox_init("status"); + git_status_options opts; /* first alter the contents of the worktree */ cl_git_pass(p_rename("status/current_file", "status/swap")); @@ -164,8 +165,12 @@ void test_status_worktree__swap_subdir_and_file(void) counts.expected_paths = entry_paths3; counts.expected_statuses = entry_statuses3; + memset(&opts, 0, sizeof(opts)); + opts.flags = GIT_STATUS_OPT_INCLUDE_UNTRACKED | + GIT_STATUS_OPT_INCLUDE_IGNORED; + cl_git_pass( - git_status_foreach(repo, cb_status__normal, &counts) + git_status_foreach_ext(repo, &opts, cb_status__normal, &counts) ); cl_assert(counts.entry_count == counts.expected_entry_count); diff --git a/tests/t18-status.c b/tests/t18-status.c index 8abff9872..bfd6906c1 100644 --- a/tests/t18-status.c +++ b/tests/t18-status.c @@ -261,7 +261,9 @@ static const char *entry_paths3[] = { "42-is-not-prime.sigh", "README.md", "current_file", - "current_file/", + "current_file/current_file", + "current_file/modified_file", + "current_file/new_file", "file_deleted", "ignored_file", "modified_file", @@ -286,6 +288,8 @@ static const unsigned int entry_statuses3[] = { GIT_STATUS_WT_NEW, GIT_STATUS_WT_DELETED, GIT_STATUS_WT_NEW, + GIT_STATUS_WT_NEW, + GIT_STATUS_WT_NEW, GIT_STATUS_WT_DELETED, GIT_STATUS_IGNORED, GIT_STATUS_WT_MODIFIED, @@ -304,7 +308,7 @@ static const unsigned int entry_statuses3[] = { GIT_STATUS_WT_DELETED, }; -#define ENTRY_COUNT3 21 +#define ENTRY_COUNT3 23 BEGIN_TEST(statuscb3, "test retrieving status for a worktree where a file and a subdir have been renamed and some files have been added") git_repository *repo; From 875bfc5ffcdd21fca616d4f88444d4dcf6fd69ac Mon Sep 17 00:00:00 2001 From: Russell Belfer Date: Sun, 25 Mar 2012 21:26:48 -0700 Subject: [PATCH 08/16] Fix error in tree iterator when popping up trees There was an error in the tree iterator where it would delete two tree levels instead of just one when popping up a tree level. Unfortunately the test data for the tree iterator did not have any deep trees with subtrees in the middle of the tree items, so this problem went unnoticed. This contains the 1-line fix plus new test data and tests that reveal the issue. --- src/iterator.c | 1 - tests-clar/diff/iterator.c | 48 +++++++++++++++++- tests/resources/attr/.gitted/index | Bin 1376 -> 1856 bytes tests/resources/attr/.gitted/logs/HEAD | Bin 1020 -> 1368 bytes .../attr/.gitted/logs/refs/heads/master | Bin 1020 -> 1368 bytes .../21/7878ab49e1314388ea2e32dc6fdb58a1b969e0 | Bin 0 -> 167 bytes .../24/fa9a9fc4e202313e24b648087495441dab432b | Bin 0 -> 180 bytes .../45/5a314fa848d52ae1f11d254da4f60858fc97f4 | Bin 0 -> 446 bytes .../45/b983be36b73c0788dc9cbcb76cbb80fc7bb057 | Bin 0 -> 18 bytes .../4e/49ba8c5b6c32ff28cd9dcb60be34df50fcc485 | Bin 0 -> 81 bytes .../93/61f40bb97239cf55811892e14de2e344168ba1 | Bin 0 -> 45 bytes .../9e/5bdc47d6a80f2be0ea3049ad74231b94609242 | Bin 0 -> 20 bytes .../ce/39a97a7fb1fa90bcf5e711249c1e507476ae0e | Bin 0 -> 446 bytes .../ec/b97df2a174987475ac816e3847fc8e9f6c596b | Bin 0 -> 171 bytes .../resources/attr/.gitted/refs/heads/master | Bin 41 -> 41 bytes 15 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 tests/resources/attr/.gitted/objects/21/7878ab49e1314388ea2e32dc6fdb58a1b969e0 create mode 100644 tests/resources/attr/.gitted/objects/24/fa9a9fc4e202313e24b648087495441dab432b create mode 100644 tests/resources/attr/.gitted/objects/45/5a314fa848d52ae1f11d254da4f60858fc97f4 create mode 100644 tests/resources/attr/.gitted/objects/45/b983be36b73c0788dc9cbcb76cbb80fc7bb057 create mode 100644 tests/resources/attr/.gitted/objects/4e/49ba8c5b6c32ff28cd9dcb60be34df50fcc485 create mode 100644 tests/resources/attr/.gitted/objects/93/61f40bb97239cf55811892e14de2e344168ba1 create mode 100644 tests/resources/attr/.gitted/objects/9e/5bdc47d6a80f2be0ea3049ad74231b94609242 create mode 100644 tests/resources/attr/.gitted/objects/ce/39a97a7fb1fa90bcf5e711249c1e507476ae0e create mode 100644 tests/resources/attr/.gitted/objects/ec/b97df2a174987475ac816e3847fc8e9f6c596b diff --git a/src/iterator.c b/src/iterator.c index 001bee7b0..aa73d3182 100644 --- a/src/iterator.c +++ b/src/iterator.c @@ -121,7 +121,6 @@ static int tree_iterator__advance( break; tree_iterator__pop_frame(ti); - git_buf_rtruncate_at_char(&ti->path, '/'); } if (te && entry_is_tree(te)) diff --git a/tests-clar/diff/iterator.c b/tests-clar/diff/iterator.c index 3953fd83f..60f416fad 100644 --- a/tests-clar/diff/iterator.c +++ b/tests-clar/diff/iterator.c @@ -139,6 +139,40 @@ void test_diff_iterator__tree_3(void) tree_iterator_test("status", "0017bd4ab1e", 8, expected_tree_3); } +/* $ git ls-tree -r --name-only 24fa9a9fc4e202313e24b648087495441dab432b */ +const char *expected_tree_4[] = { + "attr0", + "attr1", + "attr2", + "attr3", + "binfile", + "gitattributes", + "macro_bad", + "macro_test", + "root_test1", + "root_test2", + "root_test3", + "root_test4.txt", + "sub/abc", + "sub/file", + "sub/sub/file", + "sub/sub/subsub.txt", + "sub/subdir_test1", + "sub/subdir_test2.txt", + "subdir/.gitattributes", + "subdir/abc", + "subdir/subdir_test1", + "subdir/subdir_test2.txt", + "subdir2/subdir2_test1", + NULL +}; + +void test_diff_iterator__tree_4(void) +{ + tree_iterator_test( + "attr", "24fa9a9fc4e202313e24b648087495441dab432b", + 23, expected_tree_4); +} /* -- INDEX ITERATOR TESTS -- */ @@ -188,6 +222,12 @@ static const char *expected_index_0[] = { "root_test2", "root_test3", "root_test4.txt", + "sub/abc", + "sub/file", + "sub/sub/file", + "sub/sub/subsub.txt", + "sub/subdir_test1", + "sub/subdir_test2.txt", "subdir/.gitattributes", "subdir/abc", "subdir/subdir_test1", @@ -208,6 +248,12 @@ static const char *expected_index_oids_0[] = { "4d713dc48e6b1bd75b0d61ad078ba9ca3a56745d", "108bb4e7fd7b16490dc33ff7d972151e73d7166e", "fe773770c5a6cc7185580c9204b1ff18a33ff3fc", + "3e42ffc54a663f9401cc25843d6c0e71a33e4249", + "45b983be36b73c0788dc9cbcb76cbb80fc7bb057", + "45b983be36b73c0788dc9cbcb76cbb80fc7bb057", + "9e5bdc47d6a80f2be0ea3049ad74231b94609242", + "e563cf4758f0d646f1b14b76016aa17fa9e549a4", + "fb5067b1aef3ac1ada4b379dbcb7d17255df7d78", "99eae476896f4907224978b88e5ecaa6c5bb67a9", "3e42ffc54a663f9401cc25843d6c0e71a33e4249", "e563cf4758f0d646f1b14b76016aa17fa9e549a4", @@ -217,7 +263,7 @@ static const char *expected_index_oids_0[] = { void test_diff_iterator__index_0(void) { - index_iterator_test("attr", 17, expected_index_0, expected_index_oids_0); + index_iterator_test("attr", 23, expected_index_0, expected_index_oids_0); } static const char *expected_index_1[] = { diff --git a/tests/resources/attr/.gitted/index b/tests/resources/attr/.gitted/index index 19fa99d5b20eb89465b2e1561d69b4ec0ae0d252..1d60eab8fae80006d0f7b493ab1c815fadcd417d 100644 GIT binary patch delta 719 zcmaFBb%0OB#WTp6fq{Vuh{gT0r>FsG1{lr9z`()~?5;df#ZVl(l*+^$TvDnNx8Rae zoA?Kpl=@^B#zq{L=}o@Fh)bXTWECb$9Qq6CT)q3{g(j@)Fq-3N3MN?Bc-GrR6=-eAO2wg~<}A zPZ`s?=;p~KKslY3^I$nB4fdP3#;VCjfO3Y5e}LtnG+0j3e)41yW?cH#Oip38n0$p* geDh@1nT#S9bp;Om&7qnSi{85)VNKtY@;dWB0EbsdTL1t6 diff --git a/tests/resources/attr/.gitted/logs/HEAD b/tests/resources/attr/.gitted/logs/HEAD index 68fcff2c5c2f92240447401ec7775ca352d6a040..73f00f3450c6ca3392251ab847cee623ed9dfd5a 100644 GIT binary patch delta 251 zcma*hu?@m75QX6)1tL>ig`hy#=Syr;u>vF5@fleni4-R_GawdW9EM3jC=m@$`rD^( zUcJiaTs*kgZBc5Yjq_w#DoM&1cE}1tQ^(*dWpO`mZVI&`DZJWj; zxDYr%Ojpj3I>?hhES3L015$L>+1L=HKqVC;`I?L{nruZR!@^VO7sBa7sFwW_Qg?y2 TANUIbu^(U@m?4jDoO1aF^lVAm delta 7 Ocmcb?^@n}KA7%g#J_D5i diff --git a/tests/resources/attr/.gitted/logs/refs/heads/master b/tests/resources/attr/.gitted/logs/refs/heads/master index 68fcff2c5c2f92240447401ec7775ca352d6a040..73f00f3450c6ca3392251ab847cee623ed9dfd5a 100644 GIT binary patch delta 251 zcma*hu?@m75QX6)1tL>ig`hy#=Syr;u>vF5@fleni4-R_GawdW9EM3jC=m@$`rD^( zUcJiaTs*kgZBc5Yjq_w#DoM&1cE}1tQ^(*dWpO`mZVI&`DZJWj; zxDYr%Ojpj3I>?hhES3L015$L>+1L=HKqVC;`I?L{nruZR!@^VO7sBa7sFwW_Qg?y2 TANUIbu^(U@m?4jDoO1aF^lVAm delta 7 Ocmcb?^@n}KA7%g#J_D5i diff --git a/tests/resources/attr/.gitted/objects/21/7878ab49e1314388ea2e32dc6fdb58a1b969e0 b/tests/resources/attr/.gitted/objects/21/7878ab49e1314388ea2e32dc6fdb58a1b969e0 new file mode 100644 index 0000000000000000000000000000000000000000..b537899f2867f88a6ad4664e9e7e0928351aa786 GIT binary patch literal 167 zcmV;Y09gNc0iBLf3c@fDME%Yw_5$i|lh_1A#3OivZFYl&)=HAz-+(vpV|XyUfl1rC z&J6||53Q(z^PVla%)tfm11n`B8N3sA`GUcRoZ^_B`Eb#91CC=#NHKU4htwq!jFhHG zOg=OP%&%omn%OS0EgRb~JH literal 0 HcmV?d00001 diff --git a/tests/resources/attr/.gitted/objects/24/fa9a9fc4e202313e24b648087495441dab432b b/tests/resources/attr/.gitted/objects/24/fa9a9fc4e202313e24b648087495441dab432b new file mode 100644 index 0000000000000000000000000000000000000000..e7099bbaa476b5da9cd9a8dbad59e73d705a83a6 GIT binary patch literal 180 zcmV;l089UP0iBQAX#_D8L-Xw_ZUb5T7|*p~2_YqH2iG2XGcb=}d-{*rbP)Xrgbqmg z-1oJU_59W=Kp8GdWZ{xbk*HHH9&C)AVm9!aC!Pfw>PIS$0U8b*Bux>8He)a}FfcPQQAjK)DKcOP&F^Wd?(mk!9N4*WOR^9COxTOtMRg|A! z5)V>j$lxj>Rk^&v>FBIvr76rxTz=lq{cO=y88P@4+8*i4mcAa%o4A&}d*vysu##AG zRmKbg-CLgjtrqj-J#7E|W|62|@pZ90bX6vLB^4zM|H{n^jxIY>*c!nziDlz|iN*Gx z|Cks6fkJU<62s)gFWfteEYF8FN=$m_`{=QYSocD>Y)WPk!~8AWX{C3cafeM`e{S8x oZMhSAm~J8~Fk;Zuyr-e_a^}mx=5@D@xyl;1gwF8>0Ji4Z{~yNdr~m)} literal 0 HcmV?d00001 diff --git a/tests/resources/attr/.gitted/objects/45/b983be36b73c0788dc9cbcb76cbb80fc7bb057 b/tests/resources/attr/.gitted/objects/45/b983be36b73c0788dc9cbcb76cbb80fc7bb057 new file mode 100644 index 0000000000000000000000000000000000000000..7ca4ceed50400af7e36b25ff200a7be95f0bc61f GIT binary patch literal 18 acmbAU@$Z=Ff%bxNXyJgWpLfuyw7aA4SUC(IeWI}>~8o|y&)Vb nUtF35M0zC^B@FYT@3>!E!LR+`m4WBl5@qQr36q=vdCDH$Y{(@5 literal 0 HcmV?d00001 diff --git a/tests/resources/attr/.gitted/objects/93/61f40bb97239cf55811892e14de2e344168ba1 b/tests/resources/attr/.gitted/objects/93/61f40bb97239cf55811892e14de2e344168ba1 new file mode 100644 index 0000000000000000000000000000000000000000..4b57836cd2415320e671db485adc3710da4c6398 GIT binary patch literal 45 zcmV+|0Mh?>0V^p=O;s>9U@$QN0)^tzBnCgvT|Ln`M*lU=&OM#5&*Xl8He)a}FfcPQQAjK)DKcOP&F^Wd?(mk!9N4*WOR^9COxTOtMRg|A! z5)V>j$lxj>Rk^&v>FBIvr76rxTz=lq{cO=y88P@4+8*i4mcAa%o4A&}d*vysu##AG zRmKbg-CLgjtrqj-J#7E|W|62|@pZ90bX6vLB^4zM|H{n^jxIY>*c!nziDlz|iN*Gx z|Cks6fkJU<62qIFwVxK2%qS^c)0k)B{-oJxWlHeKeuk; ow%iFlOgE7g7%^yS-qX-|IrC*;^SWEdTxE@0Lg#n`01lbk{pJ7H)k+3FfcPQQAkWmX0UVmf7C0@ehT9m)fU?vzQVi6uy@>O5_b5~Dvj?sUOvvW@;>@&F^ z@aIS?R5wsMC9^2LB(=E2kl|_adH0A9*W5mC^e$t}T3EmGspk?*bw+w66(tP61JXCH Z`@BZ#mbdxbJ=-r9h2F2N0071zOs-2+R7n5; literal 0 HcmV?d00001 diff --git a/tests/resources/attr/.gitted/refs/heads/master b/tests/resources/attr/.gitted/refs/heads/master index 7f8bbe3e7794b461fa6a55d881f975dd34acd0cf..8768776b33adada802c16b3120cd2aa263905460 100644 GIT binary patch literal 41 ucmV~$K>+|D2m`>sX<$r+IH1@+f_LD{$asehfvGiEi!Qzylhm6 Date: Sun, 25 Mar 2012 23:04:26 -0700 Subject: [PATCH 09/16] Eliminate hairy COITERATE macro I decided that the COITERATE macro was, in the end causing more confusion that it would save and decided just to write out the loops that I needed for parallel diff list iteration. It is not that much code and this just feels less obfuscated. --- src/diff.c | 36 ++++++++++++++++++++++++++---------- src/diff.h | 14 -------------- src/status.c | 41 +++++++++++++++++++++++++++-------------- 3 files changed, 53 insertions(+), 38 deletions(-) diff --git a/src/diff.c b/src/diff.c index d5a841c3b..e1016db05 100644 --- a/src/diff.c +++ b/src/diff.c @@ -565,23 +565,39 @@ int git_diff_merge( { int error = 0; git_vector onto_new; - git_diff_delta *delta, *o; - const git_diff_delta *f; - unsigned int i; + git_diff_delta *delta; + unsigned int i, j; + + assert(onto && from); + + if (!from->deltas.length) + return 0; if (git_vector_init(&onto_new, onto->deltas.length, diff_delta__cmp) < 0) return -1; - GIT_DIFF_COITERATE( - onto, from, o, f, - delta = diff_delta__dup(o), - delta = diff_delta__dup(f), - delta = diff_delta__merge_like_cgit(o, f), + for (i = 0, j = 0; i < onto->deltas.length || j < from->deltas.length; ) { + git_diff_delta *o = GIT_VECTOR_GET(&onto->deltas, i); + const git_diff_delta *f = GIT_VECTOR_GET(&from->deltas, j); + int cmp = !f ? -1 : !o ? 1 : strcmp(o->old.path, f->old.path); + + if (cmp < 0) { + delta = diff_delta__dup(o); + i++; + } else if (cmp > 0) { + delta = diff_delta__dup(f); + j++; + } else { + delta = diff_delta__merge_like_cgit(o, f); + i++; + j++; + } + if ((error = !delta ? -1 : git_vector_insert(&onto_new, delta)) < 0) break; - ); + } - if (error == 0) { + if (!error) { git_vector_swap(&onto->deltas, &onto_new); onto->new_src = from->new_src; } diff --git a/src/diff.h b/src/diff.h index 058a1f5e8..7d69199ea 100644 --- a/src/diff.h +++ b/src/diff.h @@ -21,19 +21,5 @@ struct git_diff_list { git_iterator_type_t new_src; }; -/* macro lets you iterate over two diff lists together */ - -#define GIT_DIFF_COITERATE(A,B,AD,BD,LEFT,RIGHT,BOTH,AFTER) do { \ - unsigned int _i = 0, _j = 0; int _cmp; \ - while (((A) && _i < (A)->deltas.length) || ((B) && _j < (B)->deltas.length)) { \ - (AD) = (A) ? GIT_VECTOR_GET(&(A)->deltas,_i) : NULL; \ - (BD) = (B) ? GIT_VECTOR_GET(&(B)->deltas,_j) : NULL; \ - _cmp = !(BD) ? -1 : !(AD) ? 1 : strcmp((AD)->old.path,(BD)->old.path); \ - if (_cmp < 0) { LEFT; _i++; } \ - else if (_cmp > 0) { RIGHT; _j++; } \ - else { BOTH; _i++; _j++; } \ - AFTER; \ - } } while (0) - #endif diff --git a/src/status.c b/src/status.c index bec75294f..88dd5e03b 100644 --- a/src/status.c +++ b/src/status.c @@ -120,13 +120,14 @@ int git_status_foreach_ext( int (*cb)(const char *, unsigned int, void *), void *cbdata) { - int err = 0; + int err = 0, cmp; git_diff_options diffopt; git_diff_list *idx2head = NULL, *wd2idx = NULL; git_tree *head = NULL; git_status_show_t show = opts ? opts->show : GIT_STATUS_SHOW_INDEX_AND_WORKDIR; git_diff_delta *i2h, *w2i; + unsigned int i, j, i_max, j_max; assert(show <= GIT_STATUS_SHOW_INDEX_THEN_WORKDIR); @@ -158,23 +159,35 @@ int git_status_foreach_ext( goto cleanup; if (show == GIT_STATUS_SHOW_INDEX_THEN_WORKDIR) { - git_diff_list *empty = NULL; - GIT_DIFF_COITERATE( - idx2head, empty, i2h, w2i, - err = cb(i2h->old.path, index_delta2status(i2h->status), cbdata), - /* nothing */, /* nothing */, if (err < 0) break); - + for (i = 0; !err && i < idx2head->deltas.length; i++) { + i2h = GIT_VECTOR_GET(&idx2head->deltas, i); + err = cb(i2h->old.path, index_delta2status(i2h->status), cbdata); + } git_diff_list_free(idx2head); idx2head = NULL; } - GIT_DIFF_COITERATE( - idx2head, wd2idx, i2h, w2i, - err = cb(i2h->old.path, index_delta2status(i2h->status), cbdata), - err = cb(w2i->old.path, workdir_delta2status(w2i->status), cbdata), - err = cb(i2h->old.path, index_delta2status(i2h->status) | - workdir_delta2status(w2i->status), cbdata), - if (err < 0) break); + i_max = idx2head ? idx2head->deltas.length : 0; + j_max = wd2idx ? wd2idx->deltas.length : 0; + + for (i = 0, j = 0; !err && (i < i_max || j < j_max); ) { + i2h = idx2head ? GIT_VECTOR_GET(&idx2head->deltas,i) : NULL; + w2i = wd2idx ? GIT_VECTOR_GET(&wd2idx->deltas,j) : NULL; + + cmp = !w2i ? -1 : !i2h ? 1 : strcmp(i2h->old.path, w2i->old.path); + + if (cmp < 0) { + err = cb(i2h->old.path, index_delta2status(i2h->status), cbdata); + i++; + } else if (cmp > 0) { + err = cb(w2i->old.path, workdir_delta2status(w2i->status), cbdata); + j++; + } else { + err = cb(i2h->old.path, index_delta2status(i2h->status) | + workdir_delta2status(w2i->status), cbdata); + i++; j++; + } + } cleanup: git_tree_free(head); From 277e304149011bb615ae258e25492350cbfd4d46 Mon Sep 17 00:00:00 2001 From: Russell Belfer Date: Mon, 26 Mar 2012 11:22:27 -0700 Subject: [PATCH 10/16] Fix handling of submodules in trees --- src/tree.h | 2 +- tests-clar/status/submodules.c | 12 +++++------- tests/resources/submodules/.gitted/index | Bin 408 -> 408 bytes tests/resources/submodules/.gitted/logs/HEAD | Bin 167 -> 331 bytes .../submodules/.gitted/logs/refs/heads/master | Bin 167 -> 331 bytes .../97/896810b3210244a62a82458b8e0819ecfc6850 | Bin 0 -> 169 bytes .../b6/0fd986699ba4e9e68bea07cf8e793f323ef888 | Bin 0 -> 138 bytes .../submodules/.gitted/refs/heads/master | Bin 0 -> 41 bytes 8 files changed, 6 insertions(+), 8 deletions(-) create mode 100644 tests/resources/submodules/.gitted/objects/97/896810b3210244a62a82458b8e0819ecfc6850 create mode 100644 tests/resources/submodules/.gitted/objects/b6/0fd986699ba4e9e68bea07cf8e793f323ef888 create mode 100644 tests/resources/submodules/.gitted/refs/heads/master diff --git a/src/tree.h b/src/tree.h index 0bff41312..fd00afde5 100644 --- a/src/tree.h +++ b/src/tree.h @@ -32,7 +32,7 @@ struct git_treebuilder { GIT_INLINE(unsigned int) entry_is_tree(const struct git_tree_entry *e) { - return e->attr & 040000; + return (S_ISDIR(e->attr) && !S_ISGITLINK(e->attr)); } void git_tree__free(git_tree *tree); diff --git a/tests-clar/status/submodules.c b/tests-clar/status/submodules.c index ca6c2ef30..9fd4f0d5f 100644 --- a/tests-clar/status/submodules.c +++ b/tests-clar/status/submodules.c @@ -29,7 +29,7 @@ void test_status_submodules__cleanup(void) } static int -cb_status__count(const char *p, unsigned int s, void *payload) +cb_status__submodule_count(const char *p, unsigned int s, void *payload) { volatile int *count = (int *)payload; @@ -50,10 +50,10 @@ void test_status_submodules__0(void) cl_assert(git_path_isfile("submodules/.gitmodules")); cl_git_pass( - git_status_foreach(g_repo, cb_status__count, &counts) + git_status_foreach(g_repo, cb_status__submodule_count, &counts) ); - cl_assert(counts == 7); + cl_assert(counts == 6); } static const char *expected_files[] = { @@ -62,17 +62,15 @@ static const char *expected_files[] = { "deleted", "ignored", "modified", - "testrepo", "untracked" }; static unsigned int expected_status[] = { - GIT_STATUS_INDEX_NEW | GIT_STATUS_WT_MODIFIED, + GIT_STATUS_WT_MODIFIED, GIT_STATUS_INDEX_NEW, GIT_STATUS_INDEX_DELETED, GIT_STATUS_IGNORED, GIT_STATUS_WT_MODIFIED, - GIT_STATUS_INDEX_NEW, /* submodule added in index, but not committed */ GIT_STATUS_WT_NEW }; @@ -100,5 +98,5 @@ void test_status_submodules__1(void) git_status_foreach(g_repo, cb_status__match, &index) ); - cl_assert(index == 7); + cl_assert(index == 6); } diff --git a/tests/resources/submodules/.gitted/index b/tests/resources/submodules/.gitted/index index b7400570e02979b65c61bb8099edeb7cf5fb02a2..97bf8ef515d84a4fcc16770b467f7afd6566c2b3 100644 GIT binary patch delta 82 zcmbQiJcD^cta$#j3I-tXhthlu3@i-c&(kNC9K<1YaFb$v%u0B4Hm_`0Ad| SY+NlQocO>eD0ymQ|9t=$1s44P diff --git a/tests/resources/submodules/.gitted/logs/HEAD b/tests/resources/submodules/.gitted/logs/HEAD index 193405c9f786b8aa37dec57e2df4b2a0bb6cc681..87a7bdafc28610696b807d15f38576dad610d89c 100644 GIT binary patch delta 97 zcmZ3^c$#U#@`;+78kXi3mSz@)21&+7h6Y9^CW&T7i55mCrWQ#SsRkB?mZ`~U$z~R& z1``7{w9PFH%qzE`%<&2yogVvQJszgJfw0Syjy^7R;46Snpy`ZoKr$HVVY2)Si>J zFFfcPQQP4}zEXmDJDa}bOW~eaenG|^5?_Ia*@|;@r z3CC?Ki^HMHQc`nLOHxx9IJJMzzF%^;=daQWAyJ{mce9p#kb)`!nv$88iA#-{0T3vZ sq!yPHr55BfEQ^2pdDiIk6;p);Z&&&6_}+X2|Fx~P-FVF^T_(jQ3>Y& literal 0 HcmV?d00001 From bfc9ca595aa2f189743f2a7b9812f05def78ec88 Mon Sep 17 00:00:00 2001 From: Russell Belfer Date: Wed, 28 Mar 2012 16:45:36 -0700 Subject: [PATCH 11/16] Added submodule API and use in status When processing status for a newly checked out repo, it is possible that there will be submodules that have not yet been initialized. The only way to distinguish these from untracked directories is to have some knowledge of submodules. This commit adds a new submodule API which, given a name or path, can determine if it appears to be a submodule and can give information about the submodule. --- include/git2.h | 2 +- include/git2/submodule.h | 105 +++++++++ src/config.c | 6 +- src/config.h | 2 + src/config_file.c | 3 + src/config_file.h | 31 +++ src/iterator.c | 30 ++- src/repository.c | 1 + src/repository.h | 6 + src/submodule.c | 384 +++++++++++++++++++++++++++++++++ tests-clar/status/submodules.c | 16 +- 11 files changed, 573 insertions(+), 13 deletions(-) create mode 100644 include/git2/submodule.h create mode 100644 src/config_file.h create mode 100644 src/submodule.c diff --git a/include/git2.h b/include/git2.h index 1711ff8be..7d053c4af 100644 --- a/include/git2.h +++ b/include/git2.h @@ -40,7 +40,7 @@ #include "git2/net.h" #include "git2/status.h" #include "git2/indexer.h" - +#include "git2/submodule.h" #include "git2/notes.h" #endif diff --git a/include/git2/submodule.h b/include/git2/submodule.h new file mode 100644 index 000000000..aee2260c1 --- /dev/null +++ b/include/git2/submodule.h @@ -0,0 +1,105 @@ +/* + * Copyright (C) 2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_submodule_h__ +#define INCLUDE_git_submodule_h__ + +#include "common.h" +#include "types.h" +#include "oid.h" + +/** + * @file git2/submodule.h + * @brief Git submodule management utilities + * @defgroup git_submodule Git submodule management routines + * @ingroup Git + * @{ + */ +GIT_BEGIN_DECL + +typedef enum { + GIT_SUBMODULE_UPDATE_CHECKOUT = 0, + GIT_SUBMOUDLE_UPDATE_REBASE = 1, + GIT_SUBMODULE_UPDATE_MERGE = 2 +} git_submodule_update_t; + +typedef enum { + GIT_SUBMODULE_IGNORE_ALL = 0, /* never dirty */ + GIT_SUBMODULE_IGNORE_DIRTY = 1, /* only dirty if HEAD moved */ + GIT_SUBMODULE_IGNORE_UNTRACKED = 2, /* dirty if tracked files change */ + GIT_SUBMODULE_IGNORE_NONE = 3 /* any change or untracked == dirty */ +} git_submodule_ignore_t; + +/** + * Description of submodule + * + * This record describes a submodule found in a repository. There + * should be an entry for every submodule found in the HEAD and for + * every submodule described in .gitmodules. The fields are as follows: + * + * - `name` is the name of the submodule from .gitmodules. + * - `path` is the path to the submodule from the repo working directory. + * It is almost always the same as `name`. + * - `url` is the url for the submodule. + * - `oid` is the HEAD SHA1 for the submodule. + * - `update` is a value from above - see gitmodules(5) update. + * - `ignore` is a value from above - see gitmodules(5) ignore. + * - `fetch_recurse` is 0 or 1 - see gitmodules(5) fetchRecurseSubmodules. + * - `refcount` is for internal use. + * + * If the submodule has been added to .gitmodules but not yet git added, + * then the `oid` will be zero. If the submodule has been deleted, but + * the delete has not been committed yet, then the `oid` will be set, but + * the `url` will be NULL. + */ +typedef struct { + char *name; + char *path; + char *url; + git_oid oid; /* sha1 of submodule HEAD ref or zero if not committed */ + git_submodule_update_t update; + git_submodule_ignore_t ignore; + int fetch_recurse; + int refcount; +} git_submodule; + +/** + * Iterate over all submodules of a repository. + * + * @param repo The repository + * @param callback Function to be called with the name of each submodule. + * Return a non-zero value to terminate the iteration. + * @param payload Extra data to pass to callback + * @return 0 on success, -1 on error, or non-zero return value of callback + */ +GIT_EXTERN(int) git_submodule_foreach( + git_repository *repo, + int (*callback)(const char *name, void *payload), + void *payload); + +#define GIT_SUBMODULE_HEAD "[internal]HEAD" + +/** + * Lookup submodule information by name or path. + * + * Given either the submodule name or path (they are ususally the same), + * this returns a structure describing the submodule. If the submodule + * does not exist, this will return GIT_ENOTFOUND and set the submodule + * pointer to NULL. + * + * @param submodule Pointer to submodule description object pointer.. + * @param repo The repository. + * @param name The name of the submodule. Trailing slashes will be ignored. + * @return 0 on success, GIT_ENOTFOUND if submodule does not exist, -1 on error + */ +GIT_EXTERN(int) git_submodule_lookup( + git_submodule **submodule, + git_repository *repo, + const char *name); + +/** @} */ +GIT_END_DECL +#endif diff --git a/src/config.c b/src/config.c index 77598d6a6..5ef1a24b3 100644 --- a/src/config.c +++ b/src/config.c @@ -201,7 +201,7 @@ int git_config_set_string(git_config *cfg, const char *name, const char *value) return file->set(file, name, value); } -static int parse_bool(int *out, const char *value) +int git_config_parse_bool(int *out, const char *value) { /* A missing value means true */ if (value == NULL) { @@ -301,7 +301,7 @@ int git_config_get_mapped(git_config *cfg, const char *name, git_cvar_map *maps, case GIT_CVAR_TRUE: { int bool_val; - if (parse_bool(&bool_val, value) == 0 && + if (git_config_parse_bool(&bool_val, value) == 0 && bool_val == (int)m->cvar_type) { *out = m->map_value; return 0; @@ -372,7 +372,7 @@ int git_config_get_bool(git_config *cfg, const char *name, int *out) if (ret < 0) return ret; - if (parse_bool(out, value) == 0) + if (git_config_parse_bool(out, value) == 0) return 0; if (parse_int32(out, value) == 0) { diff --git a/src/config.h b/src/config.h index 59d1d9a26..c337a7a9d 100644 --- a/src/config.h +++ b/src/config.h @@ -25,4 +25,6 @@ struct git_config { extern int git_config_find_global_r(git_buf *global_config_path); extern int git_config_find_system_r(git_buf *system_config_path); +extern int git_config_parse_bool(int *out, const char *bool_string); + #endif diff --git a/src/config_file.c b/src/config_file.c index 077e2c03f..60d4c567e 100644 --- a/src/config_file.c +++ b/src/config_file.c @@ -192,6 +192,9 @@ static int file_foreach(git_config_file *backend, int (*fn)(const char *, const cvar_t *var; const char *key; + if (!b->values) + return 0; + GIT_HASHTABLE_FOREACH(b->values, key, var, do { if (fn(key, var->value, data) < 0) diff --git a/src/config_file.h b/src/config_file.h new file mode 100644 index 000000000..0080b5713 --- /dev/null +++ b/src/config_file.h @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_config_file_h__ +#define INCLUDE_config_file_h__ + +#include "git2/config.h" + +GIT_INLINE(int) git_config_file_open(git_config_file *cfg) +{ + return cfg->open(cfg); +} + +GIT_INLINE(void) git_config_file_free(git_config_file *cfg) +{ + cfg->free(cfg); +} + +GIT_INLINE(int) git_config_file_foreach( + git_config_file *cfg, + int (*fn)(const char *key, const char *value, void *data), + void *data) +{ + return cfg->foreach(cfg, fn, data); +} + +#endif + diff --git a/src/iterator.c b/src/iterator.c index aa73d3182..3a3be1755 100644 --- a/src/iterator.c +++ b/src/iterator.c @@ -9,6 +9,7 @@ #include "tree.h" #include "ignore.h" #include "buffer.h" +#include "git2/submodule.h" typedef struct tree_iterator_frame tree_iterator_frame; struct tree_iterator_frame { @@ -424,13 +425,24 @@ static int workdir_iterator__update_entry(workdir_iterator *wi) return 0; /* if error, ignore it and ignore file */ /* detect submodules */ - if (S_ISDIR(wi->entry.mode) && - git_path_contains(&wi->path, DOT_GIT) == true) - { - size_t len = strlen(wi->entry.path); - assert(wi->entry.path[len - 1] == '/'); - wi->entry.path[len - 1] = '\0'; - wi->entry.mode = S_IFGITLINK; + if (S_ISDIR(wi->entry.mode)) { + bool is_submodule = git_path_contains(&wi->path, DOT_GIT); + + /* if there is no .git, still check submodules data */ + if (!is_submodule) { + int res = git_submodule_lookup(NULL, wi->repo, wi->entry.path); + is_submodule = (res == 0); + if (res == GIT_ENOTFOUND) + giterr_clear(); + } + + /* if submodule, mark as GITLINK and remove trailing slash */ + if (is_submodule) { + size_t len = strlen(wi->entry.path); + assert(wi->entry.path[len - 1] == '/'); + wi->entry.path[len - 1] = '\0'; + wi->entry.mode = S_IFGITLINK; + } } return 0; @@ -489,7 +501,9 @@ int git_iterator_advance_into_directory( workdir_iterator *wi = (workdir_iterator *)iter; if (iter->type == GIT_ITERATOR_WORKDIR && - wi->entry.path && S_ISDIR(wi->entry.mode)) + wi->entry.path && + S_ISDIR(wi->entry.mode) && + !S_ISGITLINK(wi->entry.mode)) { if (workdir_iterator__expand_dir(wi) < 0) /* if error loading or if empty, skip the directory. */ diff --git a/src/repository.c b/src/repository.c index 45bedcbe0..4e0f9d491 100644 --- a/src/repository.c +++ b/src/repository.c @@ -64,6 +64,7 @@ void git_repository_free(git_repository *repo) git_cache_free(&repo->objects); git_repository__refcache_free(&repo->references); git_attr_cache_flush(repo); + git_submodule_config_free(repo); git__free(repo->path_repository); git__free(repo->workdir); diff --git a/src/repository.h b/src/repository.h index b5dcc1340..6586bb43e 100644 --- a/src/repository.h +++ b/src/repository.h @@ -83,6 +83,7 @@ struct git_repository { git_cache objects; git_refcache references; git_attr_cache attrcache; + git_hashtable *submodules; char *path_repository; char *workdir; @@ -120,4 +121,9 @@ int git_repository_index__weakptr(git_index **out, git_repository *repo); int git_repository__cvar(int *out, git_repository *repo, git_cvar_cached cvar); void git_repository__cvar_cache_clear(git_repository *repo); +/* + * Submodule cache + */ +extern void git_submodule_config_free(git_repository *repo); + #endif diff --git a/src/submodule.c b/src/submodule.c new file mode 100644 index 000000000..4feefa1e9 --- /dev/null +++ b/src/submodule.c @@ -0,0 +1,384 @@ +/* + * Copyright (C) 2012 the libgit2 contributors + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ + +#include "common.h" +#include "git2/config.h" +#include "git2/types.h" +#include "git2/repository.h" +#include "git2/index.h" +#include "git2/submodule.h" +#include "buffer.h" +#include "hashtable.h" +#include "vector.h" +#include "posix.h" +#include "config_file.h" +#include "config.h" +#include "repository.h" + +static const char *sm_update_values[] = { + "checkout", + "rebase", + "merge", + NULL +}; + +static const char *sm_ignore_values[] = { + "all", + "dirty", + "untracked", + "none", + NULL +}; + +static int lookup_enum(const char **values, const char *str) +{ + int i; + for (i = 0; values[i]; ++i) + if (strcasecmp(str, values[i]) == 0) + return i; + return -1; +} + +static uint32_t strhash_no_trailing_slash(const void *key, int hash_id) +{ + static uint32_t hash_seeds[GIT_HASHTABLE_HASHES] = { + 0x01010101, + 0x12345678, + 0xFEDCBA98 + }; + + size_t key_len = key ? strlen((const char *)key) : 0; + if (key_len > 0 && ((const char *)key)[key_len - 1] == '/') + key_len--; + + return git__hash(key, (int)key_len, hash_seeds[hash_id]); +} + +static int strcmp_no_trailing_slash(const void *a, const void *b) +{ + const char *astr = (const char *)a; + const char *bstr = (const char *)b; + size_t alen = a ? strlen(astr) : 0; + size_t blen = b ? strlen(bstr) : 0; + int cmp; + + if (alen > 0 && astr[alen - 1] == '/') + alen--; + if (blen > 0 && bstr[blen - 1] == '/') + blen--; + + cmp = strncmp(astr, bstr, min(alen, blen)); + if (cmp == 0) + cmp = (alen < blen) ? -1 : (alen > blen) ? 1 : 0; + + return cmp; +} + +static git_submodule *submodule_alloc(const char *name) +{ + git_submodule *sm = git__calloc(1, sizeof(git_submodule)); + if (sm == NULL) + return sm; + + sm->path = sm->name = git__strdup(name); + if (!sm->name) { + git__free(sm); + return NULL; + } + + return sm; +} + +static void submodule_release(git_submodule *sm, int decr) +{ + if (!sm) + return; + + sm->refcount -= decr; + + if (sm->refcount == 0) { + if (sm->name != sm->path) + git__free(sm->path); + git__free(sm->name); + git__free(sm->url); + git__free(sm); + } +} + +static int submodule_from_entry( + git_hashtable *smcfg, git_index_entry *entry) +{ + git_submodule *sm; + void *old_sm; + + sm = git_hashtable_lookup(smcfg, entry->path); + if (!sm) + sm = submodule_alloc(entry->path); + + git_oid_cpy(&sm->oid, &entry->oid); + + if (strcmp(sm->path, entry->path) != 0) { + if (sm->path != sm->name) { + git__free(sm->path); + sm->path = sm->name; + } + sm->path = git__strdup(entry->path); + if (!sm->path) + goto fail; + } + + if (git_hashtable_insert2(smcfg, sm->path, sm, &old_sm) < 0) + goto fail; + sm->refcount++; + + if (old_sm && ((git_submodule *)old_sm) != sm) { + /* TODO: log warning about multiple entrys for same submodule path */ + submodule_release(old_sm, 1); + } + + return 0; + +fail: + submodule_release(sm, 0); + return -1; +} + +static int submodule_from_config( + const char *key, const char *value, void *data) +{ + git_hashtable *smcfg = data; + const char *namestart; + const char *property; + git_buf name = GIT_BUF_INIT; + git_submodule *sm; + void *old_sm = NULL; + bool is_path; + + if (git__prefixcmp(key, "submodule.") != 0) + return 0; + + namestart = key + strlen("submodule."); + property = strrchr(namestart, '.'); + if (property == NULL) + return 0; + property++; + is_path = (strcmp(property, "path") == 0); + + if (git_buf_set(&name, namestart, property - namestart - 1) < 0) + return -1; + + sm = git_hashtable_lookup(smcfg, name.ptr); + if (!sm && is_path) + sm = git_hashtable_lookup(smcfg, value); + if (!sm) + sm = submodule_alloc(name.ptr); + if (!sm) + goto fail; + + if (strcmp(sm->name, name.ptr) != 0) { + assert(sm->path == sm->name); + sm->name = git_buf_detach(&name); + if (git_hashtable_insert2(smcfg, sm->name, sm, &old_sm) < 0) + goto fail; + sm->refcount++; + } + else if (is_path && strcmp(sm->path, value) != 0) { + assert(sm->path == sm->name); + if ((sm->path = git__strdup(value)) == NULL || + git_hashtable_insert2(smcfg, sm->path, sm, &old_sm) < 0) + goto fail; + sm->refcount++; + } + + if (old_sm && ((git_submodule *)old_sm) != sm) { + /* TODO: log entry about multiple submodules with same path */ + submodule_release(old_sm, 1); + } + + if (is_path) + return 0; + + /* copy other properties into submodule entry */ + if (strcmp(property, "url") == 0) { + if (sm->url) { + git__free(sm->url); + sm->url = NULL; + } + if ((sm->url = git__strdup(value)) == NULL) + goto fail; + } + else if (strcmp(property, "update") == 0) { + int val = lookup_enum(sm_update_values, value); + if (val < 0) { + giterr_set(GITERR_INVALID, + "Invalid value for submodule update property: '%s'", value); + goto fail; + } + sm->update = (git_submodule_update_t)val; + } + else if (strcmp(property, "fetchRecurseSubmodules") == 0) { + if (git_config_parse_bool(&sm->fetch_recurse, value) < 0) + goto fail; + } + else if (strcmp(property, "ignore") == 0) { + int val = lookup_enum(sm_ignore_values, value); + if (val < 0) { + giterr_set(GITERR_INVALID, + "Invalid value for submodule ignore property: '%s'", value); + goto fail; + } + sm->ignore = (git_submodule_ignore_t)val; + } + /* ignore other unknown submodule properties */ + + return 0; + +fail: + submodule_release(sm, 0); + git_buf_free(&name); + return -1; +} + +static int load_submodule_config(git_repository *repo) +{ + int error; + git_index *index; + unsigned int i, max_i; + git_oid gitmodules_oid; + git_hashtable *smcfg; + struct git_config_file *mods = NULL; + + if (repo->submodules) + return 0; + + /* submodule data is kept in a hashtable with each submodule stored + * under both its name and its path. These are usually the same, but + * that is not guaranteed. + */ + smcfg = git_hashtable_alloc( + 4, strhash_no_trailing_slash, strcmp_no_trailing_slash); + GITERR_CHECK_ALLOC(smcfg); + + /* scan index for gitmodules (and .gitmodules entry) */ + if ((error = git_repository_index(&index, repo)) < 0) + goto cleanup; + memset(&gitmodules_oid, 0, sizeof(gitmodules_oid)); + max_i = git_index_entrycount(index); + + for (i = 0; i < max_i; i++) { + git_index_entry *entry = git_index_get(index, i); + if (S_ISGITLINK(entry->mode)) { + if ((error = submodule_from_entry(smcfg, entry)) < 0) + goto cleanup; + } + else if (strcmp(entry->path, ".gitmodules") == 0) + git_oid_cpy(&gitmodules_oid, &entry->oid); + } + + /* load .gitmodules from workdir if it exists */ + if (git_repository_workdir(repo) != NULL) { + /* look in workdir for .gitmodules */ + git_buf path = GIT_BUF_INIT; + if (!git_buf_joinpath( + &path, git_repository_workdir(repo), ".gitmodules") && + git_path_isfile(path.ptr)) + { + if (!(error = git_config_file__ondisk(&mods, path.ptr))) + error = git_config_file_open(mods); + } + git_buf_free(&path); + } + + /* load .gitmodules from object cache if not in workdir */ + if (!error && mods == NULL && !git_oid_iszero(&gitmodules_oid)) { + /* TODO: is it worth loading gitmodules from object cache? */ + } + + /* process .gitmodules info */ + if (!error && mods != NULL) + error = git_config_file_foreach(mods, submodule_from_config, smcfg); + + /* store submodule config in repo */ + if (!error) + repo->submodules = smcfg; + +cleanup: + if (mods != NULL) + git_config_file_free(mods); + if (error) + git_hashtable_free(smcfg); + return error; +} + +void git_submodule_config_free(git_repository *repo) +{ + git_hashtable *smcfg = repo->submodules; + git_submodule *sm; + + repo->submodules = NULL; + + if (smcfg == NULL) + return; + + GIT_HASHTABLE_FOREACH_VALUE(smcfg, sm, { submodule_release(sm,1); }); + git_hashtable_free(smcfg); +} + +static int submodule_cmp(const void *a, const void *b) +{ + return strcmp(((git_submodule *)a)->name, ((git_submodule *)b)->name); +} + +int git_submodule_foreach( + git_repository *repo, + int (*callback)(const char *name, void *payload), + void *payload) +{ + int error; + git_submodule *sm; + git_vector seen = GIT_VECTOR_INIT; + seen._cmp = submodule_cmp; + + if ((error = load_submodule_config(repo)) < 0) + return error; + + GIT_HASHTABLE_FOREACH_VALUE( + repo->submodules, sm, { + /* usually the following will not come into play */ + if (sm->refcount > 1) { + if (git_vector_bsearch(&seen, sm) != GIT_ENOTFOUND) + continue; + if ((error = git_vector_insert(&seen, sm)) < 0) + break; + } + + if ((error = callback(sm->name, payload)) < 0) + break; + }); + + git_vector_free(&seen); + + return error; +} + +int git_submodule_lookup( + git_submodule **sm_ptr, /* NULL allowed if user only wants to test */ + git_repository *repo, + const char *name) /* trailing slash is allowed */ +{ + git_submodule *sm; + + if (load_submodule_config(repo) < 0) + return -1; + + sm = git_hashtable_lookup(repo->submodules, name); + + if (sm_ptr) + *sm_ptr = sm; + + return sm ? 0 : GIT_ENOTFOUND; +} diff --git a/tests-clar/status/submodules.c b/tests-clar/status/submodules.c index 9fd4f0d5f..10caba1d6 100644 --- a/tests-clar/status/submodules.c +++ b/tests-clar/status/submodules.c @@ -28,6 +28,20 @@ void test_status_submodules__cleanup(void) cl_git_sandbox_cleanup(); } +void test_status_submodules__api(void) +{ + git_submodule *sm; + + cl_assert(git_submodule_lookup(NULL, g_repo, "nonexistent") == GIT_ENOTFOUND); + + cl_assert(git_submodule_lookup(NULL, g_repo, "modified") == GIT_ENOTFOUND); + + cl_git_pass(git_submodule_lookup(&sm, g_repo, "testrepo")); + cl_assert(sm != NULL); + cl_assert_equal_s("testrepo", sm->name); + cl_assert_equal_s("testrepo", sm->path); +} + static int cb_status__submodule_count(const char *p, unsigned int s, void *payload) { @@ -79,7 +93,7 @@ cb_status__match(const char *p, unsigned int s, void *payload) { volatile int *index = (int *)payload; - cl_assert_strequal(expected_files[*index], p); + cl_assert_equal_s(expected_files[*index], p); cl_assert(expected_status[*index] == s); (*index)++; From 95dfb031f70601b12a9eb57229fd4aa9a51ddd54 Mon Sep 17 00:00:00 2001 From: Russell Belfer Date: Fri, 30 Mar 2012 14:40:50 -0700 Subject: [PATCH 12/16] Improve config handling for diff,submodules,attrs This adds support for a bunch of core.* settings that affect diff and status, plus fixes up some incorrect implementations of those settings from before. Also, this cleans up the handling of config settings in the new submodules code and in the old attrs/ignore code. --- include/git2/submodule.h | 4 +- src/attr.c | 75 +++++++++++++++++------------ src/attr.h | 5 ++ src/attr_file.c | 4 +- src/attr_file.h | 1 - src/config.c | 74 ++++++++++++++++------------ src/config.h | 3 ++ src/diff.c | 101 +++++++++++++++++++++++++++++++-------- src/diff.h | 9 ++++ src/ignore.c | 20 ++------ src/repository.h | 5 ++ src/submodule.c | 39 ++++++--------- 12 files changed, 212 insertions(+), 128 deletions(-) diff --git a/include/git2/submodule.h b/include/git2/submodule.h index aee2260c1..930168275 100644 --- a/include/git2/submodule.h +++ b/include/git2/submodule.h @@ -22,7 +22,7 @@ GIT_BEGIN_DECL typedef enum { GIT_SUBMODULE_UPDATE_CHECKOUT = 0, - GIT_SUBMOUDLE_UPDATE_REBASE = 1, + GIT_SUBMODULE_UPDATE_REBASE = 1, GIT_SUBMODULE_UPDATE_MERGE = 2 } git_submodule_update_t; @@ -80,8 +80,6 @@ GIT_EXTERN(int) git_submodule_foreach( int (*callback)(const char *name, void *payload), void *payload); -#define GIT_SUBMODULE_HEAD "[internal]HEAD" - /** * Lookup submodule information by name or path. * diff --git a/src/attr.c b/src/attr.c index 2c5add34f..5cf96acf7 100644 --- a/src/attr.c +++ b/src/attr.c @@ -196,7 +196,8 @@ bool git_attr_cache__is_cached(git_repository *repo, const char *path) const char *cache_key = path; if (repo && git__prefixcmp(cache_key, git_repository_workdir(repo)) == 0) cache_key += strlen(git_repository_workdir(repo)); - return (git_hashtable_lookup(repo->attrcache.files, cache_key) != NULL); + return (git_hashtable_lookup( + git_repository_attr_cache(repo)->files, cache_key) != NULL); } int git_attr_cache__lookup_or_create_file( @@ -207,7 +208,7 @@ int git_attr_cache__lookup_or_create_file( git_attr_file **file_ptr) { int error; - git_attr_cache *cache = &repo->attrcache; + git_attr_cache *cache = git_repository_attr_cache(repo); git_attr_file *file = NULL; if ((file = git_hashtable_lookup(cache->files, key)) != NULL) { @@ -293,7 +294,6 @@ static int collect_attr_files( { int error; git_buf dir = GIT_BUF_INIT; - git_config *cfg; const char *workdir = git_repository_workdir(repo); attr_walk_up_info info; @@ -312,7 +312,8 @@ static int collect_attr_files( * - $GIT_PREFIX/etc/gitattributes */ - error = push_attrs(repo, files, repo->path_repository, GIT_ATTR_FILE_INREPO); + error = push_attrs( + repo, files, git_repository_path(repo), GIT_ATTR_FILE_INREPO); if (error < 0) goto cleanup; @@ -322,22 +323,18 @@ static int collect_attr_files( if (error < 0) goto cleanup; - if (!(error = git_repository_config(&cfg, repo))) { - const char *core_attribs = NULL; - git_config_get_string(cfg, GIT_ATTR_CONFIG, &core_attribs); - git_clearerror(); /* don't care if attributesfile is not set */ - if (core_attribs) - error = push_attrs(repo, files, NULL, core_attribs); - git_config_free(cfg); + if (git_repository_attr_cache(repo)->cfg_attr_file != NULL) { + error = push_attrs( + repo, files, NULL, git_repository_attr_cache(repo)->cfg_attr_file); + if (error < 0) + goto cleanup; } - if (!error) { - error = git_futils_find_system_file(&dir, GIT_ATTR_FILE_SYSTEM); - if (!error) - error = push_attrs(repo, files, NULL, dir.ptr); - else if (error == GIT_ENOTFOUND) - error = 0; - } + error = git_futils_find_system_file(&dir, GIT_ATTR_FILE_SYSTEM); + if (!error) + error = push_attrs(repo, files, NULL, dir.ptr); + else if (error == GIT_ENOTFOUND) + error = 0; cleanup: if (error < 0) @@ -350,11 +347,26 @@ static int collect_attr_files( int git_attr_cache__init(git_repository *repo) { - git_attr_cache *cache = &repo->attrcache; + git_attr_cache *cache = git_repository_attr_cache(repo); + git_config *cfg; if (cache->initialized) return 0; + /* cache config settings for attributes and ignores */ + if (git_repository_config(&cfg, repo) < 0) + return -1; + if (git_config_get_string(cfg, GIT_ATTR_CONFIG, &cache->cfg_attr_file)) { + giterr_clear(); + cache->cfg_attr_file = NULL; + } + if (git_config_get_string(cfg, GIT_IGNORE_CONFIG, &cache->cfg_excl_file)) { + giterr_clear(); + cache->cfg_excl_file = NULL; + } + git_config_free(cfg); + + /* allocate hashtable for attribute and ignore file contents */ if (cache->files == NULL) { cache->files = git_hashtable_alloc( 8, git_hash__strhash_cb, git_hash__strcmp_cb); @@ -362,6 +374,7 @@ int git_attr_cache__init(git_repository *repo) return -1; } + /* allocate hashtable for attribute macros */ if (cache->macros == NULL) { cache->macros = git_hashtable_alloc( 8, git_hash__strhash_cb, git_hash__strcmp_cb); @@ -378,30 +391,30 @@ int git_attr_cache__init(git_repository *repo) void git_attr_cache_flush( git_repository *repo) { + git_hashtable *table; + if (!repo) return; - if (repo->attrcache.files) { + if ((table = git_repository_attr_cache(repo)->files) != NULL) { git_attr_file *file; - GIT_HASHTABLE_FOREACH_VALUE(repo->attrcache.files, file, - git_attr_file__free(file)); + GIT_HASHTABLE_FOREACH_VALUE(table, file, git_attr_file__free(file)); + git_hashtable_free(table); - git_hashtable_free(repo->attrcache.files); - repo->attrcache.files = NULL; + git_repository_attr_cache(repo)->files = NULL; } - if (repo->attrcache.macros) { + if ((table = git_repository_attr_cache(repo)->macros) != NULL) { git_attr_rule *rule; - GIT_HASHTABLE_FOREACH_VALUE(repo->attrcache.macros, rule, - git_attr_rule__free(rule)); + GIT_HASHTABLE_FOREACH_VALUE(table, rule, git_attr_rule__free(rule)); + git_hashtable_free(table); - git_hashtable_free(repo->attrcache.macros); - repo->attrcache.macros = NULL; + git_repository_attr_cache(repo)->macros = NULL; } - repo->attrcache.initialized = 0; + git_repository_attr_cache(repo)->initialized = 0; } int git_attr_cache__insert_macro(git_repository *repo, git_attr_rule *macro) @@ -411,5 +424,5 @@ int git_attr_cache__insert_macro(git_repository *repo, git_attr_rule *macro) return 0; return git_hashtable_insert( - repo->attrcache.macros, macro->match.pattern, macro); + git_repository_attr_cache(repo)->macros, macro->match.pattern, macro); } diff --git a/src/attr.h b/src/attr.h index eccda0ed7..350c0ebad 100644 --- a/src/attr.h +++ b/src/attr.h @@ -9,10 +9,15 @@ #include "attr_file.h" +#define GIT_ATTR_CONFIG "core.attributesfile" +#define GIT_IGNORE_CONFIG "core.excludesfile" + typedef struct { int initialized; git_hashtable *files; /* hash path to git_attr_file of rules */ git_hashtable *macros; /* hash name to vector */ + const char *cfg_attr_file; /* cached value of core.attributesfile */ + const char *cfg_excl_file; /* cached value of core.excludesfile */ } git_attr_cache; extern int git_attr_cache__init(git_repository *repo); diff --git a/src/attr_file.c b/src/attr_file.c index 646bd044c..6568313e5 100644 --- a/src/attr_file.c +++ b/src/attr_file.c @@ -495,8 +495,8 @@ int git_attr_assignment__parse( /* expand macros (if given a repo with a macro cache) */ if (repo != NULL && assign->value == git_attr__true) { - git_attr_rule *macro = - git_hashtable_lookup(repo->attrcache.macros, assign->name); + git_attr_rule *macro = git_hashtable_lookup( + git_repository_attr_cache(repo)->macros, assign->name); if (macro != NULL) { unsigned int i; diff --git a/src/attr_file.h b/src/attr_file.h index 6284c5386..53e479ad9 100644 --- a/src/attr_file.h +++ b/src/attr_file.h @@ -14,7 +14,6 @@ #define GIT_ATTR_FILE ".gitattributes" #define GIT_ATTR_FILE_INREPO "info/attributes" #define GIT_ATTR_FILE_SYSTEM "gitattributes" -#define GIT_ATTR_CONFIG "core.attributesfile" #define GIT_ATTR_FNMATCH_NEGATIVE (1U << 0) #define GIT_ATTR_FNMATCH_DIRECTORY (1U << 1) diff --git a/src/config.c b/src/config.c index 5ef1a24b3..250bfa652 100644 --- a/src/config.c +++ b/src/config.c @@ -140,7 +140,7 @@ int git_config_add_file(git_config *cfg, git_config_file *file, int priority) int git_config_foreach(git_config *cfg, int (*fn)(const char *, const char *, void *), void *data) { - int ret = GIT_SUCCESS; + int ret = 0; unsigned int i; file_internal *internal; git_config_file *file; @@ -206,20 +206,20 @@ int git_config_parse_bool(int *out, const char *value) /* A missing value means true */ if (value == NULL) { *out = 1; - return GIT_SUCCESS; + return 0; } if (!strcasecmp(value, "true") || !strcasecmp(value, "yes") || !strcasecmp(value, "on")) { *out = 1; - return GIT_SUCCESS; + return 0; } if (!strcasecmp(value, "false") || !strcasecmp(value, "no") || !strcasecmp(value, "off")) { *out = 0; - return GIT_SUCCESS; + return 0; } return GIT_EINVALIDTYPE; @@ -283,47 +283,59 @@ static int parse_int32(int32_t *out, const char *value) /*********** * Getters ***********/ -int git_config_get_mapped(git_config *cfg, const char *name, git_cvar_map *maps, size_t map_n, int *out) +int git_config_lookup_map_value( + git_cvar_map *maps, size_t map_n, const char *value, int *out) { size_t i; - const char *value; - int error; - error = git_config_get_string(cfg, name, &value); - if (error < GIT_SUCCESS) - return error; + if (!value) + return GIT_ENOTFOUND; for (i = 0; i < map_n; ++i) { git_cvar_map *m = maps + i; switch (m->cvar_type) { - case GIT_CVAR_FALSE: - case GIT_CVAR_TRUE: { - int bool_val; + case GIT_CVAR_FALSE: + case GIT_CVAR_TRUE: { + int bool_val; - if (git_config_parse_bool(&bool_val, value) == 0 && - bool_val == (int)m->cvar_type) { - *out = m->map_value; - return 0; - } - - break; + if (git_config_parse_bool(&bool_val, value) == 0 && + bool_val == (int)m->cvar_type) { + *out = m->map_value; + return 0; } + break; + } - case GIT_CVAR_INT32: - if (parse_int32(out, value) == 0) - return 0; + case GIT_CVAR_INT32: + if (parse_int32(out, value) == 0) + return 0; + break; - break; - - case GIT_CVAR_STRING: - if (strcasecmp(value, m->str_match) == 0) { - *out = m->map_value; - return 0; - } + case GIT_CVAR_STRING: + if (strcasecmp(value, m->str_match) == 0) { + *out = m->map_value; + return 0; + } + break; } } + return GIT_ENOTFOUND; +} + +int git_config_get_mapped(git_config *cfg, const char *name, git_cvar_map *maps, size_t map_n, int *out) +{ + const char *value; + int error; + + error = git_config_get_string(cfg, name, &value); + if (error < 0) + return error; + + if (!git_config_lookup_map_value(maps, map_n, value, out)) + return 0; + giterr_set(GITERR_CONFIG, "Failed to map the '%s' config variable with a valid value", name); return -1; @@ -449,7 +461,7 @@ int git_config_set_multivar(git_config *cfg, const char *name, const char *regex internal = git_vector_get(&cfg->files, i - 1); file = internal->file; ret = file->set_multivar(file, name, regexp, value); - if (ret < GIT_SUCCESS && ret != GIT_ENOTFOUND) + if (ret < 0 && ret != GIT_ENOTFOUND) return ret; } diff --git a/src/config.h b/src/config.h index c337a7a9d..82e98ce51 100644 --- a/src/config.h +++ b/src/config.h @@ -27,4 +27,7 @@ extern int git_config_find_system_r(git_buf *system_config_path); extern int git_config_parse_bool(int *out, const char *bool_string); +extern int git_config_lookup_map_value( + git_cvar_map *maps, size_t map_n, const char *value, int *out); + #endif diff --git a/src/diff.c b/src/diff.c index e1016db05..54e8dd166 100644 --- a/src/diff.c +++ b/src/diff.c @@ -8,6 +8,7 @@ #include "git2/diff.h" #include "diff.h" #include "fileops.h" +#include "config.h" static void diff_delta__free(git_diff_delta *delta) { @@ -233,15 +234,38 @@ static int diff_delta__cmp(const void *a, const void *b) return val ? val : ((int)da->status - (int)db->status); } +static int config_bool(git_config *cfg, const char *name, int defvalue) +{ + int val = defvalue; + if (git_config_get_bool(cfg, name, &val) < 0) + giterr_clear(); + return val; +} + static git_diff_list *git_diff_list_alloc( git_repository *repo, const git_diff_options *opts) { + git_config *cfg; git_diff_list *diff = git__calloc(1, sizeof(git_diff_list)); if (diff == NULL) return NULL; diff->repo = repo; + /* load config values that affect diff behavior */ + if (git_repository_config(&cfg, repo) < 0) + goto fail; + if (config_bool(cfg, "core.symlinks", 1)) + diff->diffcaps = diff->diffcaps | GIT_DIFFCAPS_HAS_SYMLINKS; + if (config_bool(cfg, "core.ignorestat", 0)) + diff->diffcaps = diff->diffcaps | GIT_DIFFCAPS_ASSUME_UNCHANGED; + if (config_bool(cfg, "core.filemode", 1)) + diff->diffcaps = diff->diffcaps | GIT_DIFFCAPS_TRUST_EXEC_BIT; + if (config_bool(cfg, "core.trustctime", 1)) + diff->diffcaps = diff->diffcaps | GIT_DIFFCAPS_TRUST_CTIME; + /* Don't set GIT_DIFFCAPS_USE_DEV - compile time option in core git */ + git_config_free(cfg); + if (opts == NULL) return diff; @@ -252,10 +276,8 @@ static git_diff_list *git_diff_list_alloc( diff->opts.dst_prefix = diff_strdup_prefix( opts->dst_prefix ? opts->dst_prefix : DIFF_DST_PREFIX_DEFAULT); - if (!diff->opts.src_prefix || !diff->opts.dst_prefix) { - git__free(diff); - return NULL; - } + if (!diff->opts.src_prefix || !diff->opts.dst_prefix) + goto fail; if (diff->opts.flags & GIT_DIFF_REVERSE) { char *swap = diff->opts.src_prefix; @@ -263,16 +285,19 @@ static git_diff_list *git_diff_list_alloc( diff->opts.dst_prefix = swap; } - if (git_vector_init(&diff->deltas, 0, diff_delta__cmp) < 0) { - git__free(diff->opts.src_prefix); - git__free(diff->opts.dst_prefix); - git__free(diff); - return NULL; - } + if (git_vector_init(&diff->deltas, 0, diff_delta__cmp) < 0) + goto fail; /* TODO: do something safe with the pathspec strarray */ return diff; + +fail: + git_vector_free(&diff->deltas); + git__free(diff->opts.src_prefix); + git__free(diff->opts.dst_prefix); + git__free(diff); + return NULL; } void git_diff_list_free(git_diff_list *diff) @@ -326,6 +351,8 @@ static int oid_for_workdir_item( return result; } +#define EXEC_BIT_MASK 0000111 + static int maybe_modified( git_iterator *old, const git_index_entry *oitem, @@ -335,16 +362,33 @@ static int maybe_modified( { git_oid noid, *use_noid = NULL; git_delta_t status = GIT_DELTA_MODIFIED; + unsigned int omode = oitem->mode; + unsigned int nmode = nitem->mode; GIT_UNUSED(old); - /* support "assume unchanged" & "skip worktree" bits */ - if ((oitem->flags_extended & GIT_IDXENTRY_INTENT_TO_ADD) != 0 || - (oitem->flags_extended & GIT_IDXENTRY_SKIP_WORKTREE) != 0) + /* on platforms with no symlinks, promote plain files to symlinks */ + if (S_ISLNK(omode) && S_ISREG(nmode) && + !(diff->diffcaps & GIT_DIFFCAPS_HAS_SYMLINKS)) + nmode = GIT_MODE_TYPE(omode) | (nmode & GIT_MODE_PERMS_MASK); + + /* on platforms with no execmode, clear exec bit from comparisons */ + if (!(diff->diffcaps & GIT_DIFFCAPS_TRUST_EXEC_BIT)) { + omode = omode & ~EXEC_BIT_MASK; + nmode = nmode & ~EXEC_BIT_MASK; + } + + /* support "assume unchanged" (badly, b/c we still stat everything) */ + if ((diff->diffcaps & GIT_DIFFCAPS_ASSUME_UNCHANGED) != 0) + status = (oitem->flags_extended & GIT_IDXENTRY_INTENT_TO_ADD) ? + GIT_DELTA_MODIFIED : GIT_DELTA_UNMODIFIED; + + /* support "skip worktree" index bit */ + else if ((oitem->flags_extended & GIT_IDXENTRY_SKIP_WORKTREE) != 0) status = GIT_DELTA_UNMODIFIED; /* if basic type of file changed, then split into delete and add */ - else if (GIT_MODE_TYPE(oitem->mode) != GIT_MODE_TYPE(nitem->mode)) { + else if (GIT_MODE_TYPE(omode) != GIT_MODE_TYPE(nmode)) { if (diff_delta__from_one(diff, GIT_DELTA_DELETED, oitem) < 0 || diff_delta__from_one(diff, GIT_DELTA_ADDED, nitem) < 0) return -1; @@ -353,24 +397,39 @@ static int maybe_modified( /* if oids and modes match, then file is unmodified */ else if (git_oid_cmp(&oitem->oid, &nitem->oid) == 0 && - oitem->mode == nitem->mode) + omode == nmode) status = GIT_DELTA_UNMODIFIED; /* if we have a workdir item with an unknown oid, check deeper */ else if (git_oid_iszero(&nitem->oid) && new->type == GIT_ITERATOR_WORKDIR) { + /* TODO: add check against index file st_mtime to avoid racy-git */ + /* if they files look exactly alike, then we'll assume the same */ if (oitem->file_size == nitem->file_size && - oitem->ctime.seconds == nitem->ctime.seconds && + (!(diff->diffcaps & GIT_DIFFCAPS_TRUST_CTIME) || + (oitem->ctime.seconds == nitem->ctime.seconds)) && oitem->mtime.seconds == nitem->mtime.seconds && - oitem->dev == nitem->dev && + (!(diff->diffcaps & GIT_DIFFCAPS_USE_DEV) || + (oitem->dev == nitem->dev)) && oitem->ino == nitem->ino && oitem->uid == nitem->uid && oitem->gid == nitem->gid) status = GIT_DELTA_UNMODIFIED; - /* TODO? should we do anything special with submodules? */ - else if (S_ISGITLINK(nitem->mode)) - status = GIT_DELTA_UNMODIFIED; + else if (S_ISGITLINK(nmode)) { + git_submodule *sub; + + if ((diff->opts.flags & GIT_DIFF_IGNORE_SUBMODULES) != 0) + status = GIT_DELTA_UNMODIFIED; + else if (git_submodule_lookup(&sub, diff->repo, nitem->path) < 0) + return -1; + else if (sub->ignore == GIT_SUBMODULE_IGNORE_ALL) + status = GIT_DELTA_UNMODIFIED; + else { + /* TODO: support other GIT_SUBMODULE_IGNORE values */ + status = GIT_DELTA_UNMODIFIED; + } + } /* TODO: check git attributes so we will not have to read the file * in if it is marked binary. @@ -380,7 +439,7 @@ static int maybe_modified( return -1; else if (git_oid_cmp(&oitem->oid, &noid) == 0 && - oitem->mode == nitem->mode) + omode == nmode) status = GIT_DELTA_UNMODIFIED; /* store calculated oid so we don't have to recalc later */ diff --git a/src/diff.h b/src/diff.h index 7d69199ea..b4a375586 100644 --- a/src/diff.h +++ b/src/diff.h @@ -13,12 +13,21 @@ #include "iterator.h" #include "repository.h" +enum { + GIT_DIFFCAPS_HAS_SYMLINKS = (1 << 0), /* symlinks on platform? */ + GIT_DIFFCAPS_ASSUME_UNCHANGED = (1 << 1), /* use stat? */ + GIT_DIFFCAPS_TRUST_EXEC_BIT = (1 << 2), /* use st_mode exec bit? */ + GIT_DIFFCAPS_TRUST_CTIME = (1 << 3), /* use st_ctime? */ + GIT_DIFFCAPS_USE_DEV = (1 << 4), /* use st_dev? */ +}; + struct git_diff_list { git_repository *repo; git_diff_options opts; git_vector deltas; /* vector of git_diff_file_delta */ git_iterator_type_t old_src; git_iterator_type_t new_src; + uint32_t diffcaps; }; #endif diff --git a/src/ignore.c b/src/ignore.c index be00efd1b..1827eda82 100644 --- a/src/ignore.c +++ b/src/ignore.c @@ -1,11 +1,9 @@ #include "ignore.h" #include "path.h" -#include "git2/config.h" #define GIT_IGNORE_INTERNAL "[internal]exclude" #define GIT_IGNORE_FILE_INREPO "info/exclude" #define GIT_IGNORE_FILE ".gitignore" -#define GIT_IGNORE_CONFIG "core.excludesfile" static int load_ignore_file( git_repository *repo, const char *path, git_attr_file *ignores) @@ -73,7 +71,6 @@ static int push_one_ignore(void *ref, git_buf *path) int git_ignore__for_path(git_repository *repo, const char *path, git_ignores *ignores) { int error = 0; - git_config *cfg; const char *workdir = git_repository_workdir(repo); assert(ignores); @@ -104,26 +101,19 @@ int git_ignore__for_path(git_repository *repo, const char *path, git_ignores *ig /* load .git/info/exclude */ error = push_ignore(repo, &ignores->ign_global, - repo->path_repository, GIT_IGNORE_FILE_INREPO); + git_repository_path(repo), GIT_IGNORE_FILE_INREPO); if (error < 0) goto cleanup; /* load core.excludesfile */ - if ((error = git_repository_config(&cfg, repo)) == 0) { - const char *core_ignore; - error = git_config_get_string(cfg, GIT_IGNORE_CONFIG, &core_ignore); - if (error == 0 && core_ignore != NULL) - error = push_ignore(repo, &ignores->ign_global, NULL, core_ignore); - else { - error = 0; - giterr_clear(); /* don't care if attributesfile is not set */ - } - git_config_free(cfg); - } + if (git_repository_attr_cache(repo)->cfg_excl_file != NULL) + error = push_ignore(repo, &ignores->ign_global, NULL, + git_repository_attr_cache(repo)->cfg_excl_file); cleanup: if (error < 0) git_ignore__free(ignores); + return error; } diff --git a/src/repository.h b/src/repository.h index 6586bb43e..178f29742 100644 --- a/src/repository.h +++ b/src/repository.h @@ -101,6 +101,11 @@ void git_object__free(void *object); int git_oid__parse(git_oid *oid, const char **buffer_out, const char *buffer_end, const char *header); void git_oid__writebuf(git_buf *buf, const char *header, const git_oid *oid); +GIT_INLINE(git_attr_cache *) git_repository_attr_cache(git_repository *repo) +{ + return &repo->attrcache; +} + /* * Weak pointers to repository internals. * diff --git a/src/submodule.c b/src/submodule.c index 4feefa1e9..be99b86d5 100644 --- a/src/submodule.c +++ b/src/submodule.c @@ -19,30 +19,19 @@ #include "config.h" #include "repository.h" -static const char *sm_update_values[] = { - "checkout", - "rebase", - "merge", - NULL +static git_cvar_map _sm_update_map[] = { + {GIT_CVAR_STRING, "checkout", GIT_SUBMODULE_UPDATE_CHECKOUT}, + {GIT_CVAR_STRING, "rebase", GIT_SUBMODULE_UPDATE_REBASE}, + {GIT_CVAR_STRING, "merge", GIT_SUBMODULE_UPDATE_MERGE} }; -static const char *sm_ignore_values[] = { - "all", - "dirty", - "untracked", - "none", - NULL +static git_cvar_map _sm_ignore_map[] = { + {GIT_CVAR_STRING, "all", GIT_SUBMODULE_IGNORE_ALL}, + {GIT_CVAR_STRING, "dirty", GIT_SUBMODULE_IGNORE_DIRTY}, + {GIT_CVAR_STRING, "untracked", GIT_SUBMODULE_IGNORE_UNTRACKED}, + {GIT_CVAR_STRING, "none", GIT_SUBMODULE_IGNORE_NONE} }; -static int lookup_enum(const char **values, const char *str) -{ - int i; - for (i = 0; values[i]; ++i) - if (strcasecmp(str, values[i]) == 0) - return i; - return -1; -} - static uint32_t strhash_no_trailing_slash(const void *key, int hash_id) { static uint32_t hash_seeds[GIT_HASHTABLE_HASHES] = { @@ -212,8 +201,9 @@ static int submodule_from_config( goto fail; } else if (strcmp(property, "update") == 0) { - int val = lookup_enum(sm_update_values, value); - if (val < 0) { + int val; + if (git_config_lookup_map_value( + _sm_update_map, ARRAY_SIZE(_sm_update_map), value, &val) < 0) { giterr_set(GITERR_INVALID, "Invalid value for submodule update property: '%s'", value); goto fail; @@ -225,8 +215,9 @@ static int submodule_from_config( goto fail; } else if (strcmp(property, "ignore") == 0) { - int val = lookup_enum(sm_ignore_values, value); - if (val < 0) { + int val; + if (git_config_lookup_map_value( + _sm_ignore_map, ARRAY_SIZE(_sm_ignore_map), value, &val) < 0) { giterr_set(GITERR_INVALID, "Invalid value for submodule ignore property: '%s'", value); goto fail; From 952f94c8ab48cd22b8eca8d83320bbeec9680419 Mon Sep 17 00:00:00 2001 From: Russell Belfer Date: Fri, 30 Mar 2012 14:42:23 -0700 Subject: [PATCH 13/16] Fix bug when join_n refers to original buffer There was a bug in git_buf_join_n when the contents of the original buffer were joined into itself and the realloc moved the pointer to the original buffer. --- src/buffer.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/buffer.c b/src/buffer.c index ec0302b9a..c23803564 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -256,8 +256,8 @@ int git_buf_join_n(git_buf *buf, char separator, int nbuf, ...) { va_list ap; int i; - size_t total_size = 0; - char *out; + size_t total_size = 0, original_size = buf->size; + char *out, *original = buf->ptr; if (buf->size > 0 && buf->ptr[buf->size - 1] != separator) ++total_size; /* space for initial separator */ @@ -281,8 +281,9 @@ int git_buf_join_n(git_buf *buf, char separator, int nbuf, ...) va_end(ap); /* expand buffer if needed */ - if (total_size > 0 && - git_buf_grow(buf, buf->size + total_size + 1) < 0) + if (total_size == 0) + return 0; + if (git_buf_grow(buf, buf->size + total_size + 1) < 0) return -1; out = buf->ptr + buf->size; @@ -300,12 +301,23 @@ int git_buf_join_n(git_buf *buf, char separator, int nbuf, ...) if (!segment) continue; + /* deal with join that references buffer's original content */ + if (segment >= original && segment < original + original_size) { + size_t offset = (segment - original); + segment = buf->ptr + offset; + segment_len = original_size - offset; + } else { + segment_len = strlen(segment); + } + /* skip leading separators */ if (out > buf->ptr && out[-1] == separator) - while (*segment == separator) segment++; + while (segment_len > 0 && *segment == separator) { + segment++; + segment_len--; + } /* copy over next buffer */ - segment_len = strlen(segment); if (segment_len > 0) { memmove(out, segment, segment_len); out += segment_len; From 09719c500ca798fea989867f50cf29d4dbed0c89 Mon Sep 17 00:00:00 2001 From: nulltoken Date: Wed, 14 Mar 2012 12:13:03 +0100 Subject: [PATCH 14/16] reference: Fix creation of references with extended ASCII characters in their name --- src/fileops.c | 13 ++++++++++++- tests-clar/refs/unicode.c | 41 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 tests-clar/refs/unicode.c diff --git a/src/fileops.c b/src/fileops.c index f1f820ab7..b3bb3890e 100644 --- a/src/fileops.c +++ b/src/fileops.c @@ -62,7 +62,18 @@ int git_futils_creat_withpath(const char *path, const mode_t dirmode, const mode int git_futils_creat_locked(const char *path, const mode_t mode) { - int fd = open(path, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY | O_EXCL, mode); + int fd; + +#ifdef GIT_WIN32 + wchar_t* buf; + + buf = gitwin_to_utf16(path); + fd = _wopen(buf, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY | O_EXCL, mode); + git__free(buf); +#else + fd = open(path, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY | O_EXCL, mode); +#endif + if (fd < 0) { giterr_set(GITERR_OS, "Failed to create locked file '%s'", path); return -1; diff --git a/tests-clar/refs/unicode.c b/tests-clar/refs/unicode.c new file mode 100644 index 000000000..16d77a4b7 --- /dev/null +++ b/tests-clar/refs/unicode.c @@ -0,0 +1,41 @@ +#include "clar_libgit2.h" + +static git_repository *repo; + +void test_refs_unicode__initialize(void) +{ + cl_fixture_sandbox("testrepo.git"); + + cl_git_pass(git_repository_open(&repo, "testrepo.git")); +} + +void test_refs_unicode__cleanup(void) +{ + git_repository_free(repo); + cl_fixture_cleanup("testrepo.git"); +} + +void test_refs_unicode__create_and_lookup(void) +{ + git_reference *ref, *ref2; + git_repository *repo2; + + const char *REFNAME = "refs/heads/" "\305" "ngstr" "\366" "m"; + const char *master = "refs/heads/master"; + + /* Create the reference */ + cl_git_pass(git_reference_lookup(&ref, repo, master)); + cl_git_pass(git_reference_create_oid(&ref, repo, REFNAME, git_reference_oid(ref), 0)); + cl_assert(strcmp(REFNAME, git_reference_name(ref)) == 0); + + /* Lookup the reference in a different instance of the repository */ + cl_git_pass(git_repository_open(&repo2, "testrepo.git")); + cl_git_pass(git_reference_lookup(&ref2, repo2, REFNAME)); + + cl_assert(git_oid_cmp(git_reference_oid(ref), git_reference_oid(ref2)) == 0); + cl_assert(strcmp(REFNAME, git_reference_name(ref2)) == 0); + + git_reference_free(ref); + git_reference_free(ref2); + git_repository_free(repo2); +} From 8e8b6b01f592b9e366203d70802e44d1a6a08e5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Wed, 4 Apr 2012 13:13:43 +0200 Subject: [PATCH 15/16] Clean up valgrind warnings --- src/config_file.c | 1 + src/odb_loose.c | 2 +- src/status.c | 2 ++ src/submodule.c | 3 ++- tests-clar/refs/unicode.c | 13 +++++++------ tests-clar/status/submodules.c | 1 + tests-clar/status/worktree.c | 1 + 7 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/config_file.c b/src/config_file.c index 60d4c567e..e16606512 100644 --- a/src/config_file.c +++ b/src/config_file.c @@ -334,6 +334,7 @@ static int config_get_multivar( var = var->next; } while (var != NULL); + regfree(®ex); } else { /* no regex; go through all the variables */ do { diff --git a/src/odb_loose.c b/src/odb_loose.c index 085df428a..b593d1846 100644 --- a/src/odb_loose.c +++ b/src/odb_loose.c @@ -772,7 +772,7 @@ static int loose_backend__stream(git_odb_stream **stream_out, git_odb_backend *_ static int loose_backend__write(git_oid *oid, git_odb_backend *_backend, const void *data, size_t len, git_otype type) { - int error, header_len; + int error = 0, header_len; git_buf final_path = GIT_BUF_INIT; char header[64]; git_filebuf fbuf = GIT_FILEBUF_INIT; diff --git a/src/status.c b/src/status.c index 88dd5e03b..7cd914f21 100644 --- a/src/status.c +++ b/src/status.c @@ -43,6 +43,8 @@ static int resolve_head_to_tree(git_tree **tree, git_repository *repo) if (git_object_lookup(&obj, repo, git_reference_oid(head), GIT_OBJ_ANY) < 0) goto fail; + git_reference_free(head); + switch (git_object_type(obj)) { case GIT_OBJ_TREE: *tree = (git_tree *)obj; diff --git a/src/submodule.c b/src/submodule.c index be99b86d5..907e43e88 100644 --- a/src/submodule.c +++ b/src/submodule.c @@ -182,6 +182,7 @@ static int submodule_from_config( goto fail; sm->refcount++; } + git_buf_free(&name); if (old_sm && ((git_submodule *)old_sm) != sm) { /* TODO: log entry about multiple submodules with same path */ @@ -255,7 +256,7 @@ static int load_submodule_config(git_repository *repo) GITERR_CHECK_ALLOC(smcfg); /* scan index for gitmodules (and .gitmodules entry) */ - if ((error = git_repository_index(&index, repo)) < 0) + if ((error = git_repository_index__weakptr(&index, repo)) < 0) goto cleanup; memset(&gitmodules_oid, 0, sizeof(gitmodules_oid)); max_i = git_index_entrycount(index); diff --git a/tests-clar/refs/unicode.c b/tests-clar/refs/unicode.c index 16d77a4b7..889c85666 100644 --- a/tests-clar/refs/unicode.c +++ b/tests-clar/refs/unicode.c @@ -17,25 +17,26 @@ void test_refs_unicode__cleanup(void) void test_refs_unicode__create_and_lookup(void) { - git_reference *ref, *ref2; + git_reference *ref0, *ref1, *ref2; git_repository *repo2; const char *REFNAME = "refs/heads/" "\305" "ngstr" "\366" "m"; const char *master = "refs/heads/master"; /* Create the reference */ - cl_git_pass(git_reference_lookup(&ref, repo, master)); - cl_git_pass(git_reference_create_oid(&ref, repo, REFNAME, git_reference_oid(ref), 0)); - cl_assert(strcmp(REFNAME, git_reference_name(ref)) == 0); + cl_git_pass(git_reference_lookup(&ref0, repo, master)); + cl_git_pass(git_reference_create_oid(&ref1, repo, REFNAME, git_reference_oid(ref0), 0)); + cl_assert(strcmp(REFNAME, git_reference_name(ref1)) == 0); /* Lookup the reference in a different instance of the repository */ cl_git_pass(git_repository_open(&repo2, "testrepo.git")); cl_git_pass(git_reference_lookup(&ref2, repo2, REFNAME)); - cl_assert(git_oid_cmp(git_reference_oid(ref), git_reference_oid(ref2)) == 0); + cl_assert(git_oid_cmp(git_reference_oid(ref1), git_reference_oid(ref2)) == 0); cl_assert(strcmp(REFNAME, git_reference_name(ref2)) == 0); - git_reference_free(ref); + git_reference_free(ref0); + git_reference_free(ref1); git_reference_free(ref2); git_repository_free(repo2); } diff --git a/tests-clar/status/submodules.c b/tests-clar/status/submodules.c index 10caba1d6..969158825 100644 --- a/tests-clar/status/submodules.c +++ b/tests-clar/status/submodules.c @@ -19,6 +19,7 @@ void test_status_submodules__initialize(void) p_rename("submodules/gitmodules", "submodules/.gitmodules"); cl_git_append2file("submodules/.gitmodules", modpath.ptr); + git_buf_free(&modpath); p_rename("submodules/testrepo/.gitted", "submodules/testrepo/.git"); } diff --git a/tests-clar/status/worktree.c b/tests-clar/status/worktree.c index 7a0494ec9..efdf6f41b 100644 --- a/tests-clar/status/worktree.c +++ b/tests-clar/status/worktree.c @@ -127,6 +127,7 @@ void test_status_worktree__purged_worktree(void) /* first purge the contents of the worktree */ cl_git_pass(git_buf_sets(&workdir, git_repository_workdir(repo))); cl_git_pass(git_path_direach(&workdir, remove_file_cb, NULL)); + git_buf_free(&workdir); /* now get status */ memset(&counts, 0x0, sizeof(struct status_entry_counts)); From 17bd6de3fb1bd937c73588f9d9e75c9090e44eb9 Mon Sep 17 00:00:00 2001 From: nulltoken Date: Wed, 4 Apr 2012 13:59:58 +0200 Subject: [PATCH 16/16] Fix MSVC "unreferenced local variable" compilation warning. --- tests-clar/core/errors.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tests-clar/core/errors.c b/tests-clar/core/errors.c index 52b2652c8..c781000d5 100644 --- a/tests-clar/core/errors.c +++ b/tests-clar/core/errors.c @@ -46,6 +46,7 @@ void test_core_errors__new_school(void) { struct stat st; assert(p_lstat("this_file_does_not_exist", &st) < 0); + GIT_UNUSED(st); } giterr_set(GITERR_OS, "stat failed"); /* internal fn */

=uHz#4%J0P!RYVlzYKcqTl#P^Wo1(_e1-EG? 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