5c327502db
The following sequence leads to a "BUG" assertion running under MacOS: DIR=git-test-restore-p Adiarnfd=$(printf 'A\314\210') DIRNAME=xx${Adiarnfd}yy mkdir $DIR && cd $DIR && git init && mkdir $DIRNAME && cd $DIRNAME && echo "Initial" >file && git add file && echo "One more line" >>file && echo y | git restore -p . Initialized empty Git repository in /tmp/git-test-restore-p/.git/ BUG: pathspec.c:495: error initializing pathspec_item Cannot close git diff-index --cached --numstat [snip] The command `git restore` is run from a directory inside a Git repo. Git needs to split the $CWD into 2 parts: The path to the repo and "the rest", if any. "The rest" becomes a "prefix" later used inside the pathspec code. As an example, "/path/to/repo/dir-inside-repå" would determine "/path/to/repo" as the root of the repo, the place where the configuration file .git/config is found. The rest becomes the prefix ("dir-inside-repå"), from where the pathspec machinery expands the ".", more about this later. If there is a decomposed form, (making the decomposing visible like this), "dir-inside-rep°a" doesn't match "dir-inside-repå". Git commands need to: (a) read the configuration variable "core.precomposeunicode" (b) precocompose argv[] (c) precompose the prefix, if there was any The first commit, |
||
---|---|---|
.. | ||
nedmalloc | ||
poll | ||
regex | ||
vcbuild | ||
win32 | ||
access.c | ||
apple-common-crypto.h | ||
basename.c | ||
bswap.h | ||
compiler.h | ||
fileno.c | ||
fopen.c | ||
hstrerror.c | ||
inet_ntop.c | ||
inet_pton.c | ||
memmem.c | ||
mingw.c | ||
mingw.h | ||
mkdir.c | ||
mkdtemp.c | ||
mmap.c | ||
msvc.c | ||
msvc.h | ||
obstack.c | ||
obstack.h | ||
pread.c | ||
precompose_utf8.c | ||
precompose_utf8.h | ||
qsort_s.c | ||
setenv.c | ||
sha1-chunked.c | ||
sha1-chunked.h | ||
snprintf.c | ||
stat.c | ||
strcasestr.c | ||
strdup.c | ||
strlcpy.c | ||
strtoimax.c | ||
strtoumax.c | ||
terminal.c | ||
terminal.h | ||
unsetenv.c | ||
win32.h | ||
win32mmap.c | ||
winansi.c |