diff options
author | Philippe Blain <levraiphilippeblain@gmail.com> | 2022-04-04 17:10:11 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-04-06 08:55:19 -0700 |
commit | 465b30a92d4c2c76e434790bdf487d57547a6cc4 (patch) | |
tree | b466d3fec11fd624b398884cc3b9932734910bd4 | |
parent | 4c53a8c20f8984adb226293a3ffd7b88c3f4ac1a (diff) | |
download | git-465b30a92d4c2c76e434790bdf487d57547a6cc4.tar.gz |
submodule.h: use a named enum for RECURSE_SUBMODULES_*
Using a named enum allows casting an integer to the enum type in both
GDB and LLDB:
$ gdb -q -ex 'b wt-status.c:44' -ex r --args ./git status
(gdb) p (enum color_wt_status) slot
$1 = WT_STATUS_ONBRANCH
$ lldb -o 'b wt-status.c:44' -o r -- ./git status
(lldb) p (color_wt_status) slot
(color_wt_status) $0 = WT_STATUS_ONBRANCH
In LLDB, it's also required to cast in the reversed direction, i.e.
cast an enum constant into its corresponding integer:
(lldb) p (int) color_wt_status::WT_STATUS_ONBRANCH
(int) $1 = 8
Name the enum listing the different RECURSE_SUBMODULES_* modes, to make
debugging easier. For example, when stepping through a part of the code
where an int is compared with a constant in this enum, it allows casting
the int to the enum type or vice-versa, after quickly checking where the
enum constant is declared and learning the enum name.
As to not make this patch a debug-only change, convert the
'fetch_recurse' member of 'struct submodule' to use the newly named
enum.
Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
Reviewed-by: Glen Choo <chooglen@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | submodule-config.h | 2 | ||||
-rw-r--r-- | submodule.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/submodule-config.h b/submodule-config.h index 65875b94ea..55a4c3e0bd 100644 --- a/submodule-config.h +++ b/submodule-config.h @@ -37,7 +37,7 @@ struct submodule { const char *path; const char *name; const char *url; - int fetch_recurse; + enum submodule_recurse_mode fetch_recurse; const char *ignore; const char *branch; struct submodule_update_strategy update_strategy; diff --git a/submodule.h b/submodule.h index 6bd2c99fd9..55cf6f01d0 100644 --- a/submodule.h +++ b/submodule.h @@ -13,7 +13,7 @@ struct repository; struct string_list; struct strbuf; -enum { +enum submodule_recurse_mode { RECURSE_SUBMODULES_ONLY = -5, RECURSE_SUBMODULES_CHECK = -4, RECURSE_SUBMODULES_ERROR = -3, |