Subject: Re: [PATCH 0/4] tests: use "git xyzzy" form

From: Junio C Hamano <[email-masked]>
Date: Wed, 03 Sep 2008 13:01:56 -0700

Andreas Ericsson <[email-masked]> writes:

> Nanako Shiraishi wrote:
>> These four patches update test scripts to use "git xyzzy" format so that
>> they can serve as sample usage for git commands better.
>>
>>  [PATCH 1/4] tests: use "git xyzzy" form (t0000 - t3599)
>>  [PATCH 2/4] tests: use "git xyzzy" form (t3600 - t6999)
>>  [PATCH 3/4] tests: use "git xyzzy" form (t7000 - t7199)
>>  [PATCH 4/4] tests: use "git xyzzy" form (t7200 - t9001)
>
> Are you absolutely 100% certain that what you're testing is still
> the files in the build directory after applying these patches?

Very good point, but that issue has been with us forever before these
patches, because many command invocations do use "git foo" form already.
t/test-lib.sh is supposed to make sure the tests do not refer to installed
git.

My primary development box does not have any git installed on the system
path, and I keep a bunch of installations with prefix=$HOME/git-$variant/
where $variant are master, next, maint, plus things like v1.3.0, v1.4.4.4,
etc.

$PATH begins with "/home/junio/gitstuff/bin:/home/junio/git-active/bin:"
before the usual /usr/bin:/bin and friends.  "gitstuff" has things like
stgit, guilt and tig but no git in it.  $HOME/git-active is a symbolic
link to point at a specific variant installed, usually 'next' but switched
to 'master' during the -rc cycle.

I created a copy of installation from git-master in git-dontuse, replaced
all git and git subcommands with this shell script, and pointed at it with
$HOME/git-active:

    #!/bin/sh
    echo "DO NOT USE ME"
    echo "DO NOT USE ME" >&2
    exit 1

The test passes, with or without these four patches.