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

Re: [PATCH v5 00/15] config: make git_config_set die on failure

From
Patrick Steinhardt <ps@pks.im>
Date
Feb 17, 2016, 10:35 UTC
Message-ID
<20160217103548.GC743@pks-xps.fritz.box>
In-Reply-To
<CAPig+cQav4AS6-RwUKGA2fmWxRL-2e2o72oYkk83emqz3z6q3w@mail.gmail.com>
On Tue, Feb 16, 2016 at 12:15:35PM -0500, Eric Sunshine wrote:
Show 33 quoted lines
> On Tue, Feb 16, 2016 at 7:56 AM, Patrick Steinhardt <ps@pks.im> wrote:
> > [...]
> > Junio pointed out that it might not always be the most sensible
> > thing to die when install_branch_config fails. After thinking
> > about it I changed the behavior of the function to print an error
> > and advise message and return an error code. The error code is
> > then only used by the `git branch --set-upstream-to=` command to
> > abort early, as its main intent will usually be to set the
> > tracking information. The other callers (related to git-clone and
> > git-push) simply ignore the returned value while the messages are
> > still printed.
> >
> > I think it does make sense to not abort clones and pushes when
> > the function fails. Setting the upstream information is only a
> > small part of these commands and especially when cloning a large
> > repository it is harmful to die as this would delete everything
> > that has just been cloned. The user can still fix up the remote
> > tracking branch afterwards.
> >
> > Interdiff between v4 and v5:
> >
> > diff --git a/branch.c b/branch.c
> > @@ -49,7 +49,13 @@ static int should_setup_rebase(const char *origin)
> > +static const char tracking_advice[] =
> > +N_("\n"
> > +"After fixing the error cause you may try to fix up\n"
> > +"the remote tracking information by invoking\n"
> > +"\"git branch --set-upstream-to=\".");
> 
> Do you have enough information at the point this message is emitted to
> make it even more useful for the user by showing the actual argument
> to --set-upstream-to= that the user would need to invoke once the
> issue is resolved?

Actually, yes. The message is invoked by `install_branch_config` which naturally has to know what upstream we want to set to. Will improve the message in the next revision, thanks.

Patrick
Previous: Eric Sunshine
Message 25 of 25 in “config: make git_config_set die on failure”
  1. 00/15 config: make git_config_set die on failurePatrick Steinhardt, Feb 16, 2016
  2. 01/15 config: introduce set_or_die wrappersPatrick Steinhardt, Feb 16, 2016
  3. 02/15 branch: report errors in tracking branch setupPatrick Steinhardt, Feb 16, 2016
  4. Junio C HamanoFeb 16, 2016
  5. Patrick SteinhardtFeb 17, 2016
  6. 03/15 branch: die on config error when unsetting upstreamPatrick Steinhardt, Feb 16, 2016
  7. 04/15 branch: die on config error when editing branch descriptionPatrick Steinhardt, Feb 16, 2016
  8. 05/15 submodule: die on config error when linking modulesPatrick Steinhardt, Feb 16, 2016
  9. 06/15 submodule--helper: die on config error when cloning modulePatrick Steinhardt, Feb 16, 2016
  10. 07/15 remote: die on config error when setting URLPatrick Steinhardt, Feb 16, 2016
  11. 08/15 remote: die on config error when setting/adding branchesPatrick Steinhardt, Feb 16, 2016
  12. 09/15 remote: die on config error when manipulating remotesPatrick Steinhardt, Feb 16, 2016
  13. 10/15 clone: die on config error in cmd_clonePatrick Steinhardt, Feb 16, 2016
  14. 11/15 init-db: die on config errors when initializing empty repoPatrick Steinhardt, Feb 16, 2016
  15. 12/15 sequencer: die on config error when saving replay optsPatrick Steinhardt, Feb 16, 2016
  16. 13/15 compat: die when unable to set core.precomposeunicodePatrick Steinhardt, Feb 16, 2016
  17. Lars SchneiderFeb 17, 2016
  18. Patrick SteinhardtFeb 17, 2016
  19. 14/15 config: rename git_config_set to git_config_set_gentlyPatrick Steinhardt, Feb 16, 2016
  20. 15/15 config: rename git_config_set_or_die to git_config_setPatrick Steinhardt, Feb 16, 2016
  21. Michael BlumeFeb 17, 2016
  22. Michael BlumeFeb 17, 2016
  23. Junio C HamanoFeb 17, 2016
  24. Eric SunshineFeb 16, 2016
  25. Patrick SteinhardtFeb 17, 2016

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.