threads / patch / 50975

patchstatus: add an empty line when there is no hint

Subject: [PATCH] status: add an empty line when there is no hint

## tl;dr

3 messages between Apr 23, 2019 and Apr 30, 2019. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

John Lin· Apr 23, 2019, 09:18 UTC · lore

When typing "git status", there is an empty line between the "Changes not staged for commit:" block and the list of changed files. However, when typing "git commit" with no files added, there are no empty lines between them.

This patch adds empty lines in the above case and some similar cases.

Signed-off-by: John Lin <johnlinp@gmail.com>
---
 wt-status.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
Show changes to wt-status.c +8 −4
diff --git a/wt-status.c b/wt-status.c
index 445a36204a..0766e3ee12 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -175,7 +175,7 @@ static void wt_longstatus_print_unmerged_header(struct wt_status *s)
 	}
 
 	if (!s->hints)
-		return;
+		goto conclude;
 	if (s->whence != FROM_COMMIT)
 		;
 	else if (!s->is_initial)
@@ -193,6 +193,7 @@ static void wt_longstatus_print_unmerged_header(struct wt_status *s)
 	} else {
 		status_printf_ln(s, c, _("  (use \"git add/rm <file>...\" as appropriate to mark resolution)"));
 	}
+conclude:
 	status_printf_ln(s, c, "%s", "");
 }
 
@@ -202,13 +203,14 @@ static void wt_longstatus_print_cached_header(struct wt_status *s)
 
 	status_printf_ln(s, c, _("Changes to be committed:"));
 	if (!s->hints)
-		return;
+		goto conclude;
 	if (s->whence != FROM_COMMIT)
 		; /* NEEDSWORK: use "git reset --unresolve"??? */
 	else if (!s->is_initial)
 		status_printf_ln(s, c, _("  (use \"git reset %s <file>...\" to unstage)"), s->reference);
 	else
 		status_printf_ln(s, c, _("  (use \"git rm --cached <file>...\" to unstage)"));
+conclude:
 	status_printf_ln(s, c, "%s", "");
 }
 
@@ -220,7 +222,7 @@ static void wt_longstatus_print_dirty_header(struct wt_status *s,
 
 	status_printf_ln(s, c, _("Changes not staged for commit:"));
 	if (!s->hints)
-		return;
+		goto conclude;
 	if (!has_deleted)
 		status_printf_ln(s, c, _("  (use \"git add <file>...\" to update what will be committed)"));
 	else
@@ -228,6 +230,7 @@ static void wt_longstatus_print_dirty_header(struct wt_status *s,
 	status_printf_ln(s, c, _("  (use \"git checkout -- <file>...\" to discard changes in working directory)"));
 	if (has_dirty_submodules)
 		status_printf_ln(s, c, _("  (commit or discard the untracked or modified content in submodules)"));
+conclude:
 	status_printf_ln(s, c, "%s", "");
 }
 
@@ -238,8 +241,9 @@ static void wt_longstatus_print_other_header(struct wt_status *s,
 	const char *c = color(WT_STATUS_HEADER, s);
 	status_printf_ln(s, c, "%s:", what);
 	if (!s->hints)
-		return;
+		goto conclude;
 	status_printf_ln(s, c, _("  (use \"git %s <file>...\" to include in what will be committed)"), how);
+conclude:
 	status_printf_ln(s, c, "%s", "");
 }
 
-- 
2.21.0
Phil Hord· Apr 30, 2019, 03:12 UTC · re: John Lin · lore

Re: [PATCH] status: add an empty line when there is no hint

You should probably add some test that demonstrates what your change intends to do. For that matter, though, your test already breaks at least two tests in t7508-status.sh:

not ok 14 - status (advice.statusHints false) not ok 23 - status -uno (advice.statusHints false)

Phil
On Tue, Apr 23, 2019 at 2:21 AM John Lin <johnlinp@gmail.com> wrote:
Show 82 quoted lines
>
> When typing "git status", there is an empty line between
> the "Changes not staged for commit:" block and the list
> of changed files. However, when typing "git commit" with
> no files added, there are no empty lines between them.
>
> This patch adds empty lines in the above case and some
> similar cases.
>
> Signed-off-by: John Lin <johnlinp@gmail.com>
> ---
>  wt-status.c | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/wt-status.c b/wt-status.c
> index 445a36204a..0766e3ee12 100644
> --- a/wt-status.c
> +++ b/wt-status.c
> @@ -175,7 +175,7 @@ static void wt_longstatus_print_unmerged_header(struct wt_status *s)
>         }
>
>         if (!s->hints)
> -               return;
> +               goto conclude;
>         if (s->whence != FROM_COMMIT)
>                 ;
>         else if (!s->is_initial)
> @@ -193,6 +193,7 @@ static void wt_longstatus_print_unmerged_header(struct wt_status *s)
>         } else {
>                 status_printf_ln(s, c, _("  (use \"git add/rm <file>...\" as appropriate to mark resolution)"));
>         }
> +conclude:
>         status_printf_ln(s, c, "%s", "");
>  }
>
> @@ -202,13 +203,14 @@ static void wt_longstatus_print_cached_header(struct wt_status *s)
>
>         status_printf_ln(s, c, _("Changes to be committed:"));
>         if (!s->hints)
> -               return;
> +               goto conclude;
>         if (s->whence != FROM_COMMIT)
>                 ; /* NEEDSWORK: use "git reset --unresolve"??? */
>         else if (!s->is_initial)
>                 status_printf_ln(s, c, _("  (use \"git reset %s <file>...\" to unstage)"), s->reference);
>         else
>                 status_printf_ln(s, c, _("  (use \"git rm --cached <file>...\" to unstage)"));
> +conclude:
>         status_printf_ln(s, c, "%s", "");
>  }
>
> @@ -220,7 +222,7 @@ static void wt_longstatus_print_dirty_header(struct wt_status *s,
>
>         status_printf_ln(s, c, _("Changes not staged for commit:"));
>         if (!s->hints)
> -               return;
> +               goto conclude;
>         if (!has_deleted)
>                 status_printf_ln(s, c, _("  (use \"git add <file>...\" to update what will be committed)"));
>         else
> @@ -228,6 +230,7 @@ static void wt_longstatus_print_dirty_header(struct wt_status *s,
>         status_printf_ln(s, c, _("  (use \"git checkout -- <file>...\" to discard changes in working directory)"));
>         if (has_dirty_submodules)
>                 status_printf_ln(s, c, _("  (commit or discard the untracked or modified content in submodules)"));
> +conclude:
>         status_printf_ln(s, c, "%s", "");
>  }
>
> @@ -238,8 +241,9 @@ static void wt_longstatus_print_other_header(struct wt_status *s,
>         const char *c = color(WT_STATUS_HEADER, s);
>         status_printf_ln(s, c, "%s:", what);
>         if (!s->hints)
> -               return;
> +               goto conclude;
>         status_printf_ln(s, c, _("  (use \"git %s <file>...\" to include in what will be committed)"), how);
> +conclude:
>         status_printf_ln(s, c, "%s", "");
>  }
>
> --
> 2.21.0
>
林自均· Apr 30, 2019, 04:46 UTC · re: Phil Hord · lore

Re: [PATCH] status: add an empty line when there is no hint

Hi Phil,

Thank you for the review! I will fix the test cases and submit a new version of my patch.

Best, John Lin

Phil Hord <phil.hord@gmail.com> 於 2019年4月30日 週二 上午11:12寫道:
Show 93 quoted lines
>
> You should probably add some test that demonstrates what your change
> intends to do.  For that matter, though, your test already breaks at
> least two tests in t7508-status.sh:
>
> not ok 14 - status (advice.statusHints false)
> not ok 23 - status -uno (advice.statusHints false)
>
> Phil
>
> On Tue, Apr 23, 2019 at 2:21 AM John Lin <johnlinp@gmail.com> wrote:
> >
> > When typing "git status", there is an empty line between
> > the "Changes not staged for commit:" block and the list
> > of changed files. However, when typing "git commit" with
> > no files added, there are no empty lines between them.
> >
> > This patch adds empty lines in the above case and some
> > similar cases.
> >
> > Signed-off-by: John Lin <johnlinp@gmail.com>
> > ---
> >  wt-status.c | 12 ++++++++----
> >  1 file changed, 8 insertions(+), 4 deletions(-)
> >
> > diff --git a/wt-status.c b/wt-status.c
> > index 445a36204a..0766e3ee12 100644
> > --- a/wt-status.c
> > +++ b/wt-status.c
> > @@ -175,7 +175,7 @@ static void wt_longstatus_print_unmerged_header(struct wt_status *s)
> >         }
> >
> >         if (!s->hints)
> > -               return;
> > +               goto conclude;
> >         if (s->whence != FROM_COMMIT)
> >                 ;
> >         else if (!s->is_initial)
> > @@ -193,6 +193,7 @@ static void wt_longstatus_print_unmerged_header(struct wt_status *s)
> >         } else {
> >                 status_printf_ln(s, c, _("  (use \"git add/rm <file>...\" as appropriate to mark resolution)"));
> >         }
> > +conclude:
> >         status_printf_ln(s, c, "%s", "");
> >  }
> >
> > @@ -202,13 +203,14 @@ static void wt_longstatus_print_cached_header(struct wt_status *s)
> >
> >         status_printf_ln(s, c, _("Changes to be committed:"));
> >         if (!s->hints)
> > -               return;
> > +               goto conclude;
> >         if (s->whence != FROM_COMMIT)
> >                 ; /* NEEDSWORK: use "git reset --unresolve"??? */
> >         else if (!s->is_initial)
> >                 status_printf_ln(s, c, _("  (use \"git reset %s <file>...\" to unstage)"), s->reference);
> >         else
> >                 status_printf_ln(s, c, _("  (use \"git rm --cached <file>...\" to unstage)"));
> > +conclude:
> >         status_printf_ln(s, c, "%s", "");
> >  }
> >
> > @@ -220,7 +222,7 @@ static void wt_longstatus_print_dirty_header(struct wt_status *s,
> >
> >         status_printf_ln(s, c, _("Changes not staged for commit:"));
> >         if (!s->hints)
> > -               return;
> > +               goto conclude;
> >         if (!has_deleted)
> >                 status_printf_ln(s, c, _("  (use \"git add <file>...\" to update what will be committed)"));
> >         else
> > @@ -228,6 +230,7 @@ static void wt_longstatus_print_dirty_header(struct wt_status *s,
> >         status_printf_ln(s, c, _("  (use \"git checkout -- <file>...\" to discard changes in working directory)"));
> >         if (has_dirty_submodules)
> >                 status_printf_ln(s, c, _("  (commit or discard the untracked or modified content in submodules)"));
> > +conclude:
> >         status_printf_ln(s, c, "%s", "");
> >  }
> >
> > @@ -238,8 +241,9 @@ static void wt_longstatus_print_other_header(struct wt_status *s,
> >         const char *c = color(WT_STATUS_HEADER, s);
> >         status_printf_ln(s, c, "%s:", what);
> >         if (!s->hints)
> > -               return;
> > +               goto conclude;
> >         status_printf_ln(s, c, _("  (use \"git %s <file>...\" to include in what will be committed)"), how);
> > +conclude:
> >         status_printf_ln(s, c, "%s", "");
> >  }
> >
> > --
> > 2.21.0
> >

← back to recent threads