@matheusbsbs / matheus-bagliano / commits / 00bc13a977
Fork 0

t1510: setup case #27

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 00bc13a9774610de0ea0952d0f011b14c18e52cb
1 file changed +268
t/t1510-repo-setup.sh
+268
@@ -3854,4 +3854,272 @@ EOF
3854 test_repo 26/sub "$TRASH_DIRECTORY/26/.git"
3855 '
3856
3857 +#
3858 +# case #27
3859 +#
3860 +############################################################
3861 +#
3862 +# Input:
3863 +#
3864 +# - GIT_WORK_TREE is set
3865 +# - GIT_DIR is set
3866 +# - .git is a file
3867 +# - core.worktree is not set
3868 +# - core.bare is set
3869 +#
3870 +# Output:
3871 +#
3872 +# #19 except git_dir is set according to .git file
3873 +
3874 +test_expect_success '#27: setup' '
3875 + unset GIT_DIR GIT_WORK_TREE &&
3876 + mkdir 27 27/sub 27/sub/sub 27.wt 27.wt/sub 27/wt 27/wt/sub &&
3877 + cd 27 &&
3878 + git init &&
3879 + git config core.bare true &&
3880 + mv .git ../27.git &&
3881 + echo gitdir: ../27.git >.git &&
3882 + cd ..
3883 +'
3884 +
3885 +test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=root at root' '
3886 + cat >27/expected <<EOF &&
3887 +setup: git_dir: $TRASH_DIRECTORY/27.git
3888 +setup: worktree: $TRASH_DIRECTORY/27
3889 +setup: cwd: $TRASH_DIRECTORY/27
3890 +setup: prefix: (null)
3891 +EOF
3892 + test_repo 27 .git "$TRASH_DIRECTORY/27"
3893 +'
3894 +
3895 +test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=root(rel) at root' '
3896 + cat >27/expected <<EOF &&
3897 +setup: git_dir: $TRASH_DIRECTORY/27.git
3898 +setup: worktree: $TRASH_DIRECTORY/27
3899 +setup: cwd: $TRASH_DIRECTORY/27
3900 +setup: prefix: (null)
3901 +EOF
3902 + test_repo 27 .git .
3903 +'
3904 +
3905 +test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=root at root' '
3906 + cat >27/expected <<EOF &&
3907 +setup: git_dir: $TRASH_DIRECTORY/27.git
3908 +setup: worktree: $TRASH_DIRECTORY/27
3909 +setup: cwd: $TRASH_DIRECTORY/27
3910 +setup: prefix: (null)
3911 +EOF
3912 + test_repo 27 "$TRASH_DIRECTORY/27/.git" "$TRASH_DIRECTORY/27"
3913 +'
3914 +
3915 +test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=root(rel) at root' '
3916 + cat >27/expected <<EOF &&
3917 +setup: git_dir: $TRASH_DIRECTORY/27.git
3918 +setup: worktree: $TRASH_DIRECTORY/27
3919 +setup: cwd: $TRASH_DIRECTORY/27
3920 +setup: prefix: (null)
3921 +EOF
3922 + test_repo 27 "$TRASH_DIRECTORY/27/.git" .
3923 +'
3924 +
3925 +test_expect_failure '#27: GIT_DIR(rel), GIT_WORKTREE=root in subdir' '
3926 + cat >27/sub/sub/expected <<EOF &&
3927 +setup: git_dir: $TRASH_DIRECTORY/27.git
3928 +setup: worktree: $TRASH_DIRECTORY/27
3929 +setup: cwd: $TRASH_DIRECTORY/27
3930 +setup: prefix: sub/sub/
3931 +EOF
3932 + test_repo 27/sub/sub ../../.git "$TRASH_DIRECTORY/27"
3933 +'
3934 +
3935 +test_expect_failure '#27: GIT_DIR(rel), GIT_WORKTREE=root(rel) in subdir' '
3936 + cat >27/sub/sub/expected <<EOF &&
3937 +setup: git_dir: $TRASH_DIRECTORY/27.git
3938 +setup: worktree: $TRASH_DIRECTORY/27
3939 +setup: cwd: $TRASH_DIRECTORY/27
3940 +setup: prefix: sub/sub/
3941 +EOF
3942 + test_repo 27/sub/sub ../../.git ../..
3943 +'
3944 +
3945 +test_expect_failure '#27: GIT_DIR, GIT_WORKTREE=root in subdir' '
3946 + cat >27/sub/expected <<EOF &&
3947 +setup: git_dir: $TRASH_DIRECTORY/27.git
3948 +setup: worktree: $TRASH_DIRECTORY/27
3949 +setup: cwd: $TRASH_DIRECTORY/27
3950 +setup: prefix: sub/
3951 +EOF
3952 + test_repo 27/sub "$TRASH_DIRECTORY/27/.git" "$TRASH_DIRECTORY/27"
3953 +'
3954 +
3955 +test_expect_failure '#27: GIT_DIR, GIT_WORKTREE=root(rel) in subdir' '
3956 + cat >27/sub/sub/expected <<EOF &&
3957 +setup: git_dir: $TRASH_DIRECTORY/27.git
3958 +setup: worktree: $TRASH_DIRECTORY/27
3959 +setup: cwd: $TRASH_DIRECTORY/27
3960 +setup: prefix: sub/sub/
3961 +EOF
3962 + test_repo 27/sub/sub "$TRASH_DIRECTORY/27/.git" ../..
3963 +'
3964 +
3965 +test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=wt at root' '
3966 + cat >27/expected <<EOF &&
3967 +setup: git_dir: $TRASH_DIRECTORY/27.git
3968 +setup: worktree: $TRASH_DIRECTORY/27/wt
3969 +setup: cwd: $TRASH_DIRECTORY/27
3970 +setup: prefix: (null)
3971 +EOF
3972 + test_repo 27 .git "$TRASH_DIRECTORY/27/wt"
3973 +'
3974 +
3975 +test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) at root' '
3976 + cat >27/expected <<EOF &&
3977 +setup: git_dir: $TRASH_DIRECTORY/27.git
3978 +setup: worktree: $TRASH_DIRECTORY/27/wt
3979 +setup: cwd: $TRASH_DIRECTORY/27
3980 +setup: prefix: (null)
3981 +EOF
3982 + test_repo 27 .git wt
3983 +'
3984 +
3985 +test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=wt(rel) at root' '
3986 + cat >27/expected <<EOF &&
3987 +setup: git_dir: $TRASH_DIRECTORY/27.git
3988 +setup: worktree: $TRASH_DIRECTORY/27/wt
3989 +setup: cwd: $TRASH_DIRECTORY/27
3990 +setup: prefix: (null)
3991 +EOF
3992 + test_repo 27 "$TRASH_DIRECTORY/27/.git" wt
3993 +'
3994 +
3995 +test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=wt at root' '
3996 + cat >27/expected <<EOF &&
3997 +setup: git_dir: $TRASH_DIRECTORY/27.git
3998 +setup: worktree: $TRASH_DIRECTORY/27/wt
3999 +setup: cwd: $TRASH_DIRECTORY/27
4000 +setup: prefix: (null)
4001 +EOF
4002 + test_repo 27 "$TRASH_DIRECTORY/27/.git" "$TRASH_DIRECTORY/27/wt"
4003 +'
4004 +
4005 +test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=wt in subdir' '
4006 + cat >27/sub/sub/expected <<EOF &&
4007 +setup: git_dir: $TRASH_DIRECTORY/27.git
4008 +setup: worktree: $TRASH_DIRECTORY/27/wt
4009 +setup: cwd: $TRASH_DIRECTORY/27/sub/sub
4010 +setup: prefix: (null)
4011 +EOF
4012 + test_repo 27/sub/sub ../../.git "$TRASH_DIRECTORY/27/wt"
4013 +'
4014 +
4015 +test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) in subdir' '
4016 + cat >27/sub/sub/expected <<EOF &&
4017 +setup: git_dir: $TRASH_DIRECTORY/27.git
4018 +setup: worktree: $TRASH_DIRECTORY/27/wt
4019 +setup: cwd: $TRASH_DIRECTORY/27/sub/sub
4020 +setup: prefix: (null)
4021 +EOF
4022 + test_repo 27/sub/sub ../../.git ../../wt
4023 +'
4024 +
4025 +test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=wt(rel) in subdir' '
4026 + cat >27/sub/sub/expected <<EOF &&
4027 +setup: git_dir: $TRASH_DIRECTORY/27.git
4028 +setup: worktree: $TRASH_DIRECTORY/27/wt
4029 +setup: cwd: $TRASH_DIRECTORY/27/sub/sub
4030 +setup: prefix: (null)
4031 +EOF
4032 + test_repo 27/sub/sub "$TRASH_DIRECTORY/27/.git" ../../wt
4033 +'
4034 +
4035 +test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=wt in subdir' '
4036 + cat >27/sub/sub/expected <<EOF &&
4037 +setup: git_dir: $TRASH_DIRECTORY/27.git
4038 +setup: worktree: $TRASH_DIRECTORY/27/wt
4039 +setup: cwd: $TRASH_DIRECTORY/27/sub/sub
4040 +setup: prefix: (null)
4041 +EOF
4042 + test_repo 27/sub/sub "$TRASH_DIRECTORY/27/.git" "$TRASH_DIRECTORY/27/wt"
4043 +'
4044 +
4045 +test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=.. at root' '
4046 + cat >27/expected <<EOF &&
4047 +setup: git_dir: $TRASH_DIRECTORY/27.git
4048 +setup: worktree: $TRASH_DIRECTORY
4049 +setup: cwd: $TRASH_DIRECTORY
4050 +setup: prefix: 27/
4051 +EOF
4052 + test_repo 27 .git "$TRASH_DIRECTORY"
4053 +'
4054 +
4055 +test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=..(rel) at root' '
4056 + cat >27/expected <<EOF &&
4057 +setup: git_dir: $TRASH_DIRECTORY/27.git
4058 +setup: worktree: $TRASH_DIRECTORY
4059 +setup: cwd: $TRASH_DIRECTORY
4060 +setup: prefix: 27/
4061 +EOF
4062 + test_repo 27 .git ..
4063 +'
4064 +
4065 +test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=..(rel) at root' '
4066 + cat >27/expected <<EOF &&
4067 +setup: git_dir: $TRASH_DIRECTORY/27.git
4068 +setup: worktree: $TRASH_DIRECTORY
4069 +setup: cwd: $TRASH_DIRECTORY
4070 +setup: prefix: 27/
4071 +EOF
4072 + test_repo 27 "$TRASH_DIRECTORY/27/.git" ..
4073 +'
4074 +
4075 +test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=.. at root' '
4076 + cat >27/expected <<EOF &&
4077 +setup: git_dir: $TRASH_DIRECTORY/27.git
4078 +setup: worktree: $TRASH_DIRECTORY
4079 +setup: cwd: $TRASH_DIRECTORY
4080 +setup: prefix: 27/
4081 +EOF
4082 + test_repo 27 "$TRASH_DIRECTORY/27/.git" "$TRASH_DIRECTORY"
4083 +'
4084 +
4085 +test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=.. in subdir' '
4086 + cat >27/sub/sub/expected <<EOF &&
4087 +setup: git_dir: $TRASH_DIRECTORY/27.git
4088 +setup: worktree: $TRASH_DIRECTORY
4089 +setup: cwd: $TRASH_DIRECTORY
4090 +setup: prefix: 27/sub/sub/
4091 +EOF
4092 + test_repo 27/sub/sub ../../.git "$TRASH_DIRECTORY"
4093 +'
4094 +
4095 +test_expect_failure '#27: GIT_DIR(rel), GIT_WORK_TREE=..(rel) in subdir' '
4096 + cat >27/sub/sub/expected <<EOF &&
4097 +setup: git_dir: $TRASH_DIRECTORY/27.git
4098 +setup: worktree: $TRASH_DIRECTORY
4099 +setup: cwd: $TRASH_DIRECTORY
4100 +setup: prefix: 27/sub/sub/
4101 +EOF
4102 + test_repo 27/sub/sub ../../.git ../../..
4103 +'
4104 +
4105 +test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=..(rel) in subdir' '
4106 + cat >27/sub/sub/expected <<EOF &&
4107 +setup: git_dir: $TRASH_DIRECTORY/27.git
4108 +setup: worktree: $TRASH_DIRECTORY
4109 +setup: cwd: $TRASH_DIRECTORY
4110 +setup: prefix: 27/sub/sub/
4111 +EOF
4112 + test_repo 27/sub/sub "$TRASH_DIRECTORY/27/.git" ../../../
4113 +'
4114 +
4115 +test_expect_failure '#27: GIT_DIR, GIT_WORK_TREE=.. in subdir' '
4116 + cat >27/sub/sub/expected <<EOF &&
4117 +setup: git_dir: $TRASH_DIRECTORY/27.git
4118 +setup: worktree: $TRASH_DIRECTORY
4119 +setup: cwd: $TRASH_DIRECTORY
4120 +setup: prefix: 27/sub/sub/
4121 +EOF
4122 + test_repo 27/sub/sub "$TRASH_DIRECTORY/27/.git" "$TRASH_DIRECTORY"
4123 +'
4124 +
4125 test_done