@matheusbsbs / matheus-bagliano / commits / f7c8588322
Fork 0

t1510: setup case #15

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Nguyễn Thái Ngọc Duy committed Nov 26, 2010 at 22:32 UTC f7c85883224600c3027bc2faced0368ccb933c4f
1 file changed +268
t/t1510-repo-setup.sh
+268
@@ -1957,4 +1957,272 @@ EOF
1957 test_repo 14/sub/sub "$TRASH_DIRECTORY/14/.git"
1958 '
1959
1960 +#
1961 +# case #15
1962 +#
1963 +############################################################
1964 +#
1965 +# Input:
1966 +#
1967 +# - GIT_WORK_TREE is set
1968 +# - GIT_DIR is set
1969 +# - core.worktree is set
1970 +# - .git is a file
1971 +# - core.bare is not set, cwd is outside .git
1972 +#
1973 +# Output:
1974 +#
1975 +# #7 except that git_dir is set by .git file
1976 +
1977 +test_expect_success '#15: setup' '
1978 + unset GIT_DIR GIT_WORK_TREE &&
1979 + mkdir 15 15/sub 15/sub/sub 15.wt 15.wt/sub 15/wt 15/wt/sub &&
1980 + cd 15 &&
1981 + git init &&
1982 + git config core.worktree non-existent &&
1983 + mv .git ../15.git &&
1984 + echo gitdir: ../15.git >.git &&
1985 + cd ..
1986 +'
1987 +
1988 +test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=root at root' '
1989 + cat >15/expected <<EOF &&
1990 +setup: git_dir: $TRASH_DIRECTORY/15.git
1991 +setup: worktree: $TRASH_DIRECTORY/15
1992 +setup: cwd: $TRASH_DIRECTORY/15
1993 +setup: prefix: (null)
1994 +EOF
1995 + test_repo 15 .git "$TRASH_DIRECTORY/15"
1996 +'
1997 +
1998 +test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=root(rel) at root' '
1999 + cat >15/expected <<EOF &&
2000 +setup: git_dir: $TRASH_DIRECTORY/15.git
2001 +setup: worktree: $TRASH_DIRECTORY/15
2002 +setup: cwd: $TRASH_DIRECTORY/15
2003 +setup: prefix: (null)
2004 +EOF
2005 + test_repo 15 .git .
2006 +'
2007 +
2008 +test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=root at root' '
2009 + cat >15/expected <<EOF &&
2010 +setup: git_dir: $TRASH_DIRECTORY/15.git
2011 +setup: worktree: $TRASH_DIRECTORY/15
2012 +setup: cwd: $TRASH_DIRECTORY/15
2013 +setup: prefix: (null)
2014 +EOF
2015 + test_repo 15 "$TRASH_DIRECTORY/15/.git" "$TRASH_DIRECTORY/15"
2016 +'
2017 +
2018 +test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=root(rel) at root' '
2019 + cat >15/expected <<EOF &&
2020 +setup: git_dir: $TRASH_DIRECTORY/15.git
2021 +setup: worktree: $TRASH_DIRECTORY/15
2022 +setup: cwd: $TRASH_DIRECTORY/15
2023 +setup: prefix: (null)
2024 +EOF
2025 + test_repo 15 "$TRASH_DIRECTORY/15/.git" .
2026 +'
2027 +
2028 +test_expect_failure '#15: GIT_DIR(rel), GIT_WORKTREE=root in subdir' '
2029 + cat >15/sub/sub/expected <<EOF &&
2030 +setup: git_dir: $TRASH_DIRECTORY/15.git
2031 +setup: worktree: $TRASH_DIRECTORY/15
2032 +setup: cwd: $TRASH_DIRECTORY/15
2033 +setup: prefix: sub/sub/
2034 +EOF
2035 + test_repo 15/sub/sub ../../.git "$TRASH_DIRECTORY/15"
2036 +'
2037 +
2038 +test_expect_failure '#15: GIT_DIR(rel), GIT_WORKTREE=root(rel) in subdir' '
2039 + cat >15/sub/sub/expected <<EOF &&
2040 +setup: git_dir: $TRASH_DIRECTORY/15.git
2041 +setup: worktree: $TRASH_DIRECTORY/15
2042 +setup: cwd: $TRASH_DIRECTORY/15
2043 +setup: prefix: sub/sub/
2044 +EOF
2045 + test_repo 15/sub/sub ../../.git ../..
2046 +'
2047 +
2048 +test_expect_failure '#15: GIT_DIR, GIT_WORKTREE=root in subdir' '
2049 + cat >15/sub/expected <<EOF &&
2050 +setup: git_dir: $TRASH_DIRECTORY/15.git
2051 +setup: worktree: $TRASH_DIRECTORY/15
2052 +setup: cwd: $TRASH_DIRECTORY/15
2053 +setup: prefix: sub/
2054 +EOF
2055 + test_repo 15/sub "$TRASH_DIRECTORY/15/.git" "$TRASH_DIRECTORY/15"
2056 +'
2057 +
2058 +test_expect_failure '#15: GIT_DIR, GIT_WORKTREE=root(rel) in subdir' '
2059 + cat >15/sub/sub/expected <<EOF &&
2060 +setup: git_dir: $TRASH_DIRECTORY/15.git
2061 +setup: worktree: $TRASH_DIRECTORY/15
2062 +setup: cwd: $TRASH_DIRECTORY/15
2063 +setup: prefix: sub/sub/
2064 +EOF
2065 + test_repo 15/sub/sub "$TRASH_DIRECTORY/15/.git" ../..
2066 +'
2067 +
2068 +test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=wt at root' '
2069 + cat >15/expected <<EOF &&
2070 +setup: git_dir: $TRASH_DIRECTORY/15.git
2071 +setup: worktree: $TRASH_DIRECTORY/15/wt
2072 +setup: cwd: $TRASH_DIRECTORY/15
2073 +setup: prefix: (null)
2074 +EOF
2075 + test_repo 15 .git "$TRASH_DIRECTORY/15/wt"
2076 +'
2077 +
2078 +test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) at root' '
2079 + cat >15/expected <<EOF &&
2080 +setup: git_dir: $TRASH_DIRECTORY/15.git
2081 +setup: worktree: $TRASH_DIRECTORY/15/wt
2082 +setup: cwd: $TRASH_DIRECTORY/15
2083 +setup: prefix: (null)
2084 +EOF
2085 + test_repo 15 .git wt
2086 +'
2087 +
2088 +test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=wt(rel) at root' '
2089 + cat >15/expected <<EOF &&
2090 +setup: git_dir: $TRASH_DIRECTORY/15.git
2091 +setup: worktree: $TRASH_DIRECTORY/15/wt
2092 +setup: cwd: $TRASH_DIRECTORY/15
2093 +setup: prefix: (null)
2094 +EOF
2095 + test_repo 15 "$TRASH_DIRECTORY/15/.git" wt
2096 +'
2097 +
2098 +test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=wt at root' '
2099 + cat >15/expected <<EOF &&
2100 +setup: git_dir: $TRASH_DIRECTORY/15.git
2101 +setup: worktree: $TRASH_DIRECTORY/15/wt
2102 +setup: cwd: $TRASH_DIRECTORY/15
2103 +setup: prefix: (null)
2104 +EOF
2105 + test_repo 15 "$TRASH_DIRECTORY/15/.git" "$TRASH_DIRECTORY/15/wt"
2106 +'
2107 +
2108 +test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=wt in subdir' '
2109 + cat >15/sub/sub/expected <<EOF &&
2110 +setup: git_dir: $TRASH_DIRECTORY/15.git
2111 +setup: worktree: $TRASH_DIRECTORY/15/wt
2112 +setup: cwd: $TRASH_DIRECTORY/15/sub/sub
2113 +setup: prefix: (null)
2114 +EOF
2115 + test_repo 15/sub/sub ../../.git "$TRASH_DIRECTORY/15/wt"
2116 +'
2117 +
2118 +test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) in subdir' '
2119 + cat >15/sub/sub/expected <<EOF &&
2120 +setup: git_dir: $TRASH_DIRECTORY/15.git
2121 +setup: worktree: $TRASH_DIRECTORY/15/wt
2122 +setup: cwd: $TRASH_DIRECTORY/15/sub/sub
2123 +setup: prefix: (null)
2124 +EOF
2125 + test_repo 15/sub/sub ../../.git ../../wt
2126 +'
2127 +
2128 +test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=wt(rel) in subdir' '
2129 + cat >15/sub/sub/expected <<EOF &&
2130 +setup: git_dir: $TRASH_DIRECTORY/15.git
2131 +setup: worktree: $TRASH_DIRECTORY/15/wt
2132 +setup: cwd: $TRASH_DIRECTORY/15/sub/sub
2133 +setup: prefix: (null)
2134 +EOF
2135 + test_repo 15/sub/sub "$TRASH_DIRECTORY/15/.git" ../../wt
2136 +'
2137 +
2138 +test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=wt in subdir' '
2139 + cat >15/sub/sub/expected <<EOF &&
2140 +setup: git_dir: $TRASH_DIRECTORY/15.git
2141 +setup: worktree: $TRASH_DIRECTORY/15/wt
2142 +setup: cwd: $TRASH_DIRECTORY/15/sub/sub
2143 +setup: prefix: (null)
2144 +EOF
2145 + test_repo 15/sub/sub "$TRASH_DIRECTORY/15/.git" "$TRASH_DIRECTORY/15/wt"
2146 +'
2147 +
2148 +test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=.. at root' '
2149 + cat >15/expected <<EOF &&
2150 +setup: git_dir: $TRASH_DIRECTORY/15.git
2151 +setup: worktree: $TRASH_DIRECTORY
2152 +setup: cwd: $TRASH_DIRECTORY
2153 +setup: prefix: 15/
2154 +EOF
2155 + test_repo 15 .git "$TRASH_DIRECTORY"
2156 +'
2157 +
2158 +test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=..(rel) at root' '
2159 + cat >15/expected <<EOF &&
2160 +setup: git_dir: $TRASH_DIRECTORY/15.git
2161 +setup: worktree: $TRASH_DIRECTORY
2162 +setup: cwd: $TRASH_DIRECTORY
2163 +setup: prefix: 15/
2164 +EOF
2165 + test_repo 15 .git ..
2166 +'
2167 +
2168 +test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=..(rel) at root' '
2169 + cat >15/expected <<EOF &&
2170 +setup: git_dir: $TRASH_DIRECTORY/15.git
2171 +setup: worktree: $TRASH_DIRECTORY
2172 +setup: cwd: $TRASH_DIRECTORY
2173 +setup: prefix: 15/
2174 +EOF
2175 + test_repo 15 "$TRASH_DIRECTORY/15/.git" ..
2176 +'
2177 +
2178 +test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=.. at root' '
2179 + cat >15/expected <<EOF &&
2180 +setup: git_dir: $TRASH_DIRECTORY/15.git
2181 +setup: worktree: $TRASH_DIRECTORY
2182 +setup: cwd: $TRASH_DIRECTORY
2183 +setup: prefix: 15/
2184 +EOF
2185 + test_repo 15 "$TRASH_DIRECTORY/15/.git" "$TRASH_DIRECTORY"
2186 +'
2187 +
2188 +test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=.. in subdir' '
2189 + cat >15/sub/sub/expected <<EOF &&
2190 +setup: git_dir: $TRASH_DIRECTORY/15.git
2191 +setup: worktree: $TRASH_DIRECTORY
2192 +setup: cwd: $TRASH_DIRECTORY
2193 +setup: prefix: 15/sub/sub/
2194 +EOF
2195 + test_repo 15/sub/sub ../../.git "$TRASH_DIRECTORY"
2196 +'
2197 +
2198 +test_expect_failure '#15: GIT_DIR(rel), GIT_WORK_TREE=..(rel) in subdir' '
2199 + cat >15/sub/sub/expected <<EOF &&
2200 +setup: git_dir: $TRASH_DIRECTORY/15.git
2201 +setup: worktree: $TRASH_DIRECTORY
2202 +setup: cwd: $TRASH_DIRECTORY
2203 +setup: prefix: 15/sub/sub/
2204 +EOF
2205 + test_repo 15/sub/sub ../../.git ../../..
2206 +'
2207 +
2208 +test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=..(rel) in subdir' '
2209 + cat >15/sub/sub/expected <<EOF &&
2210 +setup: git_dir: $TRASH_DIRECTORY/15.git
2211 +setup: worktree: $TRASH_DIRECTORY
2212 +setup: cwd: $TRASH_DIRECTORY
2213 +setup: prefix: 15/sub/sub/
2214 +EOF
2215 + test_repo 15/sub/sub "$TRASH_DIRECTORY/15/.git" ../../../
2216 +'
2217 +
2218 +test_expect_failure '#15: GIT_DIR, GIT_WORK_TREE=.. in subdir' '
2219 + cat >15/sub/sub/expected <<EOF &&
2220 +setup: git_dir: $TRASH_DIRECTORY/15.git
2221 +setup: worktree: $TRASH_DIRECTORY
2222 +setup: cwd: $TRASH_DIRECTORY
2223 +setup: prefix: 15/sub/sub/
2224 +EOF
2225 + test_repo 15/sub/sub "$TRASH_DIRECTORY/15/.git" "$TRASH_DIRECTORY"
2226 +'
2227 +
2228 test_done