git-clone: PG13 --naked option to --bare.
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
941c944999
commit
87e80c4b5f
@ -9,7 +9,7 @@ git-clone - Clones a repository.
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-clone' [-l [-s]] [-q] [-n] [--naked] [-o <name>] [-u <upload-pack>]
|
||||
'git-clone' [-l [-s]] [-q] [-n] [--bare] [-o <name>] [-u <upload-pack>]
|
||||
<repository> [<directory>]
|
||||
|
||||
DESCRIPTION
|
||||
@ -58,8 +58,8 @@ OPTIONS
|
||||
-n::
|
||||
No checkout of HEAD is performed after the clone is complete.
|
||||
|
||||
--naked::
|
||||
Make a 'naked' GIT repository. That is, instead of
|
||||
--bare::
|
||||
Make a 'bare' GIT repository. That is, instead of
|
||||
creating `<directory>` and placing the administrative
|
||||
files in `<directory>/.git`, make the `<directory>`
|
||||
itself the `$GIT_DIR`. This implies `-n` option.
|
||||
@ -110,17 +110,17 @@ $ git show-branch
|
||||
------------
|
||||
|
||||
|
||||
Create a naked repository to publish your changes to the public::
|
||||
Create a bare repository to publish your changes to the public::
|
||||
+
|
||||
------------
|
||||
$ git clone --naked -l /home/proj/.git /pub/scm/proj.git
|
||||
$ git clone --bare -l /home/proj/.git /pub/scm/proj.git
|
||||
------------
|
||||
|
||||
|
||||
Create a repository on the kernel.org machine that borrows from Linus::
|
||||
+
|
||||
------------
|
||||
$ git clone --naked -l -s /pub/scm/.../torvalds/linux-2.6.git \
|
||||
$ git clone --bare -l -s /pub/scm/.../torvalds/linux-2.6.git \
|
||||
/pub/scm/.../me/subsys-2.6.git
|
||||
------------
|
||||
|
||||
|
@ -3,7 +3,7 @@ git repository layout
|
||||
|
||||
You may find these things in your git repository (`.git`
|
||||
directory for a repository associated with your working tree, or
|
||||
`'project'.git` directory for a public 'naked' repository).
|
||||
`'project'.git` directory for a public 'bare' repository).
|
||||
|
||||
objects::
|
||||
Object store associated with this repository. Usually
|
||||
@ -73,7 +73,7 @@ HEAD::
|
||||
A symlink of the form `refs/heads/'name'` to point at
|
||||
the current branch, if exists. It does not mean much if
|
||||
the repository is not associated with any working tree
|
||||
(i.e. 'naked' repository), but a valid git repository
|
||||
(i.e. a 'bare' repository), but a valid git repository
|
||||
*must* have such a symlink here. It is legal if the
|
||||
named branch 'name' does not (yet) exist.
|
||||
|
||||
@ -92,7 +92,7 @@ hooks::
|
||||
|
||||
index::
|
||||
The current index file for the repository. It is
|
||||
usually not found in a naked repository.
|
||||
usually not found in a bare repository.
|
||||
|
||||
info::
|
||||
Additional information about the repository is recorded
|
||||
|
15
git-clone.sh
15
git-clone.sh
@ -9,7 +9,7 @@
|
||||
unset CDPATH
|
||||
|
||||
usage() {
|
||||
echo >&2 "Usage: $0 [--naked] [-l [-s]] [-q] [-u <upload-pack>] [-o <name>] [-n] <repo> [<dir>]"
|
||||
echo >&2 "Usage: $0 [--bare] [-l [-s]] [-q] [-u <upload-pack>] [-o <name>] [-n] <repo> [<dir>]"
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -53,7 +53,7 @@ use_local=no
|
||||
local_shared=no
|
||||
no_checkout=
|
||||
upload_pack=
|
||||
naked=
|
||||
bare=
|
||||
origin=origin
|
||||
while
|
||||
case "$#,$1" in
|
||||
@ -61,7 +61,8 @@ while
|
||||
*,-n|*,--no|*,--no-|*,--no-c|*,--no-ch|*,--no-che|*,--no-chec|\
|
||||
*,--no-check|*,--no-checko|*,--no-checkou|*,--no-checkout)
|
||||
no_checkout=yes ;;
|
||||
*,--na|*,--nak|*,--nake|*,--naked) naked=yes ;;
|
||||
*,--na|*,--nak|*,--nake|*,--naked|\
|
||||
*,-b|*,--b|*,--ba|*,--bar|*,--bare) bare=yes ;;
|
||||
*,-l|*,--l|*,--lo|*,--loc|*,--loca|*,--local) use_local=yes ;;
|
||||
*,-s|*,--s|*,--sh|*,--sha|*,--shar|*,--share|*,--shared)
|
||||
local_shared=yes; use_local=yes ;;
|
||||
@ -85,8 +86,8 @@ do
|
||||
shift
|
||||
done
|
||||
|
||||
# --naked implies --no-checkout
|
||||
test -z "$naked" || no_checkout=yes
|
||||
# --bare implies --no-checkout
|
||||
test =z "$bare" || no_checkout=yes
|
||||
|
||||
# Turn the source into an absolute path if
|
||||
# it is local
|
||||
@ -103,11 +104,11 @@ dir="$2"
|
||||
[ -e "$dir" ] && echo "$dir already exists." && usage
|
||||
mkdir -p "$dir" &&
|
||||
D=$(cd "$dir" && pwd) &&
|
||||
case "$naked" in
|
||||
case "$bare" in
|
||||
yes) GIT_DIR="$D" ;;
|
||||
*) GIT_DIR="$D/.git" ;;
|
||||
esac && export GIT_DIR && git-init-db || usage
|
||||
case "$naked" in
|
||||
case "$bare" in
|
||||
yes)
|
||||
GIT_DIR="$D" ;;
|
||||
*)
|
||||
|
Loading…
Reference in New Issue
Block a user