All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
To: git@vger.kernel.org
Subject: [PATCH] Add test case for running from a subdirectory with GIT_WORK_TREE
Date: Sat, 27 Oct 2007 15:19:54 +0700	[thread overview]
Message-ID: <20071027081954.GA23406@laptop> (raw)

This one is ugly (and not intended to submit to git.git), but
it shows how to reproduce the issues.  You can run it with
arg "--normal" to see it works just fine without GIT_WORK_TREE.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 t/t1502-subworktree.sh |  109 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 109 insertions(+), 0 deletions(-)
 create mode 100755 t/t1502-subworktree.sh

diff --git a/t/t1502-subworktree.sh b/t/t1502-subworktree.sh
new file mode 100755
index 0000000..6b8f02f
--- /dev/null
+++ b/t/t1502-subworktree.sh
@@ -0,0 +1,109 @@
+#!/bin/sh
+
+test_description='test commands on separate work tree'
+. ./test-lib.sh
+
+mkdir -p work/sub/dir || exit 1
+mv .git work
+if test "$1" = --normal; then
+	say "Normal case"
+else
+	say "Worktree case"
+fi
+test "$1" = --normal || mv work/.git repo.git || exit 1
+
+test "$1" = --normal || export GIT_DIR=$(pwd)/repo.git
+export GIT_CONFIG="$(pwd)"/$GIT_DIR/config
+test "$1" = --normal || export GIT_WORK_TREE=$(pwd)/work
+
+cd work/sub || exit 1
+
+cat >expected <<EOF
+100644 9daeafb9864cf43055ae93beb0afd6c7d144bfa4 0	dir/untracked
+EOF
+
+test_expect_success 'git-ls-files' 'test expected = "$(git ls-files --others)"'
+
+test_expect_success 'git-add' '
+	 ( : > dir/untracked &&
+	 git add dir/untracked &&
+	 test dir/untracked = "$(git ls-files)")
+'
+test_expect_success 'git-update-index' '
+	( echo test > dir/untracked &&
+	git update-index dir/untracked &&
+	git ls-files --stage > check &&
+	cmp expected check)
+'
+
+test_expect_success 'git-commit' 'git commit -m one'
+
+cat >expected <<EOF
+100644 blob 9daeafb9864cf43055ae93beb0afd6c7d144bfa4	dir/untracked
+EOF
+
+test_expect_success 'git-ls-tree' '
+	(git ls-tree -r HEAD > check &&
+	cmp expected check)
+'
+test_expect_success 'git-rm' '
+	 (git rm --cached dir/untracked &&
+	 test -z "$(git ls-files)")
+'
+test_expect_success 'git-reset' '
+	(git reset HEAD -- dir/untracked &&
+	test dir/untracked = "$(git ls-files)")
+'
+test_expect_success 'git-annotate' 'git annotate dir/untracked'
+
+test_expect_success 'git-blame' 'git blame dir/untracked'
+
+cat > patch <<EOF
+From b774efc5a2199bfc1c9c18db70363c69a5a10c86 Mon Sep 17 00:00:00 2001
+From: A U Thor <author@example.com>
+Date: Tue, 23 Oct 2007 21:17:24 +0700
+Subject: bah
+
+---
+ sub/dir/untracked |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/sub/dir/untracked b/sub/dir/untracked
+index 9daeafb..c73d3ff 100644
+--- a/sub/dir/untracked
++++ b/sub/dir/untracked
+@@ -1 +1,2 @@
+ test
++test again
+-- 
+1.5.3.rc4.3.gab089
+
+EOF
+
+cat > expected <<EOF
+100644 c73d3ffa5fa32888de8219e49fd45d37dc209677 0	dir/untracked
+EOF
+
+test_expect_success 'git-apply to index' '
+	(git apply --index patch &&
+	git ls-files --stage > check &&
+	cmp expected check)'
+
+test_expect_failure 'git-apply to worktree' 'test -f sub/dir/untracked'
+
+test_expect_success 'git-reset --hard' '( git reset --hard HEAD && test -z "$(git ls-files -m)")'
+
+test_expect_failure 'git-am must not be run from subdir' 'git-am -k patch'
+
+test_expect_success 'git-reset --hard' 'git reset --hard HEAD'
+
+test_expect_success 'git-am' '(cd .. && git-am -k sub/patch)'
+
+test_expect_success 'git-format-patch' '
+	(git format-patch -k HEAD^ &&
+	sed "1d;/^-- /,\$d" patch > expected &&
+	sed "1d;/^-- /,\$d" 0001-bah.patch > check &&
+	cmp expected check)
+'
+
+test_done
-- 
1.5.3.rc4.3.gab089

             reply	other threads:[~2007-10-27  8:20 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-27  8:19 Nguyễn Thái Ngọc Duy [this message]
2007-10-27 12:45 ` [PATCH] Add test case for running from a subdirectory with GIT_WORK_TREE Johannes Schindelin
     [not found]   ` <fcaeb9bf0710270557n48a01ba2w3a89f65680b946d@mail.gmail.com>
2007-10-27 13:27     ` Johannes Schindelin
2007-10-28  0:18   ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071027081954.GA23406@laptop \
    --to=pclouds@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.