git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] pathspec: die on empty strings as pathspec

From
Jeff King <peff@peff.net>
Date
Jun 10, 2017, 06:21 UTC
Message-ID
<20170610062151.fv7d4audrwav2hy3@sigill.intra.peff.net>
In-Reply-To
<xmqq60g56s6x.fsf@gitster.mtv.corp.google.com>
On Sat, Jun 10, 2017 at 01:28:54AM +0900, Junio C Hamano wrote:
Show 28 quoted lines
> Emily Xie <emilyxxie@gmail.com> writes:
> 
> > An empty string as a pathspec element matches all paths.  A buggy
> > script, however, could accidentally assign an empty string to a
> > variable that then gets passed to a Git command invocation, e.g.:
> >
> >   path=... compute a path to be removed in $path ...
> >         git rm -r "$path"
> >
> > which would unintentionally remove all paths in the current
> > directory.
> >
> > The fix for this issue comprises of two steps. Step 1, which warns
> > that empty strings as pathspecs will become invalid, has already
> > been implemented in commit d426430 ("pathspec: warn on empty strings
> > as pathspec", 2016-06-22).
> >
> > This patch is step 2. It removes the warning and throws an error
> > instead.
> >
> > Signed-off-by: Emily Xie <emilyxxie@gmail.com>
> > Reported-by: David Turner <novalis@novalis.org>
> > ---
> 
> We started this at v2.11.0 at the end of November 2016, and this
> cycle is expected to complete at around the end of July 2017, so
> this patch makes it a 8-month deprecation cycle.  I think that it
> should be long enough.

That's long enough for people who actually ran the intermediate versions. But what about people on distros who jump from v2.10 or lower straight to v2.14?

I think to catch them we'd literally need years on our deprecation schedules. Maybe it's not worth caring about. That's an awful long time for people who _are_ upgrading each version to see the warning. Of course the end game in this case is that it becomes an error, so they'll be notified either way. :)

I'm OK with this case being a relatively quick deprecation, but your "long enough" made me wonder how we would decide that.

-Peff
[1] Debian stable is set to release in a week or so. People doing that
    stable upgrade will go from v2.1.4 to v2.11.0. So they won't
    actually skip the deprecation notice, but they'll probably live with
    the warning for 3 years or so.
Previous: Junio C HamanoNext: Junio C Hamano
Message 3 of 12 in “pathspec: die on empty strings as pathspec”
  1. pathspec: die on empty strings as pathspecEmily Xie, Jun 7, 2017
  2. Junio C HamanoJun 9, 2017
  3. Jeff KingJun 10, 2017
  4. Junio C HamanoJun 10, 2017
  5. Brandon WilliamsJun 9, 2017
  6. Junio C HamanoJun 10, 2017
  7. Emily XieJun 23, 2017
  8. Junio C HamanoJun 23, 2017
  9. Junio C HamanoJun 23, 2017
  10. Junio C HamanoJun 23, 2017
  11. Torsten BögershausenJun 23, 2017
  12. Junio C HamanoJun 23, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.