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:
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;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user