summaryrefslogtreecommitdiff
path: root/versioncmp.c
diff options
context:
space:
mode:
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>2023-03-28 14:04:23 (GMT)
committerJunio C Hamano <gitster@pobox.com>2023-03-28 14:37:53 (GMT)
commitf6f348a6d5d585fb3eda326a20bf2bab9e60ef51 (patch)
treecf5798983346fc4b351b00c6561e1a249b288767 /versioncmp.c
parentb83efcecaf12884d2bbb72b8ef2e4528205a0b02 (diff)
downloadgit-f6f348a6d5d585fb3eda326a20bf2bab9e60ef51.zip
git-f6f348a6d5d585fb3eda326a20bf2bab9e60ef51.tar.gz
git-f6f348a6d5d585fb3eda326a20bf2bab9e60ef51.tar.bz2
versioncmp.c: refactor config reading next commit
Refactor the reading of the versionSort.suffix and versionSort.prereleaseSuffix configuration variables to stay within the bounds of our CodingGuidelines when it comes to line length, and to avoid repeating ourselves. Renaming "deprecated_prereleases" to "oldl" doesn't help us to avoid line wrapping now, but it will in a subsequent commit. Let's also split out the names of the config variables into variables of our own, and refactor the nested if/else to avoid indenting it, and the existing bracing style issue. This all helps with the subsequent commit, where we'll need to start checking different git_config_get_value_multi() return value. See c026557a373 (versioncmp: generalize version sort suffix reordering, 2016-12-08) for the original implementation of most of this. Moving the "initialized = 1" assignment allows us to move some of this to the variable declarations in the subsequent commit. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'versioncmp.c')
-rw-r--r--versioncmp.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/versioncmp.c b/versioncmp.c
index 069ee94..323f5d3 100644
--- a/versioncmp.c
+++ b/versioncmp.c
@@ -160,15 +160,18 @@ int versioncmp(const char *s1, const char *s2)
}
if (!initialized) {
- const struct string_list *deprecated_prereleases;
+ const char *const newk = "versionsort.suffix";
+ const char *const oldk = "versionsort.prereleasesuffix";
+ const struct string_list *oldl;
+
+ prereleases = git_config_get_value_multi(newk);
+ oldl = git_config_get_value_multi(oldk);
+ if (prereleases && oldl)
+ warning("ignoring %s because %s is set", oldk, newk);
+ else if (!prereleases)
+ prereleases = oldl;
+
initialized = 1;
- prereleases = git_config_get_value_multi("versionsort.suffix");
- deprecated_prereleases = git_config_get_value_multi("versionsort.prereleasesuffix");
- if (prereleases) {
- if (deprecated_prereleases)
- warning("ignoring versionsort.prereleasesuffix because versionsort.suffix is set");
- } else
- prereleases = deprecated_prereleases;
}
if (prereleases && swap_prereleases(s1, s2, (const char *) p1 - s1 - 1,
&diff))