git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/9] Handle errors when setting configs
@ 2016-01-28  9:00 Patrick Steinhardt
  2016-01-28  9:00 ` [PATCH v2 1/9] config: introduce set_or_die wrappers Patrick Steinhardt
                   ` (9 more replies)
  0 siblings, 10 replies; 13+ messages in thread
From: Patrick Steinhardt @ 2016-01-28  9:00 UTC (permalink / raw)
  To: git; +Cc: Jeff King, Junio C Hamano, Patrick Steinhardt

I've finally got around to producing version two of my previous
patch to handle errors when setting configs. Back in September
I've posted a single patch to handle errors when
`install_branch_config` fails due to configuration failures [1].

Failure to write the configuration file may be caused by multiple
conditions, but the most common one will surely be the case where
the configuration is locked because of a leftover lock file or
because another process is currently writing to it. We used to
ignore those errors in many cases, possibly leading to
inconsistently configured repositories. More often than not git
even pretended that everything was fine and that the settings
have been applied when indeed they were not.

Version two of this patch is somewhat more involved in that I
tried to track down all relevant places where we set configs
without checking for error conditions. My current approach to
most of those cases is to just die with an error message, this
remains up to discussion though for the individual cases.

[1]: $gmane/278544

Patrick Steinhardt (9):
  config: introduce set_or_die wrappers
  branch: return error code for install_branch_config
  remote: handle config errors in set_url
  clone: handle config errors in cmd_clone
  branch: handle config errors when unsetting upstream
  init-db: handle config errors
  sequencer: handle config errors when saving opts
  submodule--helper: handle config errors
  compat: die when unable to set core.precomposeunicode

 branch.c                    | 31 +++++++++++++++++++++----------
 branch.h                    |  3 ++-
 builtin/branch.c            |  4 ++--
 builtin/clone.c             | 17 ++++++++++-------
 builtin/init-db.c           | 20 ++++++++++----------
 builtin/remote.c            | 11 ++++++-----
 builtin/submodule--helper.c |  4 ++--
 cache.h                     |  4 ++++
 compat/precompose_utf8.c    |  3 ++-
 config.c                    | 27 +++++++++++++++++++++++++++
 sequencer.c                 | 22 +++++++++++-----------
 t/t3200-branch.sh           | 16 +++++++++++++++-
 t/t5505-remote.sh           |  9 +++++++++
 transport.c                 | 11 ++++++-----
 14 files changed, 127 insertions(+), 55 deletions(-)

-- 
2.7.0

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2016-01-30 16:04 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-28  9:00 [PATCH v2 0/9] Handle errors when setting configs Patrick Steinhardt
2016-01-28  9:00 ` [PATCH v2 1/9] config: introduce set_or_die wrappers Patrick Steinhardt
2016-01-28  9:00 ` [PATCH v2 2/9] branch: return error code for install_branch_config Patrick Steinhardt
2016-01-28  9:00 ` [PATCH v2 3/9] remote: handle config errors in set_url Patrick Steinhardt
2016-01-28  9:00 ` [PATCH v2 4/9] clone: handle config errors in cmd_clone Patrick Steinhardt
2016-01-28  9:00 ` [PATCH v2 5/9] branch: handle config errors when unsetting upstream Patrick Steinhardt
2016-01-28  9:00 ` [PATCH v2 6/9] init-db: handle config errors Patrick Steinhardt
2016-01-28  9:00 ` [PATCH v2 7/9] sequencer: handle config errors when saving opts Patrick Steinhardt
2016-01-28  9:00 ` [PATCH v2 8/9] submodule--helper: handle config errors Patrick Steinhardt
2016-01-28  9:00 ` [PATCH v2 9/9] compat: die when unable to set core.precomposeunicode Patrick Steinhardt
2016-01-29  8:20 ` [PATCH v2 0/9] Handle errors when setting configs Jeff King
2016-01-29 18:55   ` Junio C Hamano
2016-01-30 16:03     ` Patrick Steinhardt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).