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

Re: [PATCH v2 11/19] pull: check if in unresolved merge state

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 10, 2015, 17:14 UTC
Message-ID
<xmqq381zmqon.fsf@gitster.dls.corp.google.com>
In-Reply-To
<CACRoPnSQd_YEp4mNFbqDZtBJGztkHLXWbDojcAJRNvpynFRCew@mail.gmail.com>
Paul Tan <pyokagan@gmail.com> writes:
Show 21 quoted lines
> On Wed, Jun 10, 2015 at 10:38 PM, Junio C Hamano <gitster@pobox.com> wrote:
>>> If you are going to do the git_config() call yourself, it might make
>>> more sense to define git_pull_config() callback and parse the pull.ff
>>> yourself, updating the use of the lazy git_config_get_value() API you
>>> introduced in patch 10/19.
>>>
>>> The above "might" is stronger than my usual "might"; I am undecided
>>> yet before reading the remainder of the series.
>>
>> Let me clarify the above with s/stronger/with much less certainty/;
>
> Uh, I have no idea what a "strong might" or a "less certain might" is. :-/
>
> Parsing all the config values with a git_config() callback function is
> certainly possible, but I was under the impression that we are moving
> towards migrating use of all the git_config() callback loops to the
> git_config_get_X() API.
>
> In this case though, we have to use git_config() to initialize the
> advice.resolveConflict config setting, but I don't see why it must be
> in conflict with the above goal.

I (or at least some part of me) actually view git_config_get_*() as "if you are only going to peek a few variables, you do not have to do the looping yourself" convenience, which leads me (or at least that part of me) to say "if you are doing the looping anyway, you may be better off picking up the variables you care about yourself in that loop".

By calling git_config() before calling any git_config_get_*() functions, you would be priming the cache layer with the entire contents of the configuration files anyway, so later calls to git_config_get_*() will read from that cache, so there is no performance penalty in mixing the two methods to access configuration data. That is why I felt less certain that the suggestion to stick to one method (instead of mixing the two) is a good thing to do (hence "less certain 'might'").

Previous: Paul TanNext: Paul Tan
Message 28 of 48 in “Make git-pull a builtin”
  1. 00/19 Make git-pull a builtinPaul Tan, Jun 3, 2015
  2. 01/19 parse-options-cb: implement parse_opt_pass_strbuf()Paul Tan, Jun 3, 2015
  3. Junio C HamanoJun 9, 2015
  4. 02/19 parse-options-cb: implement parse_opt_pass_argv_array()Paul Tan, Jun 3, 2015
  5. Stefan BellerJun 3, 2015
  6. Junio C HamanoJun 9, 2015
  7. Paul TanJun 10, 2015
  8. Junio C HamanoJun 10, 2015
  9. 03/19 argv-array: implement argv_array_pushv()Paul Tan, Jun 3, 2015
  10. 04/19 pull: implement skeletal builtin pullPaul Tan, Jun 3, 2015
  11. Junio C HamanoJun 10, 2015
  12. 05/19 pull: implement fetch + mergePaul Tan, Jun 3, 2015
  13. Junio C HamanoJun 9, 2015
  14. 06/19 pull: pass verbosity, --progress flags to fetch and mergePaul Tan, Jun 3, 2015
  15. Junio C HamanoJun 9, 2015
  16. 07/19 pull: pass git-merge's options to git-mergePaul Tan, Jun 3, 2015
  17. 08/19 pull: pass git-fetch's options to git-fetchPaul Tan, Jun 3, 2015
  18. Stefan BellerJun 3, 2015
  19. 09/19 pull: error on no merge candidatesPaul Tan, Jun 3, 2015
  20. Junio C HamanoJun 9, 2015
  21. Paul TanJun 13, 2015
  22. 10/19 pull: support pull.ff configPaul Tan, Jun 3, 2015
  23. Junio C HamanoJun 9, 2015
  24. 11/19 pull: check if in unresolved merge statePaul Tan, Jun 3, 2015
  25. Junio C HamanoJun 10, 2015
  26. Junio C HamanoJun 10, 2015
  27. Paul TanJun 10, 2015
  28. Junio C HamanoJun 10, 2015
  29. Paul TanJun 14, 2015
  30. 12/19 pull: fast-forward working tree if head is updatedPaul Tan, Jun 3, 2015
  31. 13/19 pull: implement pulling into an unborn branchPaul Tan, Jun 3, 2015
  32. Junio C HamanoJun 10, 2015
  33. 14/19 pull: set reflog messagePaul Tan, Jun 3, 2015
  34. 15/19 pull: teach git pull about --rebasePaul Tan, Jun 3, 2015
  35. Junio C HamanoJun 10, 2015
  36. Paul TanJun 10, 2015
  37. Junio C HamanoJun 10, 2015
  38. Paul TanJun 10, 2015
  39. Junio C HamanoJun 10, 2015
  40. Junio C HamanoJun 10, 2015
  41. 16/19 pull: configure --rebase via branch.<name>.rebase or pull.rebasePaul Tan, Jun 3, 2015
  42. 17/19 pull --rebase: exit early when the working directory is dirtyPaul Tan, Jun 3, 2015
  43. Kevin DaudtJun 3, 2015
  44. Kevin DaudtJun 10, 2015
  45. 18/19 pull --rebase: error on no merge candidate casesPaul Tan, Jun 3, 2015
  46. Stefan BellerJun 3, 2015
  47. 19/19 pull: remove redirection to git-pull.shPaul Tan, Jun 3, 2015
  48. Stefan BellerJun 3, 2015

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.