summaryrefslogtreecommitdiff
path: root/git-clone.sh
AgeCommit message (Collapse)AuthorFilesLines
2006-02-15Print an error if cloning a http repo and NO_CURL is setLibravatar Fernando J. Pereda1-1/+7
If Git is compiled with NO_CURL=YesPlease and one tries to clone a http repository, git-clone tries to call the curl binary. This trivial patch prints an error instead in such situation. Signed-off-by: Fernando J. Pereda <ferdy@gentoo.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-24clone: do not accept more than one -o option.Libravatar Junio C Hamano1-1/+15
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-24clone: do not create remotes/origin nor origin branch in a bare repository.Libravatar Junio C Hamano1-1/+1
It is simply pointless, since no merges will ever happen in such a repository. Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-24git-clone: PG13 --naked option to --bare.Libravatar Junio C Hamano1-7/+8
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-19Fix generation of "humanish" part of source repoLibravatar Uwe Zeisberger1-1/+1
If repo has the form <host>:<path> and <path> doesn't contain a slash, the cloned repository is named "<host>:<path>", instead of "<path>" only. Signed-off-by: Uwe Zeisberger <zeisberg@informatik.uni-freiburg.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-01-14clone: --naked option.Libravatar Junio C Hamano1-26/+40
The new option --naked is to help creating a naked repository for public consumption. $ git clone -l -s --naked \ /pub/scm/.../torvalds/linux-2.6.git subproj-2.6.git is equivalent to this sequence: $ git clone -l -s -n /pub/scm/.../torvalds/linux-2.6.git temp $ mv temp/.git subproj-2.6.git $ rmdir temp Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-23git-clone: do not special case dumb http.Libravatar Junio C Hamano1-15/+1
Underlying http-fetch is supposed to be capable of handling packed repositories just fine, so no need to special case it in the wrapper script. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-22git-clone: Support changing the origin branch with -oLibravatar Johannes Schindelin1-4/+13
Earlier, git-clone stored upstream's master in the branch named 'origin', possibly overwriting an existing such branch. Now you can change it by calling git-clone with '-o <other_name>'. [jc: added ref format check, subdirectory safety, documentation and usage string.] Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-14Trivial usage string clean-upLibravatar freku045@student.liu.se1-1/+1
Signed-off-by: Fredrik Kuivinen <freku045@student.liu.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-13git-clone: tell the user a bit more about clone-pack failure.Libravatar Junio C Hamano1-1/+4
When clone-pack has trouble with the remote, it dies unfriendly "EOF" error message. We cannot tell the reason why it failed from the local end; it could be that the repository did not exist, or configured not to serve over git-daemon, or a network failure. At least, saying clone-pack failed makes it a bit more meaningful. I am not convinced yet that removing the newly created directory is the right thing to do, so this commit leaves the new directory behind. Reported by Sam Ravnborg. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-28git-clone --shared should imply --localLibravatar Pavel Roskin1-1/+1
The "--shared" option to git-clone is silently ignored if "--local" is not specified. The manual doesn't mention such dependency. Make "--shared" imply "--local". Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-14Bugfix: stop if directory already existsLibravatar Josef Weidendorfer1-2/+2
Fix a typo: We do not want to run the directory as command, and want to terminate if the directory exists Additionally, update the usage message Signed-off-by: Josef Weidendorfer <Josef.Weidendorfer@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-11git-clone: Allow cloning into directories other than child of current dir.Libravatar Andreas Ericsson1-1/+2
This patch adds -p to mkdir and an explicit check to see if the target directory exists (since mkdir -p doesn't throw an error if it does). Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-11git-clone: Keep remote names when cloning unless explicitly told not to.Libravatar Andreas Ericsson1-0/+2
With this patch the following commands all clone into the local directory "repo". If repo exists, it will still barf. git-clone git://host.xz/repo.git git-clone /path/to/repo/.git git-clone host.xz:repo.git I ended up doing the same source-to-target sed'ing for all our company projects, so it was easier to add it directly to git-clone. Signed-off-by: Andreas Ericsson <ae@op5.se> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-11git-clone: quote destination directory nameLibravatar Pavel Roskin1-2/+2
git-clone doesn't quote the full path to the destination directory, which causes it to fail if the path contains spaces or other characters interpreted by the shell. [jc: obviously I was not careful enough. Pavel, thanks for catching.] Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-10Let git-clone/git-fetch follow HTTP redirectionsLibravatar Josef Weidendorfer1-1/+1
Otherwise, git-clone silently failed to clone a remote repository where redirections (ie. a response with a "Location" header line) are used. This includes the fixes from Nick Hengeveld. Signed-off-by: Josef Weidendorfer <Josef.Weidendorfer@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-06Set up remotes/origin to track all remote branches.Libravatar Junio C Hamano1-2/+10
This implements the idea Daniel Barkalow came up with, to match the remotes/origin created by clone by default to the workflow I use myself in my guinea pig repository, to have me eat my own dog food. We probably would want to use either .git/refs/local/heads/* (idea by Linus) or .git/refs/heads/origin/* instead to reduce the local ref namespace pollution. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-05git-clone: fix local cloneLibravatar Junio C Hamano1-2/+1
If we let cpio to create the leading directories implicitly, it ends up having funny perm bits (GNU cpio 2.5 and 2.6, at least). This leaves .git/object/?? directories readable only by the owner. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-01git-clone: do not forget to create origin branch.Libravatar Junio C Hamano1-4/+11
The newly cloned repository by default had .git/remotes/origin set up to track the remote master to origin, but forgot to create the origin branch ourselves. Also it hardcoded the assumption that the remote HEAD points at "master", which may not always be true. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-17Forward port the "funny ref avoidance" in clone and fetch from maint branch.Libravatar Junio C Hamano1-1/+5
Somehow I forgot to forward port these fixes. "git clone" from a repository prepared with the latest update-server-info would fail without this patch. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-26git-clone: check out "master" by default.Libravatar Junio C Hamano1-6/+15
And with -n flag you can tell it not to. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-24Solaris: give a bit more built-in defaults.Libravatar Junio C Hamano1-1/+2
Taking the make command line Peter Eriksen uses, give defaults to SHELL_PATH, TAR, CURLDIR, NO_STRCASESTR, and INSTALL. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-20Do not give alarming error message from rsync in fetch and clone.Libravatar Junio C Hamano1-1/+2
When we check the optional objects/info/alternates file at the remote repository, we forgot to really squelch error message from rsync. Not having that file is not a crime. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-17Teach rsync transport about alternates.Libravatar Junio C Hamano1-2/+26
For local operations and downloading and uploading via git aware protocols, use of $GIT_OBJECT_DIRECTORY/info/alternates is recommended on the server side for big projects that are derived from another one (like Linux kernel). However, dumb protocols and rsync transport needs to resolve this on the client end, which we did not bother doing until this week. I noticed we use "rsync -z" but most of our payload is already compressed, which was not quite right. This commit also fixes it. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-12Fix CDPATH problem.Libravatar Junio C Hamano1-0/+3
CDPATH has two problems: * It takes scripts to unexpected places (somebody had CDPATH=..:../..:$HOME and the "cd" in git-clone.sh:get_repo_base took him to $HOME/.git when he said "clone foo bar" to clone a repository in "foo" which had "foo/.git"). CDPATH mechanism does not implicitly give "." at the beginning of CDPATH, which is the most irritating part. * The extra echo when it does its thing confuses scripts further. Most of our scripts that use "cd" includes git-sh-setup so the problem is primarily fixed there. git-clone starts without a repository, and it needs its own fix. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-07Big tool rename.Libravatar Junio C Hamano1-0/+165
As promised, this is the "big tool rename" patch. The primary differences since 0.99.6 are: (1) git-*-script are no more. The commands installed do not have any such suffix so users do not have to remember if something is implemented as a shell script or not. (2) Many command names with 'cache' in them are renamed with 'index' if that is what they mean. There are backward compatibility symblic links so that you and Porcelains can keep using the old names, but the backward compatibility support is expected to be removed in the near future. Signed-off-by: Junio C Hamano <junkio@cox.net>