Will be useful as a workaround where there are server bugs & avoid having
to retry across adapters without knowing whether the cause is transient
or not.
Fixes issue #1072. Currently, `git-lfs` installs filters which misinterpret
filenames with leading dashes as command line flags. Separate paths with a
double dash (`--`) when installing filters so these files are handled
properly.
The failing test now passes:
```
$ ./test/test-unusual-filenames.sh
...
test: push unusually named files ... OK
test: pull unusually named files ... OK
```
Give up trying to get the exact format to conform in all cases across
platforms & with varying environments. All we care about is whether the
right elements are there. This version is much more robust and doesn't
care about ordering or blanks
One issue: had to sort the results of the environment to make
comparisons consistent, appears that the ordering is not guaranteed and
that was failing some tests
We have to be able to convert from MinGW paths to native Windows paths,
and also to handle those paths in Bash without the '\' characters
escaping into tabs etc. This commit fixes the very first test in
test-env.sh as a proof of concept
Use `git rev-parse` to locate all dirs instead of manually recursing.
Could potentially remove manual processing of GIT_DIR and GIT_WORK_TREE
in future.
Had to remove test for using relative GIT_WORK_TREE with no GIT_DIR,
git rev-parse always fails in that case so it appears it's not supported
by git even though man git-config claims it is
Issue is that during 'git worktree add', git uses GIT_DIR to locate the
worktree girder, which then resolves via commondir. When actually running
in the worktree, it follows .git/git-dir THEN commondir. Generalised so
this now works, and introduced LocalGitStorageDir.