[PATCH v6 7/7] add tests for `git_config_get_string_const()`

2014-07-31 Thread Tanay Abhra
Add tests for `git_config_get_string_const()`, check whether it dies printing the line number and the file name if a NULL value is retrieved for the given key. Signed-off-by: Tanay Abhra --- t/t1308-config-set.sh | 10 ++ test-config.c | 10 ++ 2 files changed, 20

[PATCH v6 5/7] add a test for semantic errors in config files

2014-07-31 Thread Tanay Abhra
: Tanay Abhra --- t/t1308-config-set.sh | 11 +++ 1 file changed, 11 insertions(+) diff --git a/t/t1308-config-set.sh b/t/t1308-config-set.sh index 7fdf840..e2f9d0b 100755 --- a/t/t1308-config-set.sh +++ b/t/t1308-config-set.sh @@ -197,4 +197,15 @@ test_expect_success 'proper error on

[PATCH v6 0/7] Rewrite `git_config()` using config-set API

2014-07-31 Thread Tanay Abhra
it/254286 [2]: http://thread.gmane.org/gmane.comp.version-control.git/254101 [3]: http://thread.gmane.org/gmane.comp.version-control.git/254211 Tanay Abhra (7): config.c: fix accuracy of line number in errors add line number and file name info to `config_set` change `git_config()` return value to void

[PATCH v6 1/7] config.c: fix accuracy of line number in errors

2014-07-31 Thread Tanay Abhra
the call to callback to get accurate line number in error messages. Commit-message-by: Tanay Abhra Signed-off-by: Tanay Abhra --- config.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/config.c b/config.c index a191328..ed5fc8e 100644 --- a/config.c +++ b

Re: [PATCH 2/2] add variable name to `git_config_*()` error message

2014-07-31 Thread Tanay Abhra
Junio, drop (2/2) of this series, it has conflicts with ta/config-set in pu. This patch can easily come later. Sorry for the inconvenience. Patch 1/2 is OK. Thanks. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majord

[PATCH 2/2] add variable name to `git_config_*()` error message

2014-07-31 Thread Tanay Abhra
Whenever a callback returns a negative value, the functions of `git_config_*()` family die printing the line number and file name. In addition to them, add the variable name to the error message. Signed-off-by: Tanay Abhra --- config.c| 4 ++-- t/t4055-diff-context.sh | 2 +- 2

[PATCH v2 1/2] config.c: mark error and warnings strings for translation

2014-07-31 Thread Tanay Abhra
From: Matthieu Moy Signed-off-by: Matthieu Moy --- v2: error messages now start with a small letter. config.c | 20 ++-- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/config.c b/config.c index 058505c..7330789 100644 --- a/config.c +++ b/config.c @@ -442,9 +44

Re: [PATCH v4 2/5] notes.c: replace `git_config()` with `git_config_get_value_multi()`

2014-07-31 Thread Tanay Abhra
On 7/31/2014 5:08 PM, Matthieu Moy wrote: > Matthieu Moy writes: > >> Tanay Abhra writes: >> >>> On 7/30/2014 7:43 PM, Matthieu Moy wrote: >>>> * if (!values->items[i].string) >>>> config_error_nonbool( >>>> >

Re: [PATCH] config.c: mark error and warnings strings for translation

2014-07-31 Thread Tanay Abhra
On 7/31/2014 5:01 PM, Matthieu Moy wrote: > Signed-off-by: Matthieu Moy > --- > Noticed while reviewing Tanay's patches, but this one is independant > from his series, both syntactically and semantically. > > config.c | 20 ++-- > 1 file changed, 10 insertions(+), 10 deletions(-)

Re: [PATCH v5 3/7] change `git_config()` return value to void

2014-07-31 Thread Tanay Abhra
On 7/31/2014 4:52 PM, Matthieu Moy wrote: > Tanay Abhra writes: > >> Signed-off-by: Tanay Abhra > > I think I deserve a bit of credit here ;-). > Yes, but to show credit would I have to write "from you" or "signed-off-by"? :) >> { >>

[PATCH v5 0/7] Rewrite `git_config()` using config-set API

2014-07-31 Thread Tanay Abhra
version-control.git/254101 [3]: http://thread.gmane.org/gmane.comp.version-control.git/254211 Tanay Abhra (7): config.c: fix accuracy of line number in errors add line number and file name info to `config_set` change `git_config()` return value to void rewrite git_config() to use the config-s

[PATCH 6/7] config: add `git_die_config()` to the config-set API

2014-07-31 Thread Tanay Abhra
(!git_config_get_value(key, &value)) { /* NULL values not allowed */ if (!value) git_config_die(key); else /* do work */ } Signed-off-by: Tanay Abhra --- Documentation/technical/api-config.txt

[PATCH v5 4/7] rewrite git_config() to use the config-set API

2014-07-31 Thread Tanay Abhra
to avoid config file rereads on each invocation during a git process lifetime. First invocation constructs the cache, and after that for each successive invocation, `git_config()` feeds values from the config cache instead of rereading the configuration files. Signed-off-by: Tanay Abhra

[PATCH v5 5/7] add a test for semantic errors in config files

2014-07-31 Thread Tanay Abhra
: Tanay Abhra --- t/t1308-config-set.sh | 11 +++ 1 file changed, 11 insertions(+) diff --git a/t/t1308-config-set.sh b/t/t1308-config-set.sh index 7fdf840..e2f9d0b 100755 --- a/t/t1308-config-set.sh +++ b/t/t1308-config-set.sh @@ -197,4 +197,15 @@ test_expect_success 'proper error on

[PATCH v5 2/7] add line number and file name info to `config_set`

2014-07-31 Thread Tanay Abhra
Store file name and line number for each key-value pair in the cache during parsing of the configuration files. Signed-off-by: Tanay Abhra --- config.c | 21 +++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/config.c b/config.c index ed5fc8e..4a15383 100644

[PATCH v5 1/7] config.c: fix accuracy of line number in errors

2014-07-31 Thread Tanay Abhra
the call to callback to get accurate line number in error messages. Commit-message-by: Tanay Abhra Signed-off-by: Tanay Abhra --- config.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/config.c b/config.c index a191328..ed5fc8e 100644 --- a/config.c +++ b

[PATCH 7/7] add tests for `git_config_get_string_const()`

2014-07-31 Thread Tanay Abhra
Add tests for `git_config_get_string_const()`, check whether it dies printing the line number and the file name if a NULL value is retrieved for the given key. Signed-off-by: Tanay Abhra --- t/t1308-config-set.sh | 10 ++ test-config.c | 10 ++ 2 files changed, 20

[PATCH v5 3/7] change `git_config()` return value to void

2014-07-31 Thread Tanay Abhra
ore the return value except for one case in branch.c. Change `git_config()` return value to void and make it die if it receives a negative return value from `git_config_with_options()`. Signed-off-by: Tanay Abhra --- branch.c | 5 + cache.h | 2 +- config.c | 16 ++-- 3 fil

Re: [PATCH v4 2/5] notes.c: replace `git_config()` with `git_config_get_value_multi()`

2014-07-30 Thread Tanay Abhra
On 7/30/2014 7:43 PM, Matthieu Moy wrote: > Tanay Abhra writes: > >> -git_config(notes_display_config, &load_config_refs); >> +if (load_config_refs) { >> +values = git_config_get_value_multi("notes.displayref"); >> +

Re: [PATCH v4 0/5] git_config callers rewritten with the new config cache API

2014-07-30 Thread Tanay Abhra
On 7/30/2014 7:16 PM, Matthieu Moy wrote: > Tanay Abhra writes: > >> [PATCH v4]: Tiny style nits corrected. Patch 2/5 has been totally reworked. >> One thing to check is if the config variables I changed in the series >> are single valued or multi valued

[PATCH v4 5/5] alias.c: replace `git_config()` with `git_config_get_string()`

2014-07-30 Thread Tanay Abhra
Use `git_config_get_string()` instead of `git_config()` to take advantage of the config-set API which provides a cleaner control flow. Signed-off-by: Tanay Abhra --- alias.c | 25 ++--- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/alias.c b/alias.c index

[PATCH v4 3/5] imap-send.c: replace `git_config()` with `git_config_get_*()` family

2014-07-30 Thread Tanay Abhra
Use `git_config_get_*()` family instead of `git_config()` to take advantage of the config-set API which provides a cleaner control flow. Signed-off-by: Tanay Abhra --- imap-send.c | 61 +++-- 1 file changed, 27 insertions(+), 34 deletions

[PATCH v4 2/5] notes.c: replace `git_config()` with `git_config_get_value_multi()`

2014-07-30 Thread Tanay Abhra
Use `git_config_get_value_multi()` instead of `git_config()` to take advantage of the config-set API which provides a cleaner control flow, also previously 'string_list_add_refs_by_glob()' was called even when the retrieved value was NULL, correct it while we are at it. Signed-off-by: T

[PATCH v4 1/5] pager.c: replace `git_config()` with `git_config_get_value()`

2014-07-30 Thread Tanay Abhra
Use `git_config_get_value()` instead of `git_config()` to take advantage of the config-set API which provides a cleaner control flow. Signed-off-by: Tanay Abhra --- pager.c | 40 +--- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/pager.c b

[PATCH v4 4/5] branch.c: replace `git_config()` with `git_config_get_string()

2014-07-30 Thread Tanay Abhra
Use `git_config_get_string()` instead of `git_config()` to take advantage of the config-set API which provides a cleaner control flow. Signed-off-by: Tanay Abhra --- branch.c | 24 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/branch.c b/branch.c index

[PATCH v4 0/5] git_config callers rewritten with the new config cache API

2014-07-30 Thread Tanay Abhra
r the documentation of the new API functions and a general description of the new API. [1]: http://thread.gmane.org/gmane.comp.version-control.git/254286/ [2]: http://thread.gmane.org/gmane.comp.version-control.git/252334 Tanay Abhra (5): alias.c | 25 ++--- branch.c

Re: [PATCH v4 3/6] rewrite git_config() to use the config-set API

2014-07-29 Thread Tanay Abhra
On 7/29/2014 7:33 PM, Matthieu Moy wrote: > Tanay Abhra writes: > >> On 7/29/2014 6:10 PM, Matthieu Moy wrote: >>> So, I think it's time to make it official that git_config() does not >>> return an error code, and make it return void. I would do that i

Re: [PATCH v4 3/6] rewrite git_config() to use the config-set API

2014-07-29 Thread Tanay Abhra
On 7/29/2014 6:10 PM, Matthieu Moy wrote: > Tanay Abhra writes: > > configset_iter unconditionnally returns 0 (or it dies). Since it is more > or less the equivalent of the old git_config(), I understand why we > never encounter the situation where git_config() would return -1

[RFC] GSoC status update (config API improvements)

2014-07-29 Thread Tanay Abhra
stem files. The user may not have the privilege to touch the system files so he can leverage the new API to unset the previously set values. Any suggestions for new features or improvements are welcome! Also, I like to thank my mentors Matthieu and Ram for their suggestions and timely review

Re: [PATCH v4 3/6] rewrite git_config() to use the config-set API

2014-07-29 Thread Tanay Abhra
> diff --git a/t/t4055-diff-context.sh b/t/t4055-diff-context.sh > index cd04543..741e080 100755 > --- a/t/t4055-diff-context.sh > +++ b/t/t4055-diff-context.sh > @@ -79,7 +79,7 @@ test_expect_success 'non-integer config parsing' ' > test_expect_success 'negative integer config parsing' ' >

[PATCH v4 5/6] config: add `git_die_config()` to the config-set API

2014-07-29 Thread Tanay Abhra
(!git_config_get_value(key, &value)) { /* NULL values not allowed */ if (!value) git_config_die(key); else /* do work */ } Signed-off-by: Tanay Abhra --- Documentation/technical/api-config.txt

[PATCH v4 6/6] add tests for `git_config_get_string_const()`

2014-07-29 Thread Tanay Abhra
Add tests for `git_config_get_string_const()`, check whether it dies printing the line number and the file name if a NULL value is retrieved for the given key. Signed-off-by: Tanay Abhra --- t/t1308-config-set.sh | 10 ++ test-config.c | 10 ++ 2 files changed, 20

[PATCH v4 3/6] rewrite git_config() to use the config-set API

2014-07-29 Thread Tanay Abhra
addition to line number and file name to the error message that is printed when `git_config()` dies. Signed-off-by: Tanay Abhra --- cache.h | 24 config.c| 58 ++--- t/t4055-diff-context.sh | 2 +- 3 files

[PATCH v4 2/6] add line number and file name info to `config_set`

2014-07-29 Thread Tanay Abhra
Store file name and line number for each key-value pair in the cache during parsing of the configuration files. Signed-off-by: Tanay Abhra --- config.c | 21 +++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/config.c b/config.c index e5b7f10..5499108 100644

[PATCH v4 1/6] config.c: fix accuracy of line number in errors

2014-07-29 Thread Tanay Abhra
the call to callback to get accurate line number in error messages. Commit-message-by: Tanay Abhra Signed-off-by: Tanay Abhra --- config.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/config.c b/config.c index d3ad661..e5b7f10 100644 --- a/config.c +++ b

[PATCH v4 4/6] add a test for semantic errors in config files

2014-07-29 Thread Tanay Abhra
and the file name. Signed-off-by: Tanay Abhra --- t/t1308-config-set.sh | 11 +++ 1 file changed, 11 insertions(+) diff --git a/t/t1308-config-set.sh b/t/t1308-config-set.sh index 7fdf840..e2f9d0b 100755 --- a/t/t1308-config-set.sh +++ b/t/t1308-config-set.sh @@ -197,4 +197,15

[PATCH v4 0/6] Rewrite `git_config()` using config-set API

2014-07-29 Thread Tanay Abhra
version-control.git/254211 Tanay Abhra (6): config.c: fix accuracy of line number in errors add line number and file name info to `config_set` rewrite git_config() to use the config-set API add a test for semantic errors in config files config: add `git_die_config()` to the config-set

Re: [PATCH v3 4/6] add a test for semantic errors in config files

2014-07-28 Thread Tanay Abhra
On 7/28/2014 4:52 PM, Matthieu Moy wrote: > Tanay Abhra writes: > >> +test_expect_success 'check line errors for malformed values' ' >> +mv .git/config .git/config.old && >> +test_when_finished "mv .git/config.old .git/config&qu

Re: [PATCH v3 5/6] config: add `git_die_config()` to the config-set API

2014-07-28 Thread Tanay Abhra
On 7/28/2014 4:25 PM, Ramsay Jones wrote: > On 28/07/14 11:33, Tanay Abhra wrote: >> Add `git_die_config` that dies printing the line number and the file name >> of the highest priority value for the configuration variable `key`. >> >> It has usage in non-callback b

[PATCH v2] add documentation for writing config files

2014-07-28 Thread Tanay Abhra
Replace TODO introduced in commit 9c3c22 with documentation explaining Git config API functions for writing configuration files. Signed-off-by: Tanay Abhra --- Documentation/technical/api-config.txt | 31 ++- 1 file changed, 30 insertions(+), 1 deletion(-) diff

[PATCH v3 1/6] config.c: fix accuracy of line number in errors

2014-07-28 Thread Tanay Abhra
the call to callback to get accurate line number in error messages. Commit-message-by: Tanay Abhra Signed-off-by: Tanay Abhra --- config.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/config.c b/config.c index d3ad661..e5b7f10 100644 --- a/config.c +++ b

[PATCH v3 4/6] add a test for semantic errors in config files

2014-07-28 Thread Tanay Abhra
: Tanay Abhra --- t/t1308-config-set.sh | 11 +++ 1 file changed, 11 insertions(+) diff --git a/t/t1308-config-set.sh b/t/t1308-config-set.sh index 7fdf840..35c6ee2 100755 --- a/t/t1308-config-set.sh +++ b/t/t1308-config-set.sh @@ -197,4 +197,15 @@ test_expect_success 'proper error on

[PATCH v3 2/6] add line number and file name info to `config_set`

2014-07-28 Thread Tanay Abhra
Store file name and line number for each key-value pair in the cache during parsing of the configuration files. Signed-off-by: Tanay Abhra --- config.c | 21 +++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/config.c b/config.c index e5b7f10..5499108 100644

[PATCH v3 6/6] add tests for `git_config_get_string_const()`

2014-07-28 Thread Tanay Abhra
Add tests for `git_config_get_string_const()`, check whether it dies printing the line number and the file name if a NULL value is retrieved for the given key. Signed-off-by: Tanay Abhra --- t/t1308-config-set.sh | 9 + test-config.c | 10 ++ 2 files changed, 19

[PATCH v3 5/6] config: add `git_die_config()` to the config-set API

2014-07-28 Thread Tanay Abhra
(!git_config_get_value(key, &value)) { /* NULL values not allowed */ if (!value) git_config_die(key); else /* do work */ } Signed-off-by: Tanay Abhra --- Note: git_config_get_string() c

[PATCH v3 3/6] rewrite git_config() to use the config-set API

2014-07-28 Thread Tanay Abhra
to avoid config file rereads on each invocation during a git process lifetime. First invocation constructs the cache, and after that for each successive invocation, `git_config()` feeds values from the config cache instead of rereading the configuration files. Signed-off-by: Tanay Abhra

[PATCH v3 0/6] Rewrite `git_config()` using config-set API

2014-07-28 Thread Tanay Abhra
r times. [1]: http://thread.gmane.org/gmane.comp.version-control.git/254286 [2]: http://thread.gmane.org/gmane.comp.version-control.git/254101 [3]: http://thread.gmane.org/gmane.comp.version-control.git/254211 Tanay Abhra (6): config.c: fix accuracy of line number in errors add line number and file name

[PATCH v13 1/2] add `config_set` API for caching config-like files

2014-07-28 Thread Tanay Abhra
`config_set` API. Signed-off-by: Matthieu Moy Signed-off-by: Tanay Abhra --- Documentation/technical/api-config.txt | 142 + cache.h| 32 config.c | 274 + setup.c

[PATCH v13 2/2] test-config: add tests for the config_set API

2014-07-28 Thread Tanay Abhra
Expose the `config_set` C API as a set of simple commands in order to facilitate testing. Add tests for the `config_set` API as well as for `git_config_get_*()` family for the usual config files. Signed-off-by: Matthieu Moy Signed-off-by: Tanay Abhra --- .gitignore| 1 + Makefile

[PATCH v13 0/2] git config cache & special querying api utilizing the cache

2014-07-28 Thread Tanay Abhra
n be seen at [1]. [1]:: http://thread.gmane.org/gmane.comp.version-control.git/253862/ Tanay Abhra (2): add `config_set` API for caching config-like files test-config: add tests for the config_set API .gitignore | 1 + Documentation/technical/api-config.txt |

Re: [PATCH v2 5/6] config: add `git_die_config()` to the config-set API

2014-07-25 Thread Tanay Abhra
On 7/25/2014 7:33 PM, Matthieu Moy wrote: > Tanay Abhra writes: > >> --- a/config.c >> +++ b/config.c >> @@ -1403,11 +1403,12 @@ const struct string_list >> *git_configset_get_value_multi(struct config_set *cs, c >> >> int git_configset_get_stri

Re: [PATCH v2 3/6] rewrite git_config() to use the config-set API

2014-07-25 Thread Tanay Abhra
On 7/25/2014 7:28 PM, Matthieu Moy wrote: > Tanay Abhra writes: > >> +struct config_set_element { >> +struct hashmap_entry ent; >> +char *key; >> +struct string_list value_list; >> +}; >> + >> +struct configset_list_item { &

Re: [RFC PATCH 2/3] home_config_path: allow NULL xdg parameter

2014-07-25 Thread Tanay Abhra
On 7/25/2014 7:14 PM, Matthieu Moy wrote: > This allows a caller to requst the global config file without requesting nit s/requst/request/ -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kern

[PATCH v2 5/6] config: add `git_die_config()` to the config-set API

2014-07-25 Thread Tanay Abhra
(!git_config_get_value(key, &value)) { /* NULL values not allowed */ if (!value) git_config_die(key); else /* do work */ } Signed-off-by: Tanay Abhra --- Documentation/technical/api-config.txt

[PATCH v2 6/6] Add tests for `git_config_get_string()`

2014-07-25 Thread Tanay Abhra
Add tests for `git_config_get_string()`, check whether it dies printing the line number and the file name if a NULL value is retrieved for the given key. Signed-off-by: Tanay Abhra --- t/t1308-config-set.sh | 9 + test-config.c | 10 ++ 2 files changed, 19 insertions

[PATCH v2 4/6] add a test for semantic errors in config files

2014-07-25 Thread Tanay Abhra
: Tanay Abhra --- t/t1308-config-set.sh | 11 +++ 1 file changed, 11 insertions(+) diff --git a/t/t1308-config-set.sh b/t/t1308-config-set.sh index 7fdf840..35c6ee2 100755 --- a/t/t1308-config-set.sh +++ b/t/t1308-config-set.sh @@ -197,4 +197,15 @@ test_expect_success 'proper error on

[PATCH v2 3/6] rewrite git_config() to use the config-set API

2014-07-25 Thread Tanay Abhra
to avoid config file rereads on each invocation during a git process lifetime. First invocation constructs the cache, and after that for each successive invocation, `git_config()` feeds values from the config cache instead of rereading the configuration files. Signed-off-by: Tanay Abhra

[PATCH v2 2/6] add line number and file name info to `config_set`

2014-07-25 Thread Tanay Abhra
Store file name and line number for each key-value pair in the cache during parsing of the configuration files. Signed-off-by: Tanay Abhra --- config.c | 19 ++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/config.c b/config.c index 06257d9..110f9a5 100644 --- a

[PATCH v2 1/6] config.c: fix accuracy of line number in errors

2014-07-25 Thread Tanay Abhra
the call to callback to get accurate line number in error messages. Commit-message-by: Tanay Abhra Signed-off-by: Tanay Abhra --- config.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/config.c b/config.c index 0d799e0..06257d9 100644 --- a/config.c +++ b

[PATCH v2 0/6] Rewrite `git_config()` using config-set API

2014-07-25 Thread Tanay Abhra
/gmane.comp.version-control.git/253862 [2]: http://thread.gmane.org/gmane.comp.version-control.git/254101 Tanay Abhra (6): config.c: fix accuracy of line number in errors add line number and file name info to `config_set` rewrite git_config() to use the config-set API add a test for semantic err

Re: [PATCH 5/7] enforce `xfuncname` precedence over `funcname`

2014-07-24 Thread Tanay Abhra
On 7/25/2014 2:52 AM, Ramsay Jones wrote: > On 24/07/14 20:54, Junio C Hamano wrote: >> Tanay Abhra writes: >> >>> If we take the easy way out, fixing UI mistakes would be easier, >>> just replace git_config_cache() with git_config_raw() for such cases. >>

Re: [PATCH 5/7] enforce `xfuncname` precedence over `funcname`

2014-07-24 Thread Tanay Abhra
On 7/25/2014 12:50 AM, Junio C Hamano wrote: > Matthieu Moy writes: > >> Tanay Abhra writes: >> >>> For core the only test failing was xfuncname vs funcname, >> >> Being a little pessimistic: there may be other cases where the hashtable >> magic

Re: [PATCH 1/7] config.c: fix accuracy of line number in errors

2014-07-24 Thread Tanay Abhra
On 7/25/2014 12:01 AM, Junio C Hamano wrote: > Tanay Abhra writes: > >> On 7/24/2014 3:19 AM, Junio C Hamano wrote: >>> Tanay Abhra writes: >>> >>>> If a callback returns a negative value to `git_config*()` family, >>>> they call `d

Re: [PATCH 5/7] enforce `xfuncname` precedence over `funcname`

2014-07-24 Thread Tanay Abhra
gitgui using the config files to save data. Cheers, Tanay Abhra. We will be forbidden from correcting a UI > mistake by using the approach we took to transtion "funcname" over > to "xfuncname" (i.e. giving users "funcname" and allowing the > platform BRE p

Re: [PATCH 0/7] Rewrite `git_config()` using config-set API

2014-07-24 Thread Tanay Abhra
On 7/24/2014 9:09 PM, Matthieu Moy wrote: > Tanay Abhra writes: > >> I am attaching the v12 with two new functions git_configset_get_string() & >> git_configset_get_string_const(). > > Didn't you intend to change git_config_get_string to let it die in case &

[PATCH v12 2/2] test-config: add tests for the config_set API

2014-07-24 Thread Tanay Abhra
Expose the `config_set` C API as a set of simple commands in order to facilitate testing. Add tests for the `config_set` API as well as for `git_config_get_*()` family for the usual config files. Signed-off-by: Matthieu Moy Signed-off-by: Tanay Abhra --- .gitignore| 1 + Makefile

[PATCH v12 1/2] add `config_set` API for caching config-like files

2014-07-24 Thread Tanay Abhra
`config_set` API. Signed-off-by: Matthieu Moy Signed-off-by: Tanay Abhra --- Documentation/technical/api-config.txt | 142 + cache.h| 32 config.c | 282 + setup.c

Re: [PATCH 0/7] Rewrite `git_config()` using config-set API

2014-07-24 Thread Tanay Abhra
> > Are you done with the original series, or do you still want to fix > the const-ness issue with the string pointer before working on > follow-up topics like this one? > I am attaching the v12 with two new functions git_configset_get_string() & git_configset_get_string_const(). Diff between v1

Re: [PATCH 3/7] add a test for semantic errors in config files

2014-07-24 Thread Tanay Abhra
On 7/24/2014 3:41 AM, Junio C Hamano wrote: > Matthieu Moy writes: > >> Tanay Abhra writes: >> >>> +test_expect_success 'check line errors for malformed values' ' >>> + cp .git/config .git/config.old && > > Should this be &

Re: [PATCH 1/7] config.c: fix accuracy of line number in errors

2014-07-24 Thread Tanay Abhra
On 7/24/2014 3:19 AM, Junio C Hamano wrote: > Tanay Abhra writes: > >> If a callback returns a negative value to `git_config*()` family, >> they call `die()` while printing the line number and the file name. >> Currently the printed line number is off by one, thus pr

[PATCH 5/7] enforce `xfuncname` precedence over `funcname`

2014-07-23 Thread Tanay Abhra
`funcname` variable, enforce `xfuncname` precedence over `funcname` when the variables have the same subsection. Remove dependency that required values to be fed to userdiff_config() in parsing order for the test to succeed. Signed-off-by: Tanay Abhra --- Note: this the only test that failed for the

[PATCH 0/7] Rewrite `git_config()` using config-set API

2014-07-23 Thread Tanay Abhra
git status now only rereads the configuration files twice instead of four times. [1]: http://thread.gmane.org/gmane.comp.version-control.git/253862 Tanay Abhra (7): Documentation/technical/api-config.txt | 5 ++ cache.h| 1 + config.c

[PATCH 2/7] rewrite git_config() to use the config-set API

2014-07-23 Thread Tanay Abhra
to avoid config file rereads on each invocation during a git process lifetime. First invocation constructs the cache, and after that for each successive invocation, `git_config()` feeds values from the config cache instead of rereading the configuration files. Signed-off-by: Tanay Abhra

[PATCH 4/7] add line number and file name info to `config_set`

2014-07-23 Thread Tanay Abhra
Store file name and line number for each key-value pair in the cache. Use the information to print line number and file name in errors raised by `git_config()` which now uses the configuration files caching layer internally. Signed-off-by: Tanay Abhra --- config.c | 32

[PATCH 6/7] config: add `git_die_config()` to the config-set API

2014-07-23 Thread Tanay Abhra
(!git_config_get_value(key, &value)) { /* NULL values not allowed */ if (!value) git_config_die(key); else /* do work */ } Signed-off-by: Tanay Abhra --- Documentation/technical/api-config.txt

[PATCH 3/7] add a test for semantic errors in config files

2014-07-23 Thread Tanay Abhra
: Tanay Abhra --- t/t1308-config-set.sh | 8 1 file changed, 8 insertions(+) diff --git a/t/t1308-config-set.sh b/t/t1308-config-set.sh index 7fdf840..bd033df 100755 --- a/t/t1308-config-set.sh +++ b/t/t1308-config-set.sh @@ -197,4 +197,12 @@ test_expect_success 'proper error on err

[PATCH 7/7] Add tests for `git_config_get_string()`

2014-07-23 Thread Tanay Abhra
Add tests for `git_config_get_string()`, check whether it dies printing the line number and the file name if an NULL value is retrieved for the given key. Signed-off-by: Tanay Abhra --- t/t1308-config-set.sh | 9 + test-config.c | 10 ++ 2 files changed, 19 insertions

[PATCH 1/7] config.c: fix accuracy of line number in errors

2014-07-23 Thread Tanay Abhra
get accurate line number in error messages. Discovered-by: Tanay Abhra Signed-off-by: Matthieu Moy --- config.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/config.c b/config.c index 22971e9..6db8f97 100644 --- a/config.c +++ b/config.c @@ -244,6 +244,7

Re: [PATCH] config.c: change the function signature of `git_config_string()`

2014-07-22 Thread Tanay Abhra
On 7/22/2014 5:14 PM, Matthieu Moy wrote: > Jeff King writes: > >> will complain that we are passing a pointer to "const char *", not a >> pointer to "char *". And indeed, compiling with your patch introduces a >> ton of compiler warnings. > > Tanay: are you not compiling with gcc -Wall -Werro

Re: [PATCH] config.c: change the function signature of `git_config_string()`

2014-07-22 Thread Tanay Abhra
On 7/22/2014 4:37 PM, Jeff King wrote: > On Tue, Jul 22, 2014 at 03:49:56AM -0700, Tanay Abhra wrote: > >> `git_config_string()` output parameter `dest` is declared as a const >> which is unnecessary as the caller of the function is given a strduped >> string which

[PATCH] config.c: change the function signature of `git_config_string()`

2014-07-22 Thread Tanay Abhra
`git_config_string()` output parameter `dest` is declared as a const which is unnecessary as the caller of the function is given a strduped string which can be modified without causing any harm. Thus, remove the const from the function signature. Signed-off-by: Tanay Abhra --- cache.h | 2

Re: [PATCH v3 2/6] branch.c: replace `git_config()` with `git_config_get_string()`

2014-07-21 Thread Tanay Abhra
On 7/21/2014 11:29 PM, Junio C Hamano wrote: > Tanay Abhra writes: > >> Use `git_config_get_string()` instead of `git_config()` to take advantage of >> the config-set API which provides a cleaner control flow. >> >> Signed-off-by: Tanay A

Re: [PATCH/RFC] rewrite `git_default_config()` using config-set API functions

2014-07-21 Thread Tanay Abhra
> >> +if > + git_config_get_string("core.notesref", (const >> char**)¬es_ref_name); > > This cast is needed only because notes_ref_name is declared as > non-const, but a better fix would be to make the variable const, and > remove the cast. Same casts had to be used in imap-send.c patch,

Re: [PATCH v3 0/6] git_config callers rewritten with the new config cache API

2014-07-21 Thread Tanay Abhra
On 7/21/2014 7:15 PM, Matthieu Moy wrote: > Tanay Abhra writes: > >> On 7/21/2014 6:21 PM, Matthieu Moy wrote: >>> 2) Add a by-address parameter to git_configset_get_value that allows the >>>user to get the file and line information. In your previous patch, &g

Re: [PATCH v3 0/6] git_config callers rewritten with the new config cache API

2014-07-21 Thread Tanay Abhra
On 7/21/2014 6:21 PM, Matthieu Moy wrote: > Tanay Abhra writes: > >> [PATCH v3]: Most of Eric's suggestions has been implemented. See [2] for >> discussion. >> Also, new helpers introduced in v7 of the config-set API series have >> been used. >>

[PATCH/RFC] rewrite `git_default_config()` using config-set API functions

2014-07-21 Thread Tanay Abhra
Use `git_config_get_*()` family instead of `git_config()` to take advantage of the config-set API which provides a cleaner control flow. Signed-off-by: Tanay Abhra --- Consider this as a proof of concept as the others callers have to be rewritten as well. I think that it is not so buggy as it

[PATCH v3 3/6] imap-send.c: replace `git_config()` with `git_config_get_*()` family

2014-07-21 Thread Tanay Abhra
Use `git_config_get_*()` family instead of `git_config()` to take advantage of the config-set API which provides a cleaner control flow. The function now raises an error instead of dying in cases where a NULL value is not allowed. Signed-off-by: Tanay Abhra --- imap-send.c | 62

[PATCH v3 0/6] git_config callers rewritten with the new config cache API

2014-07-21 Thread Tanay Abhra
I will try to correct this anomaly in my next series. [1]: http://thread.gmane.org/gmane.comp.version-control.git/253862 [2]: http://thread.gmane.org/gmane.comp.version-control.git/252334 Tanay Abhra (6): alias.c | 27 +++ branch.c | 24

[PATCH v3 1/6] alias.c: replace `git_config()` with `git_config_get_string()`

2014-07-21 Thread Tanay Abhra
Use `git_config_get_string()` instead of `git_config()` to take advantage of the config-set API which provides a cleaner control flow. The function now raises an error instead of dying when a NULL value is found. Signed-off-by: Tanay Abhra --- alias.c | 27 +++ 1 file

[PATCH v3 4/6] notes.c: replace `git_config()` with `git_config_get_value()`

2014-07-21 Thread Tanay Abhra
Use `git_config_get_value()` instead of `git_config()` to take advantage of the config-set API which provides a cleaner control flow, also previously 'string_list_add_refs_by_glob()' was called even when the retrieved value was NULL, correct it while we are at it. Signed-off-by: T

[PATCH v3 2/6] branch.c: replace `git_config()` with `git_config_get_string()`

2014-07-21 Thread Tanay Abhra
Use `git_config_get_string()` instead of `git_config()` to take advantage of the config-set API which provides a cleaner control flow. Signed-off-by: Tanay Abhra --- branch.c | 24 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/branch.c b/branch.c index

[PATCH v3 6/6] notes-util.c: replace `git_config()` with `git_config_get_value()`

2014-07-21 Thread Tanay Abhra
Use `git_config_get_value()` instead of `git_config()` to take advantage of the config-set API which provides a cleaner control flow. The function now raises an error instead of dying when a NULL value is found for key "notes.rewritemode". Signed-off-by: Tanay Abhra --- notes-ut

[PATCH v3 5/6] pager.c: replace `git_config()` with `git_config_get_value()`

2014-07-21 Thread Tanay Abhra
Use `git_config_get_value()` instead of `git_config()` to take advantage of the config-set API which provides a cleaner control flow. Signed-off-by: Tanay Abhra --- pager.c | 40 +--- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/pager.c b

[PATCH v2] add documentation for writing config files

2014-07-20 Thread Tanay Abhra
Replace TODO introduced in commit 9c3c22 with documentation explaining Git config API functions for writing configuration files. Signed-off-by: Tanay Abhra --- Minor nit corrected. Thanks for the review. Documentation/technical/api-config.txt | 31 ++- 1 file

[PATCH] add documentation for writing config files

2014-07-19 Thread Tanay Abhra
Replace TODO introduced in commit 9c3c22 with documentation explaining Git config API functions for writing configuration files. Signed-off-by: Tanay Abhra --- Documentation/technical/api-config.txt | 31 ++- 1 file changed, 30 insertions(+), 1 deletion(-) diff

[PATCH v11 2/4] replace memset with string-list initializers

2014-07-18 Thread Tanay Abhra
Using memset and then manually setting values of the string-list members is not future proof as the internal representation of string-list may change any time. Use `string_list_init()` or STRING_LIST_INIT_* macros instead of memset. Signed-off-by: Tanay Abhra --- builtin/commit.c | 3

[PATCH v11 1/4] string-list: add string_list initializer helper function

2014-07-18 Thread Tanay Abhra
The string-list API has STRING_LIST_INIT_* macros to be used to define variables with initializers, but lacks functions to initialize an uninitialized piece of memory to be used as a string-list at the run-time. Introduce `string_list_init()` function for that. Signed-off-by: Tanay Abhra

[PATCH v11 3/4] add `config_set` API for caching config-like files

2014-07-18 Thread Tanay Abhra
the `config_set` API. Signed-off-by: Matthieu Moy Signed-off-by: Tanay Abhra --- Documentation/technical/api-config.txt | 137 + cache.h| 30 config.c | 263 + setup.c

[PATCH v11 4/4] test-config: add tests for the config_set API

2014-07-18 Thread Tanay Abhra
Expose the `config_set` C API as a set of simple commands in order to facilitate testing. Add tests for the `config_set` API as well as for `git_config_get_*()` family for the usual config files. Signed-off-by: Matthieu Moy Signed-off-by: Tanay Abhra --- .gitignore| 1 + Makefile

[PATCH v11 0/4] git config cache & special querying api utilizing the cache

2014-07-18 Thread Tanay Abhra
hread.gmane.org/gmane.comp.version-control.git/253799 Tanay Abhra (4): string-list: add string_list initialiser helper functions Use string-list initializaer functions to rewrite config set test-config .gitignore | 1 + Documentation/technical/api-config.tx

<    1   2   3   4   >