Commit be3a78c
committed
repo: support safe.directory with %(prefix)/
Git for Windows does some truly bizarre things with
paths that start with a forward slash; and expects you
to escape that with `%(prefix)`. This syntax generally
means to add the prefix that Git was installed to -- eg
`/usr/local` -- unless it's an absolute path, in which
case the leading `%(prefix)/` is just removed. And Git
for Windows expects you to use this syntax for absolute
Unix-style paths (in "Git Bash" or Windows Subsystem for
Linux).
Worse, the behavior used to be that a leading `/` was
not absolute. It would indicate that Git for Windows
should add the prefix. So `//` is required for absolute
Unix-style paths. Yes, this is truly horrifying.
Emulate that behavior, I guess, but only for absolute
paths. We won't deal with the Git install prefix. Also,
give WSL users an escape hatch where they don't have to
think about this and can use the literal path that the
filesystem APIs provide (`//wsl.localhost/...`).1 parent 1be7064 commit be3a78c
1 file changed
Lines changed: 39 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
496 | 496 | | |
497 | 497 | | |
498 | 498 | | |
499 | | - | |
| 499 | + | |
500 | 500 | | |
501 | | - | |
502 | | - | |
503 | | - | |
504 | | - | |
505 | | - | |
| 501 | + | |
506 | 502 | | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
507 | 540 | | |
508 | 541 | | |
509 | 542 | | |
| |||
0 commit comments