This series adds a small test harness for interoperability tests. The heavy lifting is done by the normal test-lib.sh; this just makes it easy for you to have access to two git versions at the same time. This is something I've wanted a few times in the past when we make a fix that can only be tested when interacting with a different version of git. As we start to work on changes like new protocols or hash functions, this will hopefully make it easier to demonstrate what happens when an older version of git encounters our new features. This doesn't run when the regular test suite runs (it's likely to be a bit flakier, as it actually has to build the alternative versions separately). So I don't necessarily expect people to run it all the time. But it lets us write down in a repeatable way the sorts of testing that often ends up being done manually (or not at all) today. This series just adds the harness and a basic test that we can still clone from modern git using v1.0.0 (yay!). If people are interested, I suspect there are previous cases that could be backfilled. A few I can think of are: 1. How older versions handle repositoryformatversion=2. 2. Newer clients hitting older servers without various capabilities. One example is in: http://public-inbox.org/git/1433961320-1366-1-git-send-email-adgar@xxxxxxxxxx/ 3. Vice-versa: older clients without capabilities hitting newer servers (especially in exotic situations, like shallow clone). I don't think there's a huge value in doing that for old changes unless somebody has actively reported a problem. So only do it if it sounds like a fun experiment. :) [1/2]: t: add an interoperability test harness [2/2]: t/interop: add test of old clients against modern git-daemon Makefile | 3 ++ t/interop/.gitignore | 4 ++ t/interop/Makefile | 16 ++++++++ t/interop/README | 84 +++++++++++++++++++++++++++++++++++++++ t/interop/i0000-basic.sh | 27 +++++++++++++ t/interop/i5500-git-daemon.sh | 41 +++++++++++++++++++ t/interop/interop-lib.sh | 92 +++++++++++++++++++++++++++++++++++++++++++ t/lib-git-daemon.sh | 3 +- 8 files changed, 269 insertions(+), 1 deletion(-) create mode 100644 t/interop/.gitignore create mode 100644 t/interop/Makefile create mode 100644 t/interop/README create mode 100755 t/interop/i0000-basic.sh create mode 100755 t/interop/i5500-git-daemon.sh create mode 100644 t/interop/interop-lib.sh -Peff