threads / discuss / 7798

t4201-shortlog.sh does bad things to my terminal

Subject: t4201-shortlog.sh does bad things to my terminal

## tl;dr

6 messages between Apr 23, 2007 and Apr 23, 2007.

replies: 5people: 3as markdown or json

Sven Verdoolaege· Apr 23, 2007, 17:03 UTC · lore
Running t4201-shortlog.sh in a non-utf8 terminal has some unpleasant effects:
bash-3.00$ xterm -v
XFree86 4.2.99.903(174)
bash-3.00$ locale
LANG=en_US
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE=POSIX
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=
bash-3.00$ sh ./t4201-shortlog.sh --verbose
Created commit b8ab028: This is a very, very long first line for the commit message to see if it is wrapped correctly
 1 files changed, 1 insertions(+), 1 deletions(-)
Created commit 3da0b85: Thð
(The cursor is now about half way the last line.)

It appears that this message is printing a control character to turn off echoing, because the terminal appears completely unresponsive afterwards. Typing "reset" restores the terminal.

Is this really necessary?
skimo
Johannes Schindelin· Apr 23, 2007, 17:29 UTC · re: Sven Verdoolaege · lore

Re: t4201-shortlog.sh does bad things to my terminal

Hi,
On Mon, 23 Apr 2007, Sven Verdoolaege wrote:
Show 5 quoted lines
> It appears that this message is printing a control character to turn off 
> echoing, because the terminal appears completely unresponsive 
> afterwards. Typing "reset" restores the terminal.
> 
> Is this really necessary?

On both accounts, no. I did not dream of these bytes being interpreted as control characters.

OTOH, you should not need to use --verbose anyway.

Ciao, Dscho

Sven Verdoolaege· Apr 23, 2007, 17:48 UTC · re: Johannes Schindelin · lore

Re: t4201-shortlog.sh does bad things to my terminal

On Mon, Apr 23, 2007 at 07:29:29PM +0200, Johannes Schindelin wrote:
> OTOH, you should not need to use --verbose anyway.

Well, it does the same thing when I don't use --verbose. I only noticed because "make test" stopped producing output.

skimo
Junio C Hamano· Apr 23, 2007, 18:37 UTC · re: Johannes Schindelin · lore

Re: t4201-shortlog.sh does bad things to my terminal

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 12 quoted lines
> On Mon, 23 Apr 2007, Sven Verdoolaege wrote:
>
>> It appears that this message is printing a control character to turn off 
>> echoing, because the terminal appears completely unresponsive 
>> afterwards. Typing "reset" restores the terminal.
>> 
>> Is this really necessary?
>
> On both accounts, no. I did not dream of these bytes being interpreted as 
> control characters.
>
> OTOH, you should not need to use --verbose anyway.

I think it's not Sven but you; you should use --quiet in your git commit if the log message has annoying characters.

Johannes Schindelin· Apr 23, 2007, 18:46 UTC · re: Junio C Hamano · lore

Re: t4201-shortlog.sh does bad things to my terminal

Hi,
On Mon, 23 Apr 2007, Junio C Hamano wrote:
Show 17 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 
> > On Mon, 23 Apr 2007, Sven Verdoolaege wrote:
> >
> >> It appears that this message is printing a control character to turn off 
> >> echoing, because the terminal appears completely unresponsive 
> >> afterwards. Typing "reset" restores the terminal.
> >> 
> >> Is this really necessary?
> >
> > On both accounts, no. I did not dream of these bytes being interpreted as 
> > control characters.
> >
> > OTOH, you should not need to use --verbose anyway.
> 
> I think it's not Sven but you; you should use --quiet in your
> git commit if the log message has annoying characters.
Ah!

I see where this is coming from: c7263d4d "Display the subject of the commit just made".

Here's the fix:

-- snip -- [PATCH] t4201: Do not display weird characters on the terminal

Now that git-commit got chatty, we have to shut it up again.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 t/t4201-shortlog.sh |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/t/t4201-shortlog.sh b/t/t4201-shortlog.sh
index c27e39c..a48733c 100755
--- a/t/t4201-shortlog.sh
+++ b/t/t4201-shortlog.sh
@@ -15,19 +15,19 @@ commit=$( (echo "Test"; echo) | git commit-tree $tree )
 git update-ref HEAD $commit
 
 echo 2 > a1
-git commit -m "This is a very, very long first line for the commit message to see if it is wrapped correctly" a1
+git commit --quiet -m "This is a very, very long first line for the commit message to see if it is wrapped correctly" a1
 
 # test if the wrapping is still valid when replacing all i's by treble clefs.
 echo 3 > a1
-git commit -m "$(echo "This is a very, very long first line for the commit message to see if it is wrapped correctly" | sed "s/i/1234/g" | tr 1234 '\360\235\204\236')" a1
+git commit --quiet -m "$(echo "This is a very, very long first line for the commit message to see if it is wrapped correctly" | sed "s/i/1234/g" | tr 1234 '\360\235\204\236')" a1
 
 # now fsck up the utf8
 git repo-config i18n.commitencoding non-utf-8
 echo 4 > a1
-git commit -m "$(echo "This is a very, very long first line for the commit message to see if it is wrapped correctly" | sed "s/i/1234/g" | tr 1234 '\370\235\204\236')" a1
+git commit --quiet -m "$(echo "This is a very, very long first line for the commit message to see if it is wrapped correctly" | sed "s/i/1234/g" | tr 1234 '\370\235\204\236')" a1
 
 echo 5 > a1
-git commit -m "a								12	34	56	78" a1
+git commit --quiet -m "a								12	34	56	78" a1
 
 git shortlog -w HEAD > out
 
-- 
1.5.2.rc0.2414.g4e945
Junio C Hamano· Apr 23, 2007, 20:14 UTC · re: Johannes Schindelin · lore

Re: t4201-shortlog.sh does bad things to my terminal

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 6 quoted lines
> Ah!
>
> I see where this is coming from: c7263d4d "Display the subject of the 
> commit just made".
>
> Here's the fix:
thanks.

← back to recent threads