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

Re: [RFC/PATCH] commit: allow partial commits with relative paths

From
Erik Faye-Lund <kusmabite@gmail.com>
Date
Jul 28, 2011, 07:38 UTC
Message-ID
<CABPQNSb_k8Ye1zaD6rJcfXPT1_pOU9NBG_Z7pFDgNqtUyL4GUQ@mail.gmail.com>
In-Reply-To
<CAEBDL5XJbYT9yczZiVPpeA3mpROuKQdw+-AOJjUmRp4W6M5uzg@mail.gmail.com>
On Wed, Jul 27, 2011 at 12:19 PM, John Szakmeister <john@szakmeister.net> wrote:
Show 28 quoted lines
> On Wed, Jul 27, 2011 at 5:53 AM, Michael J Gruber
> <git@drmicha.warpmail.net> wrote:
> [snip]
>> I can't reproduce that name truncation with a current git, btw. (So I
>> won't bother bisecting where we removed a spurious offset by "prefix".)
>
> I can:
>
> :: git --version
> git version 1.7.6.347.g4db0d
> :: git init reproduce-bug
> Initialized empty Git repository in /Users/jszakmeister/tmp/reproduce-bug/.git/
> :: cd reproduce-bug
> :: echo foo > foo.txt
> :: mkdir bar
> :: echo bar bar/bar.txt
> bar bar/bar.txt
> :: git add .
> :: git commit -m '.'
> [master (root-commit) a5f76f1] .
>  2 files changed, 2 insertions(+), 0 deletions(-)
>  create mode 100644 bar/bar.txt
>  create mode 100644 foo.txt
> :: cd bar
> :: git rm ../foo.txt
> rm 'foo.txt'
> :: git commit ../foo.txt
> error: pathspec 'txt' did not match any file(s) known to git.

What seems to happen here, is report_path_error gets called with a pathspec that doesn't contain the prefix (which is "bar/"), yet it tries to skip prefix_len characters ahead in it when reporting.

Why the pathspec isn't prefixed by "bar/" is because of the normalize_path_copy-call in prefix_path, when called through get_pathspec("bar/", {"../foo.txt", NULL}).

Previous: Junio C HamanoNext: Junio C Hamano
Message 17 of 37 in “Possible bug”
  1. Reuben ThomasJul 23, 2011
  2. commit: allow partial commits with relative pathsMichael J Gruber, Jul 25, 2011
  3. Junio C HamanoJul 25, 2011
  4. Junio C HamanoJul 25, 2011
  5. Michael J GruberJul 27, 2011
  6. Reuben ThomasJul 27, 2011
  7. Michael J GruberJul 27, 2011
  8. Reuben ThomasJul 27, 2011
  9. John SzakmeisterJul 27, 2011
  10. ls-files: fix pathspec display on errorMichael J Gruber, Jul 27, 2011
  11. Clemens BuchacherJul 29, 2011
  12. Junio C HamanoAug 1, 2011
  13. test ls-files with relative pathsClemens Buchacher, Aug 1, 2011
  14. Junio C HamanoAug 1, 2011
  15. ls-files: fix pathspec display on errorClemens Buchacher, Aug 1, 2011
  16. Junio C HamanoAug 1, 2011
  17. Erik Faye-LundJul 28, 2011
  18. Junio C HamanoJul 27, 2011
  19. Junio C HamanoJul 27, 2011
  20. Michael J GruberJul 27, 2011
  21. commit: allow partial commits with relative pathsClemens Buchacher, Jul 29, 2011
  22. Michael J GruberJul 30, 2011
  23. Clemens BuchacherJul 30, 2011
  24. Michael J GruberJul 30, 2011
  25. commit: allow partial commits with relative pathsClemens Buchacher, Jul 30, 2011
  26. Junio C HamanoAug 1, 2011
  27. Junio C HamanoAug 2, 2011
  28. Clemens BuchacherAug 3, 2011
  29. Junio C HamanoAug 3, 2011
  30. renaming pathspec_prefix (was: Re: [PATCH v2] commit: allow partial commits with relative paths)Clemens Buchacher, Sep 4, 2011
  31. 1/3 remove prefix argument from pathspec_prefixClemens Buchacher, Sep 4, 2011
  32. Junio C HamanoSep 6, 2011
  33. Junio C HamanoSep 6, 2011
  34. Clemens BuchacherSep 8, 2011
  35. Junio C HamanoSep 8, 2011
  36. 2/3 consolidate pathspec_prefix and common_prefixClemens Buchacher, Sep 4, 2011
  37. 3/3 rename pathspec_prefix -> common_prefix and move to dir.[ch]Clemens Buchacher, Sep 4, 2011

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.