Code

t2200, t7004: Avoid glob pattern that also matches files
authorJohannes Sixt <j6t@kdbg.org>
Mon, 9 Feb 2009 09:24:51 +0000 (10:24 +0100)
committerJohannes Sixt <j6t@kdbg.org>
Thu, 19 Mar 2009 20:47:14 +0000 (21:47 +0100)
commit0aaaef7b0f83ccd97d586b5c951adcb912af2664
tree8523c0a21afe2351669a331c9bf361dd67a02c5c
parente2c2407683bf51c30004d2804623f2eb8e831b7a
t2200, t7004: Avoid glob pattern that also matches files

On Windows, there is an unfortunate interaction between the MSYS bash and
git's command line processing:

- Since Windows's CMD does not do the wildcard expansion, but passes
  arguments like path* through to the programs, the programs must do the
  expansion themselves. This happens in the startup code before main() is
  entered.

- bash, however, passes the argument "path*" to git, assuming that git will
  see the unquoted word unchanged as a single argument.

But actually git expands the unquoted word before main() is entered.

In t2200, not all names that the test case is interested in exist as files
at the time when 'git ls-files' is invoked. git expands "path?" to only
the subset of files the exist, and only that subset was listed, so that the
test failed.  We now list all interesting paths explicitly.

In t7004, git exanded the pattern "*a*" to "actual" (the file that stdout
was redirected to), which is not what the was tested for. We fix it by
renaming the output file (and removing any existing files matching *a*).
This was originally fixed by Johannes Schindelin.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
t/t2200-add-update.sh
t/t7004-tag.sh