git-clone: PG13 --naked option to --bare.

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Junio C Hamano 2006-01-22 17:24:22 -08:00
parent 941c944999
commit 87e80c4b5f
3 changed files with 17 additions and 16 deletions

View File

@ -9,7 +9,7 @@ git-clone - Clones a repository.
SYNOPSIS SYNOPSIS
-------- --------
[verse] [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>] <repository> [<directory>]
DESCRIPTION DESCRIPTION
@ -58,8 +58,8 @@ OPTIONS
-n:: -n::
No checkout of HEAD is performed after the clone is complete. No checkout of HEAD is performed after the clone is complete.
--naked:: --bare::
Make a 'naked' GIT repository. That is, instead of Make a 'bare' GIT repository. That is, instead of
creating `<directory>` and placing the administrative creating `<directory>` and placing the administrative
files in `<directory>/.git`, make the `<directory>` files in `<directory>/.git`, make the `<directory>`
itself the `$GIT_DIR`. This implies `-n` option. 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:: 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 /pub/scm/.../me/subsys-2.6.git
------------ ------------

View File

@ -3,7 +3,7 @@ git repository layout
You may find these things in your git repository (`.git` You may find these things in your git repository (`.git`
directory for a repository associated with your working tree, or 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:: objects::
Object store associated with this repository. Usually Object store associated with this repository. Usually
@ -73,7 +73,7 @@ HEAD::
A symlink of the form `refs/heads/'name'` to point at A symlink of the form `refs/heads/'name'` to point at
the current branch, if exists. It does not mean much if the current branch, if exists. It does not mean much if
the repository is not associated with any working tree 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 *must* have such a symlink here. It is legal if the
named branch 'name' does not (yet) exist. named branch 'name' does not (yet) exist.
@ -92,7 +92,7 @@ hooks::
index:: index::
The current index file for the repository. It is The current index file for the repository. It is
usually not found in a naked repository. usually not found in a bare repository.
info:: info::
Additional information about the repository is recorded Additional information about the repository is recorded

View File

@ -9,7 +9,7 @@
unset CDPATH unset CDPATH
usage() { 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 exit 1
} }
@ -53,7 +53,7 @@ use_local=no
local_shared=no local_shared=no
no_checkout= no_checkout=
upload_pack= upload_pack=
naked= bare=
origin=origin origin=origin
while while
case "$#,$1" in case "$#,$1" in
@ -61,7 +61,8 @@ while
*,-n|*,--no|*,--no-|*,--no-c|*,--no-ch|*,--no-che|*,--no-chec|\ *,-n|*,--no|*,--no-|*,--no-c|*,--no-ch|*,--no-che|*,--no-chec|\
*,--no-check|*,--no-checko|*,--no-checkou|*,--no-checkout) *,--no-check|*,--no-checko|*,--no-checkou|*,--no-checkout)
no_checkout=yes ;; 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 ;; *,-l|*,--l|*,--lo|*,--loc|*,--loca|*,--local) use_local=yes ;;
*,-s|*,--s|*,--sh|*,--sha|*,--shar|*,--share|*,--shared) *,-s|*,--s|*,--sh|*,--sha|*,--shar|*,--share|*,--shared)
local_shared=yes; use_local=yes ;; local_shared=yes; use_local=yes ;;
@ -85,8 +86,8 @@ do
shift shift
done done
# --naked implies --no-checkout # --bare implies --no-checkout
test -z "$naked" || no_checkout=yes test =z "$bare" || no_checkout=yes
# Turn the source into an absolute path if # Turn the source into an absolute path if
# it is local # it is local
@ -103,11 +104,11 @@ dir="$2"
[ -e "$dir" ] && echo "$dir already exists." && usage [ -e "$dir" ] && echo "$dir already exists." && usage
mkdir -p "$dir" && mkdir -p "$dir" &&
D=$(cd "$dir" && pwd) && D=$(cd "$dir" && pwd) &&
case "$naked" in case "$bare" in
yes) GIT_DIR="$D" ;; yes) GIT_DIR="$D" ;;
*) GIT_DIR="$D/.git" ;; *) GIT_DIR="$D/.git" ;;
esac && export GIT_DIR && git-init-db || usage esac && export GIT_DIR && git-init-db || usage
case "$naked" in case "$bare" in
yes) yes)
GIT_DIR="$D" ;; GIT_DIR="$D" ;;
*) *)