Re: Leading slash exclusion does not with git clean on Windows

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Adam,


On Wed, 16 Feb 2022, Adam Kapos wrote:

> I came across an issue where the leading slash exclusion pattern does
> not work with git clean on Windows.
>
> What did you do before the bug happened? (Steps to reproduce your issue)
>
> Run the following commands:
> 1. mkdir foo
> 2. mkdir -p bar/foo
> 3. git clean -fdx --exclude /foo
>
> What did you expect to happen? (Expected behavior)
> The root-level directory is not removed because it's excluded
>
> Removing bar/
>
> What happened instead? (Actual behavior)
> The root level directory is removed:
>
> Removing bar/
> Removing foo/
>
>
> What's different between what you expected and what actually happened?
> The root-level exclusion doesn't work

As mentioned in the Known Issues section of Git for Windows' Release Notes
(https://github.com/git-for-windows/build-extra/blob/master/ReleaseNotes.md#known-issues,
also available via Start Menu>Git>Git Release Notes):

	* If you specify command-line options starting with a slash,
	  POSIX-to-Windows path conversion will kick in converting e.g.
	  "`/usr/bin/bash.exe`" to "`C:\Program
	  Files\Git\usr\bin\bash.exe`". When that is not desired -- e.g.
	  "`--upload-pack=/opt/git/bin/git-upload-pack`" or "`-L/regex/`"
	  -- you need to set the environment variable `MSYS_NO_PATHCONV`
	  temporarily, like so:

	  > `MSYS_NO_PATHCONV=1 git blame -L/pathconv/ msys2_path_conv.cc`

	  Alternatively, you can double the first slash to avoid
	  POSIX-to-Windows path conversion, e.g. "`//usr/bin/bash.exe`".

Ciao,
Johannes

> Anything else you want to add:
>
> Please review the rest of the bug report below.
> You can delete any lines you don't wish to share.
>
>
> [System Info]
> git version:
> git version 2.35.1.windows.2, 2.31.1.windows.1
> cpu: x86_64
> built from commit: c5f0be26a7e3846e3b6268d1c6c4800d838c6bbb
> sizeof-long: 4
> sizeof-size_t: 8
> shell-path: /bin/sh
> feature: fsmonitor--daemon
> uname: Windows 10.0 22000
> compiler info: gnuc: 10.2
> libc info: no libc information available
> $SHELL (typically, interactive shell): C:\Program Files\Git\usr\bin\bash.exe
>
>
> [Enabled Hooks]
> post-commit
> post-checkout
> post-merge
> pre-push
>
> --
>
>
>
>
> **Confidentiality**
> The
>  information contained in this e-mail is
> confidential, may be privileged
>  and is intended solely for the use of the
> named addressee. Access to
> this e-mail by any other person is not
> authorised. If you are not the
> intended recipient, you should not
> disclose, copy, distribute, take any
> action or rely on it and you should
> please notify the sender by reply.
> Any opinions expressed are not
> necessarily those of the company.
>
> We
>  may monitor all incoming and
> outgoing emails in line with current
> legislation. We have taken steps to
> ensure that this email and
> attachments are free from any virus, but it
> remains your responsibility
> to ensure that viruses do not adversely affect
> you.
>
>
>




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux