@matheusbsbs / matheus-bagliano / commits / 561a7e667f
Fork 0

t1510: setup case #7

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 561a7e667fb8b589c90b67fe4cac32d03b6f840f
1 file changed +266
t/t1510-repo-setup.sh
+266
@@ -871,4 +871,270 @@ EOF
871 test_repo 6/sub/sub "$TRASH_DIRECTORY/6/.git"
872 '
873
874 +#
875 +# case #7
876 +#
877 +############################################################
878 +#
879 +# Input:
880 +#
881 +# - GIT_WORK_TREE is set
882 +# - GIT_DIR is set
883 +# - core.worktree is set
884 +# - .git is a directory
885 +# - core.bare is not set, cwd is outside .git
886 +#
887 +# Output:
888 +#
889 +# core.worktree is overridden by GIT_WORK_TREE -> #3
890 +
891 +test_expect_success '#7: setup' '
892 + unset GIT_DIR GIT_WORK_TREE &&
893 + mkdir 7 7/sub 7/sub/sub 7.wt 7.wt/sub 7/wt 7/wt/sub &&
894 + cd 7 &&
895 + git init &&
896 + git config core.worktree non-existent &&
897 + cd ..
898 +'
899 +
900 +test_expect_success '#7: GIT_DIR(rel), GIT_WORK_TREE=root at root' '
901 + cat >7/expected <<EOF &&
902 +setup: git_dir: .git
903 +setup: worktree: $TRASH_DIRECTORY/7
904 +setup: cwd: $TRASH_DIRECTORY/7
905 +setup: prefix: (null)
906 +EOF
907 + test_repo 7 .git "$TRASH_DIRECTORY/7"
908 +'
909 +
910 +test_expect_success '#7: GIT_DIR(rel), GIT_WORK_TREE=root(rel) at root' '
911 + cat >7/expected <<EOF &&
912 +setup: git_dir: .git
913 +setup: worktree: $TRASH_DIRECTORY/7
914 +setup: cwd: $TRASH_DIRECTORY/7
915 +setup: prefix: (null)
916 +EOF
917 + test_repo 7 .git .
918 +'
919 +
920 +test_expect_success '#7: GIT_DIR, GIT_WORK_TREE=root at root' '
921 + cat >7/expected <<EOF &&
922 +setup: git_dir: $TRASH_DIRECTORY/7/.git
923 +setup: worktree: $TRASH_DIRECTORY/7
924 +setup: cwd: $TRASH_DIRECTORY/7
925 +setup: prefix: (null)
926 +EOF
927 + test_repo 7 "$TRASH_DIRECTORY/7/.git" "$TRASH_DIRECTORY/7"
928 +'
929 +
930 +test_expect_success '#7: GIT_DIR, GIT_WORK_TREE=root(rel) at root' '
931 + cat >7/expected <<EOF &&
932 +setup: git_dir: $TRASH_DIRECTORY/7/.git
933 +setup: worktree: $TRASH_DIRECTORY/7
934 +setup: cwd: $TRASH_DIRECTORY/7
935 +setup: prefix: (null)
936 +EOF
937 + test_repo 7 "$TRASH_DIRECTORY/7/.git" .
938 +'
939 +
940 +test_expect_success '#7: GIT_DIR(rel), GIT_WORKTREE=root in subdir' '
941 + cat >7/sub/sub/expected <<EOF &&
942 +setup: git_dir: $TRASH_DIRECTORY/7/.git
943 +setup: worktree: $TRASH_DIRECTORY/7
944 +setup: cwd: $TRASH_DIRECTORY/7
945 +setup: prefix: sub/sub/
946 +EOF
947 + test_repo 7/sub/sub ../../.git "$TRASH_DIRECTORY/7"
948 +'
949 +
950 +test_expect_success '#7: GIT_DIR(rel), GIT_WORKTREE=root(rel) in subdir' '
951 + cat >7/sub/sub/expected <<EOF &&
952 +setup: git_dir: $TRASH_DIRECTORY/7/.git
953 +setup: worktree: $TRASH_DIRECTORY/7
954 +setup: cwd: $TRASH_DIRECTORY/7
955 +setup: prefix: sub/sub/
956 +EOF
957 + test_repo 7/sub/sub ../../.git ../..
958 +'
959 +
960 +test_expect_success '#7: GIT_DIR, GIT_WORKTREE=root in subdir' '
961 + cat >7/sub/expected <<EOF &&
962 +setup: git_dir: $TRASH_DIRECTORY/7/.git
963 +setup: worktree: $TRASH_DIRECTORY/7
964 +setup: cwd: $TRASH_DIRECTORY/7
965 +setup: prefix: sub/
966 +EOF
967 + test_repo 7/sub "$TRASH_DIRECTORY/7/.git" "$TRASH_DIRECTORY/7"
968 +'
969 +
970 +test_expect_success '#7: GIT_DIR, GIT_WORKTREE=root(rel) in subdir' '
971 + cat >7/sub/sub/expected <<EOF &&
972 +setup: git_dir: $TRASH_DIRECTORY/7/.git
973 +setup: worktree: $TRASH_DIRECTORY/7
974 +setup: cwd: $TRASH_DIRECTORY/7
975 +setup: prefix: sub/sub/
976 +EOF
977 + test_repo 7/sub/sub "$TRASH_DIRECTORY/7/.git" ../..
978 +'
979 +
980 +test_expect_success '#7: GIT_DIR(rel), GIT_WORK_TREE=wt at root' '
981 + cat >7/expected <<EOF &&
982 +setup: git_dir: .git
983 +setup: worktree: $TRASH_DIRECTORY/7/wt
984 +setup: cwd: $TRASH_DIRECTORY/7
985 +setup: prefix: (null)
986 +EOF
987 + test_repo 7 .git "$TRASH_DIRECTORY/7/wt"
988 +'
989 +
990 +test_expect_success '#7: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) at root' '
991 + cat >7/expected <<EOF &&
992 +setup: git_dir: .git
993 +setup: worktree: $TRASH_DIRECTORY/7/wt
994 +setup: cwd: $TRASH_DIRECTORY/7
995 +setup: prefix: (null)
996 +EOF
997 + test_repo 7 .git wt
998 +'
999 +
1000 +test_expect_success '#7: GIT_DIR, GIT_WORK_TREE=wt(rel) at root' '
1001 + cat >7/expected <<EOF &&
1002 +setup: git_dir: $TRASH_DIRECTORY/7/.git
1003 +setup: worktree: $TRASH_DIRECTORY/7/wt
1004 +setup: cwd: $TRASH_DIRECTORY/7
1005 +setup: prefix: (null)
1006 +EOF
1007 + test_repo 7 "$TRASH_DIRECTORY/7/.git" wt
1008 +'
1009 +
1010 +test_expect_success '#7: GIT_DIR, GIT_WORK_TREE=wt at root' '
1011 + cat >7/expected <<EOF &&
1012 +setup: git_dir: $TRASH_DIRECTORY/7/.git
1013 +setup: worktree: $TRASH_DIRECTORY/7/wt
1014 +setup: cwd: $TRASH_DIRECTORY/7
1015 +setup: prefix: (null)
1016 +EOF
1017 + test_repo 7 "$TRASH_DIRECTORY/7/.git" "$TRASH_DIRECTORY/7/wt"
1018 +'
1019 +
1020 +test_expect_success '#7: GIT_DIR(rel), GIT_WORK_TREE=wt in subdir' '
1021 + cat >7/sub/sub/expected <<EOF &&
1022 +setup: git_dir: ../../.git
1023 +setup: worktree: $TRASH_DIRECTORY/7/wt
1024 +setup: cwd: $TRASH_DIRECTORY/7/sub/sub
1025 +setup: prefix: (null)
1026 +EOF
1027 + test_repo 7/sub/sub ../../.git "$TRASH_DIRECTORY/7/wt"
1028 +'
1029 +
1030 +test_expect_success '#7: GIT_DIR(rel), GIT_WORK_TREE=wt(rel) in subdir' '
1031 + cat >7/sub/sub/expected <<EOF &&
1032 +setup: git_dir: ../../.git
1033 +setup: worktree: $TRASH_DIRECTORY/7/wt
1034 +setup: cwd: $TRASH_DIRECTORY/7/sub/sub
1035 +setup: prefix: (null)
1036 +EOF
1037 + test_repo 7/sub/sub ../../.git ../../wt
1038 +'
1039 +
1040 +test_expect_success '#7: GIT_DIR, GIT_WORK_TREE=wt(rel) in subdir' '
1041 + cat >7/sub/sub/expected <<EOF &&
1042 +setup: git_dir: $TRASH_DIRECTORY/7/.git
1043 +setup: worktree: $TRASH_DIRECTORY/7/wt
1044 +setup: cwd: $TRASH_DIRECTORY/7/sub/sub
1045 +setup: prefix: (null)
1046 +EOF
1047 + test_repo 7/sub/sub "$TRASH_DIRECTORY/7/.git" ../../wt
1048 +'
1049 +
1050 +test_expect_success '#7: GIT_DIR, GIT_WORK_TREE=wt in subdir' '
1051 + cat >7/sub/sub/expected <<EOF &&
1052 +setup: git_dir: $TRASH_DIRECTORY/7/.git
1053 +setup: worktree: $TRASH_DIRECTORY/7/wt
1054 +setup: cwd: $TRASH_DIRECTORY/7/sub/sub
1055 +setup: prefix: (null)
1056 +EOF
1057 + test_repo 7/sub/sub "$TRASH_DIRECTORY/7/.git" "$TRASH_DIRECTORY/7/wt"
1058 +'
1059 +
1060 +test_expect_success '#7: GIT_DIR(rel), GIT_WORK_TREE=.. at root' '
1061 + cat >7/expected <<EOF &&
1062 +setup: git_dir: $TRASH_DIRECTORY/7/.git
1063 +setup: worktree: $TRASH_DIRECTORY
1064 +setup: cwd: $TRASH_DIRECTORY
1065 +setup: prefix: 7/
1066 +EOF
1067 + test_repo 7 .git "$TRASH_DIRECTORY"
1068 +'
1069 +
1070 +test_expect_success '#7: GIT_DIR(rel), GIT_WORK_TREE=..(rel) at root' '
1071 + cat >7/expected <<EOF &&
1072 +setup: git_dir: $TRASH_DIRECTORY/7/.git
1073 +setup: worktree: $TRASH_DIRECTORY
1074 +setup: cwd: $TRASH_DIRECTORY
1075 +setup: prefix: 7/
1076 +EOF
1077 + test_repo 7 .git ..
1078 +'
1079 +
1080 +test_expect_success '#7: GIT_DIR, GIT_WORK_TREE=..(rel) at root' '
1081 + cat >7/expected <<EOF &&
1082 +setup: git_dir: $TRASH_DIRECTORY/7/.git
1083 +setup: worktree: $TRASH_DIRECTORY
1084 +setup: cwd: $TRASH_DIRECTORY
1085 +setup: prefix: 7/
1086 +EOF
1087 + test_repo 7 "$TRASH_DIRECTORY/7/.git" ..
1088 +'
1089 +
1090 +test_expect_success '#7: GIT_DIR, GIT_WORK_TREE=.. at root' '
1091 + cat >7/expected <<EOF &&
1092 +setup: git_dir: $TRASH_DIRECTORY/7/.git
1093 +setup: worktree: $TRASH_DIRECTORY
1094 +setup: cwd: $TRASH_DIRECTORY
1095 +setup: prefix: 7/
1096 +EOF
1097 + test_repo 7 "$TRASH_DIRECTORY/7/.git" "$TRASH_DIRECTORY"
1098 +'
1099 +
1100 +test_expect_success '#7: GIT_DIR(rel), GIT_WORK_TREE=.. in subdir' '
1101 + cat >7/sub/sub/expected <<EOF &&
1102 +setup: git_dir: $TRASH_DIRECTORY/7/.git
1103 +setup: worktree: $TRASH_DIRECTORY
1104 +setup: cwd: $TRASH_DIRECTORY
1105 +setup: prefix: 7/sub/sub/
1106 +EOF
1107 + test_repo 7/sub/sub ../../.git "$TRASH_DIRECTORY"
1108 +'
1109 +
1110 +test_expect_success '#7: GIT_DIR(rel), GIT_WORK_TREE=..(rel) in subdir' '
1111 + cat >7/sub/sub/expected <<EOF &&
1112 +setup: git_dir: $TRASH_DIRECTORY/7/.git
1113 +setup: worktree: $TRASH_DIRECTORY
1114 +setup: cwd: $TRASH_DIRECTORY
1115 +setup: prefix: 7/sub/sub/
1116 +EOF
1117 + test_repo 7/sub/sub ../../.git ../../..
1118 +'
1119 +
1120 +test_expect_success '#7: GIT_DIR, GIT_WORK_TREE=..(rel) in subdir' '
1121 + cat >7/sub/sub/expected <<EOF &&
1122 +setup: git_dir: $TRASH_DIRECTORY/7/.git
1123 +setup: worktree: $TRASH_DIRECTORY
1124 +setup: cwd: $TRASH_DIRECTORY
1125 +setup: prefix: 7/sub/sub/
1126 +EOF
1127 + test_repo 7/sub/sub "$TRASH_DIRECTORY/7/.git" ../../../
1128 +'
1129 +
1130 +test_expect_success '#7: GIT_DIR, GIT_WORK_TREE=.. in subdir' '
1131 + cat >7/sub/sub/expected <<EOF &&
1132 +setup: git_dir: $TRASH_DIRECTORY/7/.git
1133 +setup: worktree: $TRASH_DIRECTORY
1134 +setup: cwd: $TRASH_DIRECTORY
1135 +setup: prefix: 7/sub/sub/
1136 +EOF
1137 + test_repo 7/sub/sub "$TRASH_DIRECTORY/7/.git" "$TRASH_DIRECTORY"
1138 +'
1139 +
1140 test_done