Skip to content

Commit

Permalink
GIT 1.0.0
Browse files Browse the repository at this point in the history
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Junio C Hamano committed Dec 21, 2005
2 parents 1ed9193 + 41f93a2 commit c2f3bf0
Show file tree
Hide file tree
Showing 66 changed files with 778 additions and 617 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ git-merge-stupid
git-mktag
git-name-rev
git-mv
git-octopus
git-pack-redundant
git-pack-objects
git-parse-remote
Expand Down
8 changes: 8 additions & 0 deletions Documentation/diff-options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,14 @@
object name of pre- and post-image blob on the "index"
line when generating a patch format output.

--abbrev[=<n>]::
Instead of showing the full 40-byte hexadecimal object
name in diff-raw format output and diff-tree header
lines, show only handful dhexigits prefix. This is
independent of --full-index option above, which controls
the diff-patch output format. Non default number of
digits can be specified with --abbrev=<n>.

-B::
Break complete rewrite changes into pairs of delete and create.

Expand Down
41 changes: 28 additions & 13 deletions Documentation/everyday.txt
Original file line number Diff line number Diff line change
Expand Up @@ -211,10 +211,12 @@ $ git fetch --tags <8>

<1> repeat as needed.
<2> extract patches from your branch for e-mail submission.
<3> "pull" fetches from "origin" by default and merges.
<4> look at the changes since last time we checked, only in the
<3> "pull" fetches from "origin" by default and merges into the
current branch.
<4> immediately after pulling, look at the changes done upstream
since last time we checked, only in the
area we are interested in.
<5> fetch from a specific branch from a specific repository and and merge.
<5> fetch from a specific branch from a specific repository and merge.
<6> revert the pull.
<7> garbage collect leftover objects from reverted pull.
<8> from time to time, obtain official tags from the "origin"
Expand Down Expand Up @@ -330,16 +332,18 @@ master, nor exposed as a part of a stable branch.
<8> and bundle topic branches still cooking.
<9> backport a critical fix.
<10> create a signed tag.
<11> make sure I did not accidentally rewound master beyond what I
<11> make sure I did not accidentally rewind master beyond what I
already pushed out. "ko" shorthand points at the repository I have
at kernel.org, and looks like this:
$ cat .git/remotes/ko
URL: kernel.org:/pub/scm/git/git.git
Pull: master:refs/tags/ko-master
Pull: maint:refs/tags/ko-maint
Push: master
Push: +pu
Push: maint
$ cat .git/remotes/ko
URL: kernel.org:/pub/scm/git/git.git
Pull: master:refs/tags/ko-master
Pull: maint:refs/tags/ko-maint
Push: master
Push: +pu
Push: maint
In the output from "git show-branch", "master" should have
everything "ko-master" has.
<12> push out the bleeding edge.
<13> push the tag out, too.
------------
Expand All @@ -357,8 +361,8 @@ and maintain access to the repository by developers.
* gitlink:git-shell[1] can be used as a 'restricted login shell'
for shared central repository users.

* link:howto/update-hook-example.txt[update hook howto] has a
good example of managing a shared central repository.
link:howto/update-hook-example.txt[update hook howto] has a good
example of managing a shared central repository.


Examples
Expand Down Expand Up @@ -424,3 +428,14 @@ for branch policy control.
david is the release manager and is the only person who can
create and push version tags.
------------

HTTP server to support dumb protocol transfer.::
+
------------
dev$ git update-server-info <1>
dev$ ftp user@isp.example.com <2>
ftp> cp -r .git /home/user/myproject.git

<1> make sure your info/refs and objects/info/packs are up-to-date
<2> upload to public HTTP server hosted by your ISP.
------------
23 changes: 22 additions & 1 deletion Documentation/git-archimport.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ git-archimport - Import an Arch repository into git

SYNOPSIS
--------
`git-archimport` [ -h ] [ -v ] [ -T ] [ -t tempdir ]
`git-archimport` [ -h ] [ -v ] [ -o ] [ -a ] [ -f ] [ -T ]
[ -D depth ] [ -t tempdir ]
<archive/branch> [ <archive/branch> ]

DESCRIPTION
Expand Down Expand Up @@ -63,6 +64,26 @@ OPTIONS
Many tags. Will create a tag for every commit, reflecting the commit
name in the Arch repository.

-f::
Use the fast patchset import strategy. This can be significantly
faster for large trees, but cannot handle directory renames or
permissions changes. The default strategy is slow and safe.

-o::
Use this for compatibility with old-style branch names used by
earlier versions of git-archimport. Old-style branch names
were category--branch, whereas new-style branch names are
archive,category--branch--version.

-D <depth>::
Follow merge ancestry and attempt to import trees that have been
merged from. Specify a depth greater than 1 if patch logs have been
pruned.

-a::
Attempt to auto-register archives at http://mirrors.sourcecontrol.net
This is particularly useful with the -D option.

-t <tmpdir>::
Override the default tempdir.

Expand Down
8 changes: 5 additions & 3 deletions Documentation/git-check-ref-format.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,15 @@ imposes the following rules on how refs are named:

. It cannot have ASCII control character (i.e. bytes whose
values are lower than \040, or \177 `DEL`), space, tilde `~`,
caret `{caret}`, or colon `:` anywhere;
caret `{caret}`, colon `:`, question-mark `?`, asterisk `*`,
or open bracket `[` anywhere;

. It cannot end with a slash `/`.

These rules makes it easy for shell script based tools to parse
refnames, and also avoids ambiguities in certain refname
expressions (see gitlink:git-rev-parse[1]). Namely:
refnames, pathname expansion by the shell when a refname is used
unquoted (by mistake), and also avoids ambiguities in certain
refname expressions (see gitlink:git-rev-parse[1]). Namely:

. double-dot `..` are often used as in `ref1..ref2`, and in some
context this notation means `{caret}ref1 ref2` (i.e. not in
Expand Down
6 changes: 5 additions & 1 deletion Documentation/git-clone-pack.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,11 @@ OPTIONS
The heads to update. This is relative to $GIT_DIR
(e.g. "HEAD", "refs/heads/master"). When unspecified,
all heads are updated to match the remote repository.

+
Usually all the refs from existing repository are stored
under the same name in the new repository. Giving explicit
<head> arguments instead writes the object names and refs to
the standard output, just like get-fetch-pack does.

Author
------
Expand Down
4 changes: 4 additions & 0 deletions Documentation/git-commit.txt
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,10 @@ OPTIONS
Update specified paths in the index file before committing.


If you make a commit and then found a mistake immediately after
that, you can recover from it with gitlink:git-reset[1].


Author
------
Written by Linus Torvalds <torvalds@osdl.org> and
Expand Down
7 changes: 6 additions & 1 deletion Documentation/git-fetch-pack.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ git-fetch-pack - Receive missing objects from another repository.

SYNOPSIS
--------
git-fetch-pack [-q] [--exec=<git-upload-pack>] [<host>:]<directory> [<refs>...]
git-fetch-pack [-q] [-k] [--exec=<git-upload-pack>] [<host>:]<directory> [<refs>...]

DESCRIPTION
-----------
Expand All @@ -29,6 +29,11 @@ OPTIONS
Pass '-q' flag to 'git-unpack-objects'; this makes the
cloning process less verbose.

-k::
Do not invoke 'git-unpack-objects' on received data, but
create a single packfile out of it instead, and store it
in the object database.

--exec=<git-upload-pack>::
Use this to specify the path to 'git-upload-pack' on the
remote side, if is not found on your $PATH.
Expand Down
5 changes: 5 additions & 0 deletions Documentation/git-merge.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,11 @@ include::merge-options.txt[]
include::merge-strategies.txt[]


If you tried a merge which resulted in a complex conflicts and
would want to start over, you can recover with
gitlink:git-reset[1].


HOW MERGE WORKS
---------------

Expand Down
38 changes: 0 additions & 38 deletions Documentation/git-octopus.txt

This file was deleted.

5 changes: 5 additions & 0 deletions Documentation/git-pull.txt
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,11 @@ merge the remote `origin` head into the current,
local `master` branch.


If you tried a pull which resulted in a complex conflicts and
would want to start over, you can recover with
gitlink:git-reset[1].


SEE ALSO
--------
gitlink:git-fetch[1], gitlink:git-merge[1]
Expand Down
33 changes: 33 additions & 0 deletions Documentation/git-reset.txt
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,39 @@ remain there.
changes still in the working tree.
------------

Undo a merge or pull::
+
------------
$ git pull <1>
Trying really trivial in-index merge...
fatal: Merge requires file-level merging
Nope.
...
Auto-merging nitfol
CONFLICT (content): Merge conflict in nitfol
Automatic merge failed/prevented; fix up by hand
$ git reset --hard <2>

<1> try to update from the upstream resulted in a lot of
conflicts; you were not ready to spend a lot of time merging
right now, so you decide to do that later.
<2> "pull" has not made merge commit, so "git reset --hard"
which is a synonym for "git reset --hard HEAD" clears the mess
from the index file and the working tree.

$ git pull . topic/branch <3>
Updating from 41223... to 13134...
Fast forward
$ git reset --hard ORIG_HEAD <4>

<3> merge a topic branch into the current branch, which resulted
in a fast forward.
<4> but you decided that the topic branch is not ready for public
consumption yet. "pull" or "merge" always leaves the original
tip of the current branch in ORIG_HEAD, so resetting hard to it
brings your index file and the working tree back to that state,
and resets the tip of the branch to that commit.
------------

Author
------
Expand Down
6 changes: 3 additions & 3 deletions Documentation/git-update-server-info.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ SYNOPSIS

DESCRIPTION
-----------
A dumb server that does not do on-the-fly pack generations can
A dumb server that does not do on-the-fly pack generations must
have some auxiliary information files in $GIT_DIR/info and
$GIT_OBJECT_DIRECTORY/info directories to help clients discover
what references and packs the server has and make optimized
pull decisions. This command generates such auxiliary files.
what references and packs the server has. This command
generates such auxiliary files.


OPTIONS
Expand Down
3 changes: 0 additions & 3 deletions Documentation/git.txt
Original file line number Diff line number Diff line change
Expand Up @@ -297,9 +297,6 @@ gitlink:git-merge[1]::
gitlink:git-mv[1]::
Move or rename a file, a directory, or a symlink.

gitlink:git-octopus[1]::
Merge more than two commits.

gitlink:git-pull[1]::
Fetch from and merge with a remote repository.

Expand Down
8 changes: 8 additions & 0 deletions Documentation/hooks.txt
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,10 @@ Another use suggested on the mailing list is to use this hook to
implement access control which is finer grained than the one
based on filesystem group.

The standard output of this hook is sent to /dev/null; if you
want to report something to the git-send-pack on the other end,
you can redirect your output to your stderr.

post-update
-----------

Expand All @@ -125,3 +129,7 @@ the outcome of `git-receive-pack`.
The default post-update hook, when enabled, runs
`git-update-server-info` to keep the information used by dumb
transport up-to-date.

The standard output of this hook is sent to /dev/null; if you
want to report something to the git-send-pack on the other end,
you can redirect your output to your stderr.
8 changes: 6 additions & 2 deletions Documentation/howto/rebuild-from-update-hook.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The pages under http://www.kernel.org/pub/software/scm/git/docs/
are built from Documentation/ directory of the git.git project
and needed to be kept up-to-date. The www.kernel.org/ servers
are mirrored and I was told that the origin of the mirror is on
the machine master.kernel.org, on which I was given an account
the machine $some.kernel.org, on which I was given an account
when I took over git maintainership from Linus.

The directories relevant to this how-to are these two:
Expand Down Expand Up @@ -63,7 +63,7 @@ like this:
EOF
$ chmod +x /pub/scm/git/git.git/hooks/post-update

There are three things worth mentioning:
There are four things worth mentioning:

- The update-hook is run after the repository accepts a "git
push", under my user privilege. It is given the full names
Expand All @@ -77,6 +77,10 @@ There are three things worth mentioning:
pull" it does into $HOME/doc-git/docgen/ repository would not
work correctly.

- The stdout of update hook script is not connected to git
push; I run the heavy part of the command inside "at", to
receive the execution report via e-mail.

- This is still crude and does not protect against simultaneous
make invocations stomping on each other. I would need to add
some locking mechanism for this.
Expand Down
5 changes: 2 additions & 3 deletions Documentation/howto/using-topic-branches.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,7 @@ So here is the step-by-step guide how this all works for me.

First create your work tree by cloning Linus's public tree:

$ git clone \
master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git work
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git work

Change directory into the cloned tree you just created

Expand All @@ -53,7 +52,7 @@ Set up a remotes file so that you can fetch the latest from Linus' master
branch into a local branch named "linus":

$ cat > .git/remotes/linus
URL: master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
URL: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Pull: master:linus
^D

Expand Down
Loading

0 comments on commit c2f3bf0

Please sign in to comment.