git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Tanay Abhra <tanayabh@gmail.com>
Date
Aug 7, 2014, 11:59 UTC
Message-ID
<1407412759-13833-1-git-send-email-tanayabh@gmail.com>
[Patch v9]: Changed the grep statements in patch 7/8 and 8/8.
[Patch v8]: git_die_config now allows custom error messages.
	new tests are now not too reliant on specific strings.
[Patch v7]: style nit corrected. (1/8) is Matthieu's translation patch.
	git_die_config_linenr() helper function added. Diff between v6
	and v7 appended for review.
[Patch v6]: Added _(....) to error messages.
	Diff between v6 and v4 at the bottom.
[PATCH v5]: New patch added (3/7). git_config() now returns void.
[PATCH v4]: One style nit corrected, also added key to error messages.
[PATCH V3]:All the suggestions in [3] applied. Built on top of [1].
[PATCH V2]: All the suggestions in [2] incorporated. git_config() now follows
	correct parsing order. Reordered the patches. Removed xfuncname patch
	as it was unnecssary.

This series builds on the top of topic[1] in the mailing list with name "git config cache & special querying API utilizing the cache" or (ta/config-set in pu).

This series aims to do these three things,
* Use the config-set API to rewrite git_config().
* Solve any legacy bugs in the previous system while at it.
* To be feature complete compared to the previous git_config() implementation,
	which I think it is now. (added the line number and file name info just for
	completeness)

Also, I haven't yet checked the exact improvements but still as a teaser, git status now only rereads the configuration files twice instead of four 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

Matthieu Moy (1):
  config.c: mark error and warnings strings for translation
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
  config: add `git_die_config()` to the config-set API
  rewrite git_config() to use the config-set API
  add a test for semantic errors in config files
  add tests for `git_config_get_string_const()`
 Documentation/technical/api-config.txt |  13 +++
 branch.c                               |   5 +-
 cache.h                                |  34 +++++++-
 config.c                               | 152 +++++++++++++++++++++++++++------
 t/t1308-config-set.sh                  |  21 +++++
 t/t4055-diff-context.sh                |   2 +-
 test-config.c                          |  10 +++
 7 files changed, 207 insertions(+), 30 deletions(-)
-- 
1.9.0.GIT
Next: Tanay Abhra
Message 1 of 16 in “Rewrite `git_config()` using config-set API”
  1. 0/8 Rewrite `git_config()` using config-set APITanay Abhra, Aug 7, 2014
  2. 1/8 config.c: mark error and warnings strings for translationTanay Abhra, Aug 7, 2014
  3. 2/8 config.c: fix accuracy of line number in errorsTanay Abhra, Aug 7, 2014
  4. 3/8 add line number and file name info to `config_set`Tanay Abhra, Aug 7, 2014
  5. Ramsay JonesAug 7, 2014
  6. Matthieu MoyAug 7, 2014
  7. Junio C HamanoAug 7, 2014
  8. Matthieu MoyAug 7, 2014
  9. 4/8 change `git_config()` return value to voidTanay Abhra, Aug 7, 2014
  10. 5/8 config: add `git_die_config()` to the config-set APITanay Abhra, Aug 7, 2014
  11. Junio C HamanoAug 7, 2014
  12. Tanay AbhraAug 8, 2014
  13. 6/8 rewrite git_config() to use the config-set APITanay Abhra, Aug 7, 2014
  14. 7/8 add a test for semantic errors in config filesTanay Abhra, Aug 7, 2014
  15. 8/8 add tests for `git_config_get_string_const()`Tanay Abhra, Aug 7, 2014
  16. Matthieu MoyAug 7, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.