All of lore.kernel.org
 help / color / mirror / Atom feed
From: "brian m. carlson" <sandals@crustytoothpaste.net>
To: Patrick Fong <patrickf3139@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [Bug report] git status doesn't escape paths of untracked files
Date: Tue, 8 Sep 2020 01:17:56 +0000	[thread overview]
Message-ID: <20200908011756.GG241078@camp.crustytoothpaste.net> (raw)
In-Reply-To: <CAMRL+qb0YC1EOTM-LDfMpJ=AJJ014LT5ufBcs0v77byN74A0vw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1539 bytes --]

On 2020-09-08 at 00:28:57, Patrick Fong wrote:
> What did you do before the bug happened? (Steps to reproduce your issue)
> touch "this is escaped"
> touch "this is not escaped"
> git add "this is escaped"
> git status --short
> 
> What did you expect to happen? (Expected behavior)
> I expected that git status --short would string escape both "this is
> escaped" and "this is not escaped" since they both contain spaces that
> need escaping.
> 
> What happened instead? (Actual behavior)
> git status did not string escape "this is not escaped" but it does if
> you add it to the index.
> 
> What's different between what you expected and what actually happened?
> 
> Anything else you want to add:
> Once you add "this is not escaped", git status will output it with
> quotes. git status --short seems to change its behavior of escaping
> based on whether the path is tracked or untracked.

git-status(1) says:

  If a filename contains whitespace or other nonprintable characters,
  that field will be quoted in the manner of a C string literal:
  surrounded by ASCII double quote (34) characters, and with interior
  special characters backslash-escaped.

Note that that differs from the standard behavior of not handling
spaces, which I expect is due to the need to handle renames
unambiguously.  We have some special handling in wt_shortstatus_status,
but not in wt_shortstatus_other.

Patch incoming once the testsuite finishes running on this commit.
-- 
brian m. carlson: Houston, Texas, US

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 263 bytes --]

  parent reply	other threads:[~2020-09-08  1:18 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-08  0:28 [Bug report] git status doesn't escape paths of untracked files Patrick Fong
2020-09-08  1:13 ` Junio C Hamano
2020-09-08  1:17 ` brian m. carlson [this message]
2020-09-08  1:30   ` Junio C Hamano
2020-09-08  4:41     ` Junio C Hamano
2020-09-08 17:39     ` Junio C Hamano
2020-09-08 19:01       ` Martin Ågren
2020-09-08 21:06       ` René Scharfe
2020-09-09 22:22         ` Junio C Hamano
2020-09-10 14:23           ` René Scharfe
2020-09-10 15:28             ` Junio C Hamano
2020-09-08  1:30 ` [PATCH] wt-status: quote paths identically whether tracked or untracked brian m. carlson
2020-09-08 20:52   ` [PATCH 0/6] quote_path() clean-ups Junio C Hamano
2020-09-08 20:52     ` [PATCH 1/6] quote_path: rename quote_path_relative() to quote_path() Junio C Hamano
2020-09-08 20:52     ` [PATCH 2/6] quote_path: give flags parameter " Junio C Hamano
2020-09-10 12:21       ` Jeff King
2020-09-10 15:04         ` Junio C Hamano
2020-09-10 15:17           ` Junio C Hamano
2020-09-10 20:26             ` Jeff King
2020-09-08 20:52     ` [PATCH 3/6] quote_path: optionally allow quoting a path with SP in it Junio C Hamano
2020-09-10 12:35       ` Jeff King
2020-09-08 20:52     ` [PATCH 4/6] wt-status: consistently quote paths in "status --short" output Junio C Hamano
2020-09-08 20:52     ` [PATCH 5/6] quote: rename misnamed sq_lookup[] to cq_lookup[] Junio C Hamano
2020-09-08 20:52     ` [PATCH 6/6] quote: turn 'nodq' parameter into a set of flags Junio C Hamano
2020-09-10 12:38       ` Jeff King
2020-09-08 22:56     ` [PATCH 0/6] quote_path() clean-ups Chris Torek
2020-09-10 12:39     ` Jeff King
2020-09-10 17:01     ` [PATCH v2 0/7] " Junio C Hamano
2020-09-10 17:01       ` [PATCH v2 1/7] quote_path: rename quote_path_relative() to quote_path() Junio C Hamano
2020-09-10 17:01       ` [PATCH v2 2/7] quote_path: give flags parameter " Junio C Hamano
2020-09-10 17:01       ` [PATCH v2 3/7] quote_path: optionally allow quoting a path with SP in it Junio C Hamano
2020-09-10 17:01       ` [PATCH v2 4/7] quote_path: code clarification Junio C Hamano
2020-09-10 18:08         ` Jeff King
2020-09-10 18:40           ` Junio C Hamano
2020-09-10 19:29             ` Jeff King
2020-09-10 17:01       ` [PATCH v2 5/7] wt-status: consistently quote paths in "status --short" output Junio C Hamano
2020-09-10 18:13         ` Jeff King
2020-09-10 18:38           ` Junio C Hamano
2020-09-10 17:01       ` [PATCH v2 6/7] quote: rename misnamed sq_lookup[] to cq_lookup[] Junio C Hamano
2020-09-10 17:01       ` [PATCH v2 7/7] quote: turn 'nodq' parameter into a set of flags Junio C Hamano
2020-09-10 23:03       ` [PATCH v2 0/7] quote_path() clean-ups brian m. carlson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200908011756.GG241078@camp.crustytoothpaste.net \
    --to=sandals@crustytoothpaste.net \
    --cc=git@vger.kernel.org \
    --cc=patrickf3139@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.