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

Re: [PATCH 0/7] Fix some bugs in abspath.c

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 4, 2012, 18:08 UTC
Message-ID
<7va9x5bqz4.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1346746470-23127-1-git-send-email-mhagger@alum.mit.edu>
mhagger@alum.mit.edu writes:
Show 5 quoted lines
> From: Michael Haggerty <mhagger@alum.mit.edu>
>
> I really just wanted to tidy up filter_refs(), but I've been sucked
> into a cascade of recursive yak shaving.  This is my first attempt to
> pop the yak stack.
Thanks.
Show 7 quoted lines
> Please note that both absolute_path("") and real_path("") used to
> return the current directory followed by a slash.  I believe that this
> was a bug, and that it is more appropriate for both functions to
> reject the empty string.  The evidence is as follows:
>
> * If this were intended behavior, presumably the return value would
>   *not* have a trailing slash.

That is weak. The only thing you can infer from that observation is that the presense or absense of trailing '/' would not make any difference to the caller who wanted a path to the cwd (and is more convenient if the call is made so that a path relative to the cwd is tucked after it).

> * I couldn't find any callers that appeared to depend on the old
>   behavior.

That is a very good argument (especially if the audit were thorough).

I would be tempted to say that we should die() on "" for now, cook the result outside "master" for a few weeks while auditing the callchains, and see if any of them complains.

Previous: Michael HaggertyNext: Junio C Hamano
Message 23 of 25 in “Fix some bugs in abspath.c”
  1. 0/7 Fix some bugs in abspath.cmhagger@alum.mit.edu, Sep 4, 2012
  2. 1/7 t0000: verify that absolute_path() fails if passed the empty stringmhagger@alum.mit.edu, Sep 4, 2012
  3. 2/7 absolute_path(): reject the empty stringmhagger@alum.mit.edu, Sep 4, 2012
  4. 3/7 t0000: verify that real_path() fails if passed the empty stringmhagger@alum.mit.edu, Sep 4, 2012
  5. 4/7 real_path(): reject the empty stringmhagger@alum.mit.edu, Sep 4, 2012
  6. 5/7 t0000: verify that real_path() works correctly with absolute pathsmhagger@alum.mit.edu, Sep 4, 2012
  7. Johannes SixtSep 5, 2012
  8. Michael HaggertySep 6, 2012
  9. Junio C HamanoSep 6, 2012
  10. Michael HaggertySep 9, 2012
  11. Junio C HamanoSep 9, 2012
  12. Junio C HamanoSep 9, 2012
  13. 6/7 real_path(): properly handle nonexistent top-level pathsmhagger@alum.mit.edu, Sep 4, 2012
  14. 7/7 t0000: verify that real_path() removes extra slashesmhagger@alum.mit.edu, Sep 4, 2012
  15. Junio C HamanoSep 4, 2012
  16. Nguyen Thai Ngoc DuySep 5, 2012
  17. Junio C HamanoSep 6, 2012
  18. Nguyen Thai Ngoc DuySep 6, 2012
  19. Junio C HamanoSep 6, 2012
  20. Nguyen Thai Ngoc DuySep 7, 2012
  21. Johannes SixtSep 5, 2012
  22. Michael HaggertySep 6, 2012
  23. Junio C HamanoSep 4, 2012
  24. Junio C HamanoSep 4, 2012
  25. Nguyen Thai Ngoc DuySep 5, 2012

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.