Server-side support for user-relative paths.
This patch basically just removes the redundant code from
{receive,upload}-pack.c in favour of the library code in path.c.
Signed-off-by: Andreas Ericsson <ae@op5.se>
Signed-off-by: Junio C Hamano <junkio@cox.net>
			
			
This commit is contained in:
		
				
					committed by
					
						
						Junio C Hamano
					
				
			
			
				
	
			
			
			
						parent
						
							0870ca7fab
						
					
				
				
					commit
					8d63013291
				
			@ -248,11 +248,11 @@ static void unpack(void)
 | 
				
			|||||||
int main(int argc, char **argv)
 | 
					int main(int argc, char **argv)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	int i;
 | 
						int i;
 | 
				
			||||||
	const char *dir = NULL;
 | 
						char *dir = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	argv++;
 | 
						argv++;
 | 
				
			||||||
	for (i = 1; i < argc; i++) {
 | 
						for (i = 1; i < argc; i++) {
 | 
				
			||||||
		const char *arg = *argv++;
 | 
							char *arg = *argv++;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (*arg == '-') {
 | 
							if (*arg == '-') {
 | 
				
			||||||
			/* Do flag handling here */
 | 
								/* Do flag handling here */
 | 
				
			||||||
@ -265,18 +265,9 @@ int main(int argc, char **argv)
 | 
				
			|||||||
	if (!dir)
 | 
						if (!dir)
 | 
				
			||||||
		usage(receive_pack_usage);
 | 
							usage(receive_pack_usage);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* chdir to the directory. If that fails, try appending ".git" */
 | 
						if(!enter_repo(dir, 0))
 | 
				
			||||||
	if (chdir(dir) < 0) {
 | 
							die("'%s': unable to chdir or not a git archive", dir);
 | 
				
			||||||
		if (chdir(mkpath("%s.git", dir)) < 0)
 | 
					 | 
				
			||||||
			die("unable to cd to %s", dir);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* If we have a ".git" directory, chdir to it */
 | 
					 | 
				
			||||||
	chdir(".git");
 | 
					 | 
				
			||||||
	putenv("GIT_DIR=.");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (access("objects", X_OK) < 0 || access("refs/heads", X_OK) < 0)
 | 
					 | 
				
			||||||
		die("%s doesn't appear to be a git directory", dir);
 | 
					 | 
				
			||||||
	write_head_info();
 | 
						write_head_info();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* EOF */
 | 
						/* EOF */
 | 
				
			||||||
 | 
				
			|||||||
@ -248,7 +248,7 @@ static int upload_pack(void)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
int main(int argc, char **argv)
 | 
					int main(int argc, char **argv)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	const char *dir;
 | 
						char *dir;
 | 
				
			||||||
	int i;
 | 
						int i;
 | 
				
			||||||
	int strict = 0;
 | 
						int strict = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -275,18 +275,9 @@ int main(int argc, char **argv)
 | 
				
			|||||||
		usage(upload_pack_usage);
 | 
							usage(upload_pack_usage);
 | 
				
			||||||
	dir = argv[i];
 | 
						dir = argv[i];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* chdir to the directory. If that fails, try appending ".git" */
 | 
						if (!enter_repo(dir, strict))
 | 
				
			||||||
	if (chdir(dir) < 0) {
 | 
							die("'%s': unable to chdir or not a git archive", dir);
 | 
				
			||||||
		if (strict || chdir(mkpath("%s.git", dir)) < 0)
 | 
					 | 
				
			||||||
			die("git-upload-pack unable to chdir to %s", dir);
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	if (!strict)
 | 
					 | 
				
			||||||
		chdir(".git");
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (access("objects", X_OK) || access("refs", X_OK))
 | 
					 | 
				
			||||||
		die("git-upload-pack: %s doesn't seem to be a git archive", dir);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	putenv("GIT_DIR=.");
 | 
					 | 
				
			||||||
	upload_pack();
 | 
						upload_pack();
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user