aboutsummaryrefslogtreecommitdiffstats
path: root/ref-filter.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-01-25 14:19:17 -0800
committerJunio C Hamano <gitster@pobox.com>2021-01-25 14:19:17 -0800
commit9e409d7e0762ff55c2787b4a106bf80ab2d57471 (patch)
treeaf5e0a1c19792b91cee3794e2b20c2969cecca16 /ref-filter.h
parentMerge branch 'en/diffcore-rename' (diff)
parentbranch: show "HEAD detached" first under reverse sort (diff)
downloadgit-9e409d7e0762ff55c2787b4a106bf80ab2d57471.tar.gz
git-9e409d7e0762ff55c2787b4a106bf80ab2d57471.zip
Merge branch 'ab/branch-sort'
The implementation of "git branch --sort" wrt the detached HEAD display has always been hacky, which has been cleaned up. * ab/branch-sort: branch: show "HEAD detached" first under reverse sort branch: sort detached HEAD based on a flag ref-filter: move ref_sorting flags to a bitfield ref-filter: move "cmp_fn" assignment into "else if" arm ref-filter: add braces to if/else if/else chain branch tests: add to --sort tests branch: change "--local" to "--list" in comment
Diffstat (limited to 'ref-filter.h')
-rw-r--r--ref-filter.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/ref-filter.h b/ref-filter.h
index feaef4a8fd..19ea4c4134 100644
--- a/ref-filter.h
+++ b/ref-filter.h
@@ -28,9 +28,12 @@ struct atom_value;
struct ref_sorting {
struct ref_sorting *next;
int atom; /* index into used_atom array (internal) */
- unsigned reverse : 1,
- ignore_case : 1,
- version : 1;
+ enum {
+ REF_SORTING_REVERSE = 1<<0,
+ REF_SORTING_ICASE = 1<<1,
+ REF_SORTING_VERSION = 1<<2,
+ REF_SORTING_DETACHED_HEAD_FIRST = 1<<3,
+ } sort_flags;
};
struct ref_array_item {
@@ -109,8 +112,8 @@ void ref_array_clear(struct ref_array *array);
int verify_ref_format(struct ref_format *format);
/* Sort the given ref_array as per the ref_sorting provided */
void ref_array_sort(struct ref_sorting *sort, struct ref_array *array);
-/* Set the ignore_case flag for all elements of a sorting list */
-void ref_sorting_icase_all(struct ref_sorting *sorting, int flag);
+/* Set REF_SORTING_* sort_flags for all elements of a sorting list */
+void ref_sorting_set_sort_flags_all(struct ref_sorting *sorting, unsigned int mask, int on);
/* Based on the given format and quote_style, fill the strbuf */
int format_ref_array_item(struct ref_array_item *info,
const struct ref_format *format,