status: refactor short-mode printing to its own function
We want to be able to call it from multiple places. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King committed
Sep 5, 2009 at 04:53 UTC
01d8ba187d6e8a6bfa908fbef16a36d1186981dd
1 file changed
+25
-20
builtin-commit.c
+25
-20
@@ -966,11 +966,32 @@ static void short_untracked(int null_termination, struct string_list_item *it,
966
}
967
}
968
969
+static void short_print(struct wt_status *s, int null_termination)
970
+{
971
+ int i;
972
+ for (i = 0; i < s->change.nr; i++) {
973
+ struct wt_status_change_data *d;
974
+ struct string_list_item *it;
975
+
976
+ it = &(s->change.items[i]);
977
+ d = it->util;
978
+ if (d->stagemask)
979
+ short_unmerged(null_termination, it, s);
980
+ else
981
+ short_status(null_termination, it, s);
982
+ }
983
+ for (i = 0; i < s->untracked.nr; i++) {
984
+ struct string_list_item *it;
985
+
986
+ it = &(s->untracked.items[i]);
987
+ short_untracked(null_termination, it, s);
988
+ }
989
+}
990
+
991
int cmd_status(int argc, const char **argv, const char *prefix)
992
{
993
struct wt_status s;
994
static int null_termination, shortstatus;
973
- int i;
995
unsigned char sha1[20];
996
static struct option builtin_status_options[] = {
997
OPT__VERBOSE(&verbose),
@@ -1003,25 +1024,9 @@ int cmd_status(int argc, const char **argv, const char *prefix)
1024
s.is_initial = get_sha1(s.reference, sha1) ? 1 : 0;
1025
wt_status_collect(&s);
1026
1006
- if (shortstatus) {
1007
- for (i = 0; i < s.change.nr; i++) {
1008
- struct wt_status_change_data *d;
1009
- struct string_list_item *it;
1010
-
1011
- it = &(s.change.items[i]);
1012
- d = it->util;
1013
- if (d->stagemask)
1014
- short_unmerged(null_termination, it, &s);
1015
- else
1016
- short_status(null_termination, it, &s);
1017
- }
1018
- for (i = 0; i < s.untracked.nr; i++) {
1019
- struct string_list_item *it;
1020
-
1021
- it = &(s.untracked.items[i]);
1022
- short_untracked(null_termination, it, &s);
1023
- }
1024
- } else {
1027
+ if (shortstatus)
1028
+ short_print(&s, null_termination);
1029
+ else {
1030
s.verbose = verbose;
1031
if (s.relative_paths)
1032
s.prefix = prefix;