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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is the fourth version of my patch series. Version three of
these patches can be found at [1]. These patches convert the
`git_config_set` family of functions such that they die by
default whenever an error is encountered in persisting configs.
This catches a lot of cases where we wrote configs without
checking the returned status code, thus leading to inconsistent
state witouth even notifying the user.

This version combines both version 2 ([2]) and version 3 of this
patch series in that we first introduce `git_config_set_or_die`
wrappers and converting most call sites to use these. After the
conversion is done, we rename `git_config_set` to
`git_config_set_gently` and adjusting remaining call sites. The
last step was to rename `git_config_set_or_die` to
`git_config_set` in order to get the desired default behavior.

This back-and-forth should hopefully help easing the transition
and review by breaking down the actual transition into small
pieces.

[1]: http://article.gmane.org/gmane.comp.version-control.git/285198
[2]: http://article.gmane.org/gmane.comp.version-control.git/285000

Patrick Steinhardt (15):
  config: introduce set_or_die wrappers
  branch: die on error in setting up tracking branch
  branch: die on config error when unsetting upstream
  branch: die on config error when editing branch description
  submodule: die on config error when linking modules
  submodule--helper: die on config error when cloning module
  remote: die on config error when setting URL
  remote: die on config error when setting/adding branches
  remote: die on config error when manipulating remotes
  clone: die on config error in cmd_clone
  init-db: die on config errors when initializing empty repo
  sequencer: die on config error when saving replay opts
  compat: die when unable to set core.precomposeunicode
  config: rename git_config_set to git_config_set_gently
  config: rename git_config_set_or_die to git_config_set

 branch.c                 | 13 +++++----
 branch.h                 |  1 +
 builtin/branch.c         |  5 ++--
 builtin/clone.c          |  2 +-
 builtin/config.c         | 28 +++++++++----------
 builtin/init-db.c        |  2 +-
 builtin/remote.c         | 70 +++++++++++++++++-------------------------------
 cache.h                  | 14 ++++++----
 compat/precompose_utf8.c |  3 ++-
 config.c                 | 52 ++++++++++++++++++++++++++---------
 submodule.c              | 10 +++----
 t/t3200-branch.sh        | 16 ++++++++++-
 t/t5505-remote.sh        |  9 +++++++
 13 files changed, 128 insertions(+), 97 deletions(-)

-- 
2.7.0

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]