Browse Source

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

Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Junio C Hamano 19 years ago
parent
commit
87e80c4b5f
  1. 12
      Documentation/git-clone.txt
  2. 6
      Documentation/repository-layout.txt
  3. 15
      git-clone.sh

12
Documentation/git-clone.txt

@ -9,7 +9,7 @@ git-clone - Clones a repository. @@ -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 @@ -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 @@ -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
------------


6
Documentation/repository-layout.txt

@ -3,7 +3,7 @@ git repository layout @@ -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:: @@ -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:: @@ -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

@ -9,7 +9,7 @@ @@ -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 @@ -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 @@ -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 @@ -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" @@ -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…
Cancel
Save