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.
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
------------ ------------



6
Documentation/repository-layout.txt

@ -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

15
git-clone.sh

@ -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" ;;
*) *)

Loading…
Cancel
Save