Re: Path differences between git status & git status --porcelain
- From
- Tone Kastlunger <users.giulietta@gmail.com>
- Date
- Mar 27, 2022, 16:06 UTC
- Message-ID
- <CAHCc5YV2Bn5NOfZvdSu6c=nERizmKrPbmGoFWkB=T58BjQ=9UQ@mail.gmail.com>
- In-Reply-To
- <xmqqzglc5ih8.fsf@gitster.g>
Oh Sorry, the --porcelain=v2 went by unnoticed (not mentioned in the docs).
Thanks for the clarification! Best, tk
On Sun, Mar 27, 2022 at 2:47 AM Junio C Hamano <gitster@pobox.com> wrote:
Show 39 quoted lines
> > Tone Kastlunger <users.giulietta@gmail.com> writes: > > > "git status --porcelain" output from the same location: > > > > ....cutted stuff to keep things clean... > > M src/api/db.py <---- Notice the missing ".." in front of the > > (modified) file path. > > > > Is this intentional/expected behaviour; and if not, we were wondering > > if this is a known issue? > > Yes, this is working as designed and any future versions of Git will > not change it. Scripts can forever rely on the fact that it can get > paths relative to the root of the working tree regardless of where > in the working tree they start. > > You can add this: > > [status] > relativepaths=no > > to your ~/.gitconfig and "git status" (without --porcelain option) > will also show paths relative to the root of the working tree > (i.e. without ugly ../ prefix). > > We made --porcelain=v2 to get affected by the status.relativepaths > configuration, which may probably have been a mistake, but that is > also too late to fix now. It defaults to show paths relative to the > directory the command happened to be run, and in order to get a > reliable output, the calling script must override status.relativepaths > configuration variable the end-user may have, e.g. > > git -c status.relativepaths=no status --porcelain=v2 > > > > >