[PATCH v5 00/28] interdiff to v4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



diff --git a/pkt-line.c b/pkt-line.c
index 893dd3c..295ba2b 100644
--- a/pkt-line.c
+++ b/pkt-line.c
@@ -124,14 +124,12 @@ static int packet_length(const char *linelen)
 int packet_read_line(int fd, char *buffer, unsigned size)
 {
 	int len;
-	char linelen[5];
+	char linelen[4];
 
 	safe_read(fd, linelen, 4);
 	len = packet_length(linelen);
-	if (len < 0) {
-		linelen[4] = '\0';
-		die("protocol error: bad line length character: %s", linelen);
-	}
+	if (len < 0)
+		die("protocol error: bad line length character: %.4s", linelen);
 	if (!len)
 		return 0;
 	len -= 4;
diff --git a/t/lib-httpd/apache.conf b/t/lib-httpd/apache.conf
index 2098ce0..0fe3fd0 100644
--- a/t/lib-httpd/apache.conf
+++ b/t/lib-httpd/apache.conf
@@ -8,20 +8,22 @@ ErrorLog error.log
 <IfModule !mod_log_config.c>
 	LoadModule log_config_module modules/mod_log_config.so
 </IfModule>
-<IfModule !mod_cgi.c>
-	LoadModule cgi_module modules/mod_cgi.so
-</IfModule>
 <IfModule !mod_alias.c>
 	LoadModule alias_module modules/mod_alias.so
 </IfModule>
+<IfModule !mod_cgi.c>
+	LoadModule cgi_module modules/mod_cgi.so
+</IfModule>
 <IfModule !mod_env.c>
 	LoadModule env_module modules/mod_env.so
 </IfModule>
 
-<Location /git/>
+Alias /dumb/ www/
+
+<Location /smart/>
 	SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH}
 </Location>
-ScriptAlias /git/ ${GIT_EXEC_PATH}/git-http-backend/
+ScriptAlias /smart/ ${GIT_EXEC_PATH}/git-http-backend/
 <Directory ${GIT_EXEC_PATH}>
 	Options None
 </Directory>
@@ -46,7 +48,7 @@ SSLEngine On
 	LoadModule dav_fs_module modules/mod_dav_fs.so
 
 	DAVLockDB DAVLock
-	<Location />
+	<Location /dumb/>
 		Dav on
 	</Location>
 </IfDefine>
diff --git a/t/t5540-http-push.sh b/t/t5540-http-push.sh
index 5c0f4d7..bb18f8b 100755
--- a/t/t5540-http-push.sh
+++ b/t/t5540-http-push.sh
@@ -9,17 +9,16 @@ This test runs various sanity checks on http-push.'
 
 . ./test-lib.sh
 
-ROOT_PATH="$PWD"
-LIB_HTTPD_DAV=t
-LIB_HTTPD_PORT=${LIB_HTTPD_PORT-'5540'}
-
 if git http-push > /dev/null 2>&1 || [ $? -eq 128 ]
 then
 	say "skipping test, USE_CURL_MULTI is not defined"
 	test_done
 fi
 
+LIB_HTTPD_DAV=t
+LIB_HTTPD_PORT=${LIB_HTTPD_PORT-'5540'}
 . "$TEST_DIRECTORY"/lib-httpd.sh
+ROOT_PATH="$PWD"
 start_httpd
 
 test_expect_success 'setup remote repository' '
@@ -43,7 +42,7 @@ test_expect_success 'setup remote repository' '
 
 test_expect_success 'clone remote repository' '
 	cd "$ROOT_PATH" &&
-	git clone $HTTPD_URL/test_repo.git test_repo_clone
+	git clone $HTTPD_URL/dumb/test_repo.git test_repo_clone
 '
 
 test_expect_success 'push to remote repository with packed refs' '
@@ -76,7 +75,7 @@ test_expect_success 'http-push fetches unpacked objects' '
 	cp -R "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git \
 		"$HTTPD_DOCUMENT_ROOT_PATH"/test_repo_unpacked.git &&
 
-	git clone $HTTPD_URL/test_repo_unpacked.git \
+	git clone $HTTPD_URL/dumb/test_repo_unpacked.git \
 		"$ROOT_PATH"/fetch_unpacked &&
 
 	# By reset, we force git to retrieve the object
@@ -85,14 +84,14 @@ test_expect_success 'http-push fetches unpacked objects' '
 	 git remote rm origin &&
 	 git reflog expire --expire=0 --all &&
 	 git prune &&
-	 git push -f -v $HTTPD_URL/test_repo_unpacked.git master)
+	 git push -f -v $HTTPD_URL/dumb/test_repo_unpacked.git master)
 '
 
 test_expect_success 'http-push fetches packed objects' '
 	cp -R "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git \
 		"$HTTPD_DOCUMENT_ROOT_PATH"/test_repo_packed.git &&
 
-	git clone $HTTPD_URL/test_repo_packed.git \
+	git clone $HTTPD_URL/dumb/test_repo_packed.git \
 		"$ROOT_PATH"/test_repo_clone_packed &&
 
 	(cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo_packed.git &&
@@ -105,7 +104,7 @@ test_expect_success 'http-push fetches packed objects' '
 	 git remote rm origin &&
 	 git reflog expire --expire=0 --all &&
 	 git prune &&
-	 git push -f -v $HTTPD_URL/test_repo_packed.git master)
+	 git push -f -v $HTTPD_URL/dumb/test_repo_packed.git master)
 '
 
 test_expect_success 'create and delete remote branch' '
diff --git a/t/t5541-http-push.sh b/t/t5541-http-push.sh
index 690c466..2a58d0c 100755
--- a/t/t5541-http-push.sh
+++ b/t/t5541-http-push.sh
@@ -12,7 +12,7 @@ if test -n "$NO_CURL"; then
 fi
 
 ROOT_PATH="$PWD"
-LIB_HTTPD_PORT=${LIB_HTTPD_PORT-'5550'}
+LIB_HTTPD_PORT=${LIB_HTTPD_PORT-'5541'}
 . "$TEST_DIRECTORY"/lib-httpd.sh
 start_httpd
 
@@ -36,10 +36,10 @@ test_expect_success 'setup remote repository' '
 
 test_expect_success 'clone remote repository' '
 	cd "$ROOT_PATH" &&
-	git clone $HTTPD_URL/git/test_repo.git test_repo_clone
+	git clone $HTTPD_URL/smart/test_repo.git test_repo_clone
 '
 
-test_expect_success 'push to remote repository with packed refs' '
+test_expect_success 'push to remote repository' '
 	cd "$ROOT_PATH"/test_repo_clone &&
 	: >path2 &&
 	git add path2 &&
@@ -55,15 +55,6 @@ test_expect_success 'push already up-to-date' '
 	git push
 '
 
-test_expect_success 'push to remote repository with unpacked refs' '
-	(cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git &&
-	 rm packed-refs &&
-	 git update-ref refs/heads/master $ORIG_HEAD) &&
-	git push &&
-	(cd "$HTTPD_DOCUMENT_ROOT_PATH"/test_repo.git &&
-	 test $HEAD = $(git rev-parse --verify HEAD))
-'
-
 test_expect_success 'create and delete remote branch' '
 	cd "$ROOT_PATH"/test_repo_clone &&
 	git checkout -b dev &&
@@ -77,17 +68,15 @@ test_expect_success 'create and delete remote branch' '
 '
 
 cat >exp <<EOF
-GET  /git/test_repo.git/info/refs?service=git-upload-pack HTTP/1.1 200
-POST /git/test_repo.git/git-upload-pack HTTP/1.1 200
-GET  /git/test_repo.git/info/refs?service=git-receive-pack HTTP/1.1 200
-POST /git/test_repo.git/git-receive-pack HTTP/1.1 200
-GET  /git/test_repo.git/info/refs?service=git-receive-pack HTTP/1.1 200
-GET  /git/test_repo.git/info/refs?service=git-receive-pack HTTP/1.1 200
-POST /git/test_repo.git/git-receive-pack HTTP/1.1 200
-GET  /git/test_repo.git/info/refs?service=git-receive-pack HTTP/1.1 200
-POST /git/test_repo.git/git-receive-pack HTTP/1.1 200
-GET  /git/test_repo.git/info/refs?service=git-receive-pack HTTP/1.1 200
-POST /git/test_repo.git/git-receive-pack HTTP/1.1 200
+GET  /smart/test_repo.git/info/refs?service=git-upload-pack HTTP/1.1 200
+POST /smart/test_repo.git/git-upload-pack HTTP/1.1 200
+GET  /smart/test_repo.git/info/refs?service=git-receive-pack HTTP/1.1 200
+POST /smart/test_repo.git/git-receive-pack HTTP/1.1 200
+GET  /smart/test_repo.git/info/refs?service=git-receive-pack HTTP/1.1 200
+GET  /smart/test_repo.git/info/refs?service=git-receive-pack HTTP/1.1 200
+POST /smart/test_repo.git/git-receive-pack HTTP/1.1 200
+GET  /smart/test_repo.git/info/refs?service=git-receive-pack HTTP/1.1 200
+POST /smart/test_repo.git/git-receive-pack HTTP/1.1 200
 EOF
 test_expect_success 'used receive-pack service' '
 	sed -e "
diff --git a/t/t5550-http-fetch.sh b/t/t5550-http-fetch.sh
index 8d6443f..8cfce96 100755
--- a/t/t5550-http-fetch.sh
+++ b/t/t5550-http-fetch.sh
@@ -30,7 +30,7 @@ test_expect_success 'create http-accessible bare repository' '
 '
 
 test_expect_success 'clone http repository' '
-	git clone $HTTPD_URL/repo.git clone &&
+	git clone $HTTPD_URL/dumb/repo.git clone &&
 	test_cmp file clone/file
 '
 
@@ -58,7 +58,7 @@ test_expect_success 'fetch packed objects' '
 	cd "$HTTPD_DOCUMENT_ROOT_PATH"/repo_pack.git &&
 	git --bare repack &&
 	git --bare prune-packed &&
-	git clone $HTTPD_URL/repo_pack.git
+	git clone $HTTPD_URL/dumb/repo_pack.git
 '
 
 test_expect_success 'did not use upload-pack service' '
diff --git a/t/t5551-http-fetch.sh b/t/t5551-http-fetch.sh
index afddc2c..eb0c039 100755
--- a/t/t5551-http-fetch.sh
+++ b/t/t5551-http-fetch.sh
@@ -8,7 +8,7 @@ if test -n "$NO_CURL"; then
 	test_done
 fi
 
-LIB_HTTPD_PORT=${LIB_HTTPD_PORT-'5550'}
+LIB_HTTPD_PORT=${LIB_HTTPD_PORT-'5551'}
 . "$TEST_DIRECTORY"/lib-httpd.sh
 start_httpd
 
@@ -28,19 +28,21 @@ test_expect_success 'create http-accessible bare repository' '
 '
 
 cat >exp <<EOF
-> GET /git/repo.git/info/refs?service=git-upload-pack HTTP/1.1
-Accept: */*
-Pragma: no-cache
+> GET /smart/repo.git/info/refs?service=git-upload-pack HTTP/1.1
+> Accept: */*
+> Pragma: no-cache
+
 < HTTP/1.1 200 OK
 < Pragma: no-cache
 < Cache-Control: no-cache, max-age=0, must-revalidate
 < Content-Type: application/x-git-upload-pack-advertisement
 < 
-> POST /git/repo.git/git-upload-pack HTTP/1.1
-Accept-Encoding: deflate, gzip
-Content-Type: application/x-git-upload-pack-request
-Accept: application/x-git-upload-pack-response
-Content-Length: xxxx
+> POST /smart/repo.git/git-upload-pack HTTP/1.1
+> Accept-Encoding: deflate, gzip
+> Content-Type: application/x-git-upload-pack-request
+> Accept: application/x-git-upload-pack-response
+> Content-Length: xxx
+
 < HTTP/1.1 200 OK
 < Pragma: no-cache
 < Cache-Control: no-cache, max-age=0, must-revalidate
@@ -48,13 +50,26 @@ Content-Length: xxxx
 < 
 EOF
 test_expect_success 'clone http repository' '
-	GIT_CURL_VERBOSE=1 git clone $HTTPD_URL/git/repo.git clone 2>err &&
+	GIT_CURL_VERBOSE=1 git clone --quiet $HTTPD_URL/smart/repo.git clone 2>err &&
 	test_cmp file clone/file &&
-	egrep "^([<>]|Pragma|Accept|Content-|Transfer-)" err |
-	egrep -v "^< (Server|Expires|Date|Content-Length:|Transfer-Encoding: chunked)" |
+	tr '\''\015'\'' Q <err |
 	sed -e "
-		s/
//
-		s/^Content-Length: .*$/Content-Length: xxxx/
+		s/Q\$//
+		/^[*] /d
+
+		/^[^><]/{
+			s/^/> /
+		}
+
+		/^> User-Agent: /d
+		/^> Host: /d
+		s/^> Content-Length: .*/> Content-Length: xxx/
+
+		/^< Server: /d
+		/^< Expires: /d
+		/^< Date: /d
+		/^< Content-Length: /d
+		/^< Transfer-Encoding: /d
 	" >act &&
 	test_cmp exp act
 '
@@ -68,10 +83,10 @@ test_expect_success 'fetch changes via http' '
 '
 
 cat >exp <<EOF
-GET  /git/repo.git/info/refs?service=git-upload-pack HTTP/1.1 200
-POST /git/repo.git/git-upload-pack HTTP/1.1 200
-GET  /git/repo.git/info/refs?service=git-upload-pack HTTP/1.1 200
-POST /git/repo.git/git-upload-pack HTTP/1.1 200
+GET  /smart/repo.git/info/refs?service=git-upload-pack HTTP/1.1 200
+POST /smart/repo.git/git-upload-pack HTTP/1.1 200
+GET  /smart/repo.git/info/refs?service=git-upload-pack HTTP/1.1 200
+POST /smart/repo.git/git-upload-pack HTTP/1.1 200
 EOF
 test_expect_success 'used upload-pack service' '
 	sed -e "

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]