From: Junio C Hamano Date: Fri, 19 Sep 2008 06:37:10 +0000 (+0000) Subject: Autogenerated HTML docs for v1.6.0.2-287-g3791f X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=4604fe56;p=git.git Autogenerated HTML docs for v1.6.0.2-287-g3791f --- diff --git a/everyday.html b/everyday.html index 702b25de5..ca2911cff 100644 --- a/everyday.html +++ b/everyday.html @@ -3,7 +3,7 @@ - + Everyday GIT With 20 Commands Or So @@ -263,25 +311,25 @@ div.exampleblock-content {
-

[Basic Repository] commands are needed by people who have a +

[Basic Repository] commands are needed by people who have a repository --- that is everybody, because every working tree of -git is a repository.

-

In addition, [Individual Developer (Standalone)] commands are +git is a repository.

+

In addition, [Individual Developer (Standalone)] commands are essential for anybody who makes a commit, even for somebody who -works alone.

-

If you work with other people, you will need commands listed in -the [Individual Developer (Participant)] section as well.

-

People who play the [Integrator] role need to learn some more -commands in addition to the above.

-

[Repository Administration] commands are for system +works alone.

+

If you work with other people, you will need commands listed in +the [Individual Developer (Participant)] section as well.

+

People who play the [Integrator] role need to learn some more +commands in addition to the above.

+

[Repository Administration] commands are for system administrators who are responsible for the care and feeding -of git repositories.

+of git repositories.

-

Basic Repository

+

Basic Repository

-

Everybody uses these commands to maintain git repositories.

-
+

Examples

+
Check health and remove cruft.
@@ -312,7 +360,7 @@ Check health and remove cruft. $ git count-objects (2) $ git gc (3)
-
    +
    1. running without --full is usually cheap and assures the @@ -330,7 +378,7 @@ disk space is wasted by not repacking. repacks the local repository and performs other housekeeping tasks.

    2. -
    +
Repack a small project into single pack. @@ -340,23 +388,23 @@ Repack a small project into single pack.
$ git gc (1)
-
    +
    1. pack all the objects reachable from the refs into one pack, then remove the other packs.

    2. -
    +
- + -

Individual Developer (Standalone)

+

Individual Developer (Standalone)

-

A standalone individual developer does not exchange patches with +

A standalone individual developer does not exchange patches with other people, and works alone in a single repository, using the -following commands.

-
    +following commands.

+
-

Examples

-
+
+

Examples

+
Use a tarball as a starting point for a new repository.
@@ -426,7 +474,7 @@ $ git add . (1) $ git commit -m "import of frotz source tree." $ git tag v2.43 (2)
-
    +
    1. add everything under the current directory. @@ -437,7 +485,7 @@ add everything under the current directory. make a lightweight, unannotated tag.

    2. -
    +
Create a topic branch and develop. @@ -462,7 +510,7 @@ $ git merge alsa-audio (10) $ git log --since='3 days ago' (11) $ git log v2.43.. curses/ (12) -
    +
    1. create a new topic branch. @@ -528,16 +576,16 @@ view only the changes that touch what's in curses/ directory, since v2.43 tag.

    2. -
    +
- + -

Individual Developer (Participant)

+

Individual Developer (Participant)

-

A developer working as a participant in a group project needs to +

A developer working as a participant in a group project needs to learn how to communicate with others, and uses these commands in -addition to the ones needed by a standalone developer.

-
    +addition to the ones needed by a standalone developer.

+
  • git-clone(1) from the upstream to prime your local @@ -562,9 +610,9 @@ addition to the ones needed by a standalone developer.

    you adopt Linux kernel-style public forum workflow.

  • -
-

Examples

-
+
+

Examples

+
Clone the upstream and work on it. Feed changes to upstream.
@@ -582,7 +630,7 @@ $ git reset --hard ORIG_HEAD (6) $ git gc (7) $ git fetch --tags (8)
-
    +
    1. repeat as needed. @@ -627,7 +675,7 @@ from time to time, obtain official tags from the origin and store them under .git/refs/tags/.

    2. -
    +
Push into another repository. @@ -651,7 +699,7 @@ mothership$ cd frotz mothership$ git checkout master mothership$ git merge satellite/master (5) -
    +
    1. mothership machine has a frotz repository under your home @@ -685,7 +733,7 @@ on mothership machine, merge the work done on the satellite machine into the master branch.

    2. -
    +
Branch off of a specific tag. @@ -699,7 +747,7 @@ $ git checkout master $ git format-patch -k -m --stdout v2.6.14..private2.6.14 | git am -3 -k (2) -
    +
    1. create a private branch based on a well known (but somewhat behind) @@ -712,17 +760,17 @@ forward port all changes in private2.6.14 branch to master bra without a formal "merging".

    2. -
    +
- + -

Integrator

+

Integrator

-

A fairly central person acting as the integrator in a group +

A fairly central person acting as the integrator in a group project receives changes made by others, reviews and integrates them and publishes the result for others to use, using these -commands in addition to the ones needed by participants.

-
    +commands in addition to the ones needed by participants.

+
  • git-am(1) to apply patches e-mailed in from your @@ -750,9 +798,9 @@ commands in addition to the ones needed by participants.

    git-push(1) to publish the bleeding edge.

  • -
-

Examples

-
+
+

Examples

+
My typical GIT day.
@@ -780,7 +828,7 @@ $ git fetch ko && git show-branch master maint 'tags/ko-*' (11) $ git push ko (12) $ git push ko v0.99.9x (13)
-
    +
    1. see what I was in the middle of doing, if any. @@ -853,9 +901,9 @@ Push: next Push: +pu Push: maint

    -

    In the output from git show-branch, master should have +

    In the output from git show-branch, master should have everything ko-master has, and next should have -everything ko-next has.

    +everything ko-next has.

  1. @@ -867,15 +915,15 @@ push out the bleeding edge. push the tag out, too.

  2. -
+ - + -

Repository Administration

+

Repository Administration

-

A repository administrator uses the following tools to set up -and maintain access to the repository by developers.

-
    +

    A repository administrator uses the following tools to set up +and maintain access to the repository by developers.

    +
    • git-daemon(1) to allow anonymous download from @@ -888,11 +936,11 @@ and maintain access to the repository by developers.

      for shared central repository users.

    • -
    -

    update hook howto has a good -example of managing a shared central repository.

    -

    Examples

    -
    +
+

update hook howto has a good +example of managing a shared central repository.

+

Examples

+
We assume the following in /etc/services
@@ -913,7 +961,7 @@ Run git-daemon to serve /pub/scm from inetd. git stream tcp nowait nobody \ /usr/bin/git-daemon git-daemon --inetd --export-all /pub/scm
-

The actual configuration line should be on one line.

+

The actual configuration line should be on one line.

Run git-daemon to serve /pub/scm from xinetd. @@ -937,8 +985,8 @@ service git log_on_failure += USERID } -

Check your xinetd(8) documentation and setup, this is from a Fedora system. -Others might be different.

+

Check your xinetd(8) documentation and setup, this is from a Fedora system. +Others might be different.

Give push/pull only access to developers. @@ -954,7 +1002,7 @@ david:x:1003:1003::/home/david:/usr/bin/git-shell $ grep git /etc/shells (2) /usr/bin/git-shell -
    +
    1. log-in shell is set to /usr/bin/git-shell, which does not @@ -968,7 +1016,7 @@ in many distributions /etc/shells needs to list what is used as the login shell.

    2. -
    +
CVS-style shared repository. @@ -997,7 +1045,7 @@ refs/heads/master alice\|cindy refs/heads/doc-update bob refs/tags/v[0-9]* david -
    +
    1. place the developers into the same git group. @@ -1021,7 +1069,7 @@ david is the release manager and is the only person who can create and push version tags.

    2. -
    +
HTTP server to support dumb protocol transfer. @@ -1033,7 +1081,7 @@ HTTP server to support dumb protocol transfer. 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 @@ -1044,13 +1092,13 @@ make sure your info/refs and objects/info/packs are up-to-date upload to public HTTP server hosted by your ISP.

    2. -
    +
- + diff --git a/git-add.html b/git-add.html index 3157a735a..a1c744ab0 100644 --- a/git-add.html +++ b/git-add.html @@ -686,7 +686,7 @@ double-quote and control characters will still have problems.

diff --git a/git-am.html b/git-am.html index 26c85518b..4fefc6423 100644 --- a/git-am.html +++ b/git-am.html @@ -573,7 +573,7 @@ errors in the "From:" lines).

diff --git a/git-annotate.html b/git-annotate.html index 79e7a1999..5f2023f43 100644 --- a/git-annotate.html +++ b/git-annotate.html @@ -512,7 +512,7 @@ commit.

diff --git a/git-apply.html b/git-apply.html index 12bdbc497..8be2456ef 100644 --- a/git-apply.html +++ b/git-apply.html @@ -683,7 +683,7 @@ subdirectory is checked and (if possible) updated.

diff --git a/git-archimport.html b/git-archimport.html index 67315b90c..0a691fa9c 100644 --- a/git-archimport.html +++ b/git-archimport.html @@ -470,7 +470,7 @@ patches that have been traded out-of-sequence between the branches.

diff --git a/git-archive.html b/git-archive.html index ed183dd7b..9f9e30dfb 100644 --- a/git-archive.html +++ b/git-archive.html @@ -523,7 +523,7 @@ git archive --format=zip --prefix=git-docs/ HEAD:Documentation/ > git-1.4.0-d diff --git a/git-bisect.html b/git-bisect.html index ee7465e48..2943ca0e6 100644 --- a/git-bisect.html +++ b/git-bisect.html @@ -559,7 +559,7 @@ test processes and the scripts.

diff --git a/git-blame.html b/git-blame.html index f7d0dce5c..21f34fffe 100644 --- a/git-blame.html +++ b/git-blame.html @@ -746,7 +746,7 @@ commit commentary), a blame viewer won't ever care. diff --git a/git-branch.html b/git-branch.html index f89ea39c5..97a3febaa 100644 --- a/git-branch.html +++ b/git-branch.html @@ -665,7 +665,7 @@ but different purposes:

diff --git a/git-bundle.html b/git-bundle.html index 0dedd9ca4..e022c935f 100644 --- a/git-bundle.html +++ b/git-bundle.html @@ -420,11 +420,11 @@ unbundle <file>

git-bundle will only package references that are shown by git-show-ref: this includes heads, tags, and remote heads. References -such as master1 cannot be packaged, but are perfectly suitable for +such as master~1 cannot be packaged, but are perfectly suitable for defining the basis. More than one reference may be packaged, and more than one basis can be specified. The objects packaged are those not contained in the union of the given bases. Each basis can be -specified explicitly (e.g., ^master10), or implicitly (e.g., +specified explicitly (e.g., ^master~10), or implicitly (e.g., master~10..master, master --since=10.days.ago).

It is very important that the basis used be held by the destination. It is okay to err on the side of conservatism, causing the bundle file @@ -531,7 +531,7 @@ network.

diff --git a/git-cat-file.html b/git-cat-file.html index bda4045fc..3174a3b64 100644 --- a/git-cat-file.html +++ b/git-cat-file.html @@ -455,7 +455,7 @@ for each object specified on stdin that does not exist in the repository:

diff --git a/git-check-attr.html b/git-check-attr.html index 13619e41e..b84618190 100644 --- a/git-check-attr.html +++ b/git-check-attr.html @@ -360,7 +360,7 @@ git-check-attr(1) Manual Page diff --git a/git-check-ref-format.html b/git-check-ref-format.html index 0796f4809..935c4ce9b 100644 --- a/git-check-ref-format.html +++ b/git-check-ref-format.html @@ -391,7 +391,7 @@ colon : is used as in srcref:dstref to mean "use srcref's diff --git a/git-checkout-index.html b/git-checkout-index.html index cd74976d8..e8d6d9ef5 100644 --- a/git-checkout-index.html +++ b/git-checkout-index.html @@ -574,7 +574,7 @@ Junio C Hamano and the git-list <git@vger.kernel.org>.

diff --git a/git-checkout.html b/git-checkout.html index 68dcbc191..a4373ba43 100644 --- a/git-checkout.html +++ b/git-checkout.html @@ -560,7 +560,7 @@ three-way merge:

$ git checkout -m mytopic
 Auto-merging frotz
-

After this three-way merge, the local modifications are not +

After this three-way merge, the local modifications are _not_ registered in your index file, so git diff would show you what changes you made since the tip of the new branch.

@@ -603,7 +603,7 @@ $ git add frotz
diff --git a/git-cherry-pick.html b/git-cherry-pick.html index 20b597789..c3d2234c5 100644 --- a/git-cherry-pick.html +++ b/git-cherry-pick.html @@ -443,7 +443,7 @@ effect to your index in a row.

diff --git a/git-cherry.html b/git-cherry.html index 7ddf242c7..6a467dd24 100644 --- a/git-cherry.html +++ b/git-cherry.html @@ -410,7 +410,7 @@ than pushing or pulling commits directly.

diff --git a/git-citool.html b/git-citool.html index 812b40012..39a90863c 100644 --- a/git-citool.html +++ b/git-citool.html @@ -345,7 +345,7 @@ See git-gui(1) for more details.

diff --git a/git-clean.html b/git-clean.html index 3e3fd1eb1..b38986d83 100644 --- a/git-clean.html +++ b/git-clean.html @@ -407,7 +407,7 @@ are affected.

diff --git a/git-clone.html b/git-clone.html index 18bac2e46..097cbbbb1 100644 --- a/git-clone.html +++ b/git-clone.html @@ -723,7 +723,7 @@ Create a repository on the kernel.org machine that borrows from Linus diff --git a/git-commit-tree.html b/git-commit-tree.html index bac8dd355..2cf8f4d61 100644 --- a/git-commit-tree.html +++ b/git-commit-tree.html @@ -525,7 +525,7 @@ reversible operation.

diff --git a/git-commit.html b/git-commit.html index 3b82a4fba..e90de3089 100644 --- a/git-commit.html +++ b/git-commit.html @@ -863,7 +863,7 @@ Junio C Hamano <gitster@pobox.com>

diff --git a/git-config.html b/git-config.html index 9c805844c..fcb4c4054 100644 --- a/git-config.html +++ b/git-config.html @@ -2797,7 +2797,7 @@ web.browser diff --git a/git-count-objects.html b/git-count-objects.html index 9dfe48f17..745f241bf 100644 --- a/git-count-objects.html +++ b/git-count-objects.html @@ -361,7 +361,7 @@ them, to help you decide when it is a good time to repack.

diff --git a/git-cvsexportcommit.html b/git-cvsexportcommit.html index 17648b87e..36d69ac64 100644 --- a/git-cvsexportcommit.html +++ b/git-cvsexportcommit.html @@ -505,7 +505,7 @@ $ git cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git cvsexportcommit diff --git a/git-cvsimport.html b/git-cvsimport.html index 8ba337273..9b426001f 100644 --- a/git-cvsimport.html +++ b/git-cvsimport.html @@ -581,7 +581,7 @@ various participants of the git-list <git@vger.kernel.org>.

diff --git a/git-cvsserver.html b/git-cvsserver.html index 49d1e3814..1ce23d9dc 100644 --- a/git-cvsserver.html +++ b/git-cvsserver.html @@ -493,7 +493,7 @@ If you didn't specify the CVSROOT/CVS_SERVER directly in the checkout command, automatically saving it in your CVS/Root files, then you need to set them explicitly in your environment. CVSROOT should be set as per normal, but the directory should point at the appropriate git repo. As above, for SSH clients - not restricted to git-shell, CVS_SERVER should be set to git-cvsserver. + _not_ restricted to git-shell, CVS_SERVER should be set to git-cvsserver.

@@ -785,7 +785,7 @@ Martin Langhoff <martin@catalyst.net.nz>
diff --git a/git-daemon.html b/git-daemon.html index 9716f0a42..601059fd1 100644 --- a/git-daemon.html +++ b/git-daemon.html @@ -486,9 +486,9 @@ git repositories.

- Allow user notation to be used in requests. When + Allow ~user notation to be used in requests. When specified with no parameter, requests to - git://host/alice/foo is taken as a request to access + git://host/~alice/foo is taken as a request to access foo repository in the home directory of user alice. If --user-path=path is specified, the same request is taken as a request to access path/foo repository in @@ -624,7 +624,7 @@ receive-pack

This serves git-send-pack clients, allowing anonymous - push. It is disabled by default, as there is no + push. It is disabled by default, as there is _no_ authentication in the protocol (in other words, anybody can push anything into the repository, including removal of refs). This is solely meant for a closed LAN setting @@ -746,7 +746,7 @@ selectively enable/disable services per repository

diff --git a/git-describe.html b/git-describe.html index 5aa3de89e..4993d53a8 100644 --- a/git-describe.html +++ b/git-describe.html @@ -518,7 +518,7 @@ updated by Shawn Pearce <spearce@spearce.org>.

diff --git a/git-diff-files.html b/git-diff-files.html index 8bc500a22..8e27720be 100644 --- a/git-diff-files.html +++ b/git-diff-files.html @@ -1045,7 +1045,7 @@ It is preceded with a "git diff" header, that looks like

The a/ and b/ filenames are the same unless rename/copy is involved. Especially, even for a creation or a deletion, -/dev/null is not used in place of a/ or b/ filenames.

+/dev/null is _not_ used in place of a/ or b/ filenames.

When rename/copy is involved, file1 and file2 show the name of the source file of the rename/copy and the name of the file that rename/copy produces, respectively.

@@ -1199,9 +1199,9 @@ and fileN does not have that line (in other words, the line was added, from the point of view of that parent).

In the above example output, the function signature was changed from both files (hence two - removals from both file1 and -file2, plus + to mean one line that was added does not appear +file2, plus ++ to mean one line that was added does not appear in either file1 nor file2). Also two other lines are the same -from file1 but do not appear in file2 (hence prefixed with ).

+from file1 but do not appear in file2 (hence prefixed with +).

When shown by git diff-tree -c, it compares the parents of a merge commit with the merge result (i.e. file1..fileN are the parents). When shown by git diff-files -c, it compares the @@ -1338,7 +1338,7 @@ the pathname, but if that is NUL, the record will show two paths.

diff --git a/git-diff-index.html b/git-diff-index.html index fa3ddb453..1713b5f54 100644 --- a/git-diff-index.html +++ b/git-diff-index.html @@ -1038,7 +1038,7 @@ It is preceded with a "git diff" header, that looks like

The a/ and b/ filenames are the same unless rename/copy is involved. Especially, even for a creation or a deletion, -/dev/null is not used in place of a/ or b/ filenames.

+/dev/null is _not_ used in place of a/ or b/ filenames.

When rename/copy is involved, file1 and file2 show the name of the source file of the rename/copy and the name of the file that rename/copy produces, respectively.

@@ -1192,9 +1192,9 @@ and fileN does not have that line (in other words, the line was added, from the point of view of that parent).

In the above example output, the function signature was changed from both files (hence two - removals from both file1 and -file2, plus + to mean one line that was added does not appear +file2, plus ++ to mean one line that was added does not appear in either file1 nor file2). Also two other lines are the same -from file1 but do not appear in file2 (hence prefixed with ).

+from file1 but do not appear in file2 (hence prefixed with +).

When shown by git diff-tree -c, it compares the parents of a merge commit with the merge result (i.e. file1..fileN are the parents). When shown by git diff-files -c, it compares the @@ -1425,7 +1425,7 @@ always have the special all-zero sha1.

diff --git a/git-diff-tree.html b/git-diff-tree.html index 607036747..fa7ebc74f 100644 --- a/git-diff-tree.html +++ b/git-diff-tree.html @@ -1866,7 +1866,7 @@ the pathname, but if that is NUL, the record will show two paths.

diff --git a/git-diff.html b/git-diff.html index 595bb56a4..9ec6c4ea8 100644 --- a/git-diff.html +++ b/git-diff.html @@ -334,7 +334,7 @@ tree and the index file, or the index file and the working tree.

This form is to view the changes you made relative to the index (staging area for the next commit). In other - words, the differences are what you could tell git to + words, the differences are what you _could_ tell git to further add to the index but you still haven't. You can stage these changes by using git-add(1).

@@ -403,7 +403,7 @@ for the last two forms that use ".." notations, can be any <tree-ish>.

For a more complete list of ways to spell <commit>, see "SPECIFYING REVISIONS" section in git-rev-parse(1). -However, "diff" is about comparing two endpoints, not ranges, +However, "diff" is about comparing two _endpoints_, not ranges, and the range notations ("<commit>..<commit>" and "<commit>...<commit>") do not mean a range as defined in the "SPECIFYING RANGES" section in git-rev-parse(1).

@@ -1099,7 +1099,7 @@ It is preceded with a "git diff" header, that looks like

The a/ and b/ filenames are the same unless rename/copy is involved. Especially, even for a creation or a deletion, -/dev/null is not used in place of a/ or b/ filenames.

+/dev/null is _not_ used in place of a/ or b/ filenames.

When rename/copy is involved, file1 and file2 show the name of the source file of the rename/copy and the name of the file that rename/copy produces, respectively.

@@ -1253,9 +1253,9 @@ and fileN does not have that line (in other words, the line was added, from the point of view of that parent).

In the above example output, the function signature was changed from both files (hence two - removals from both file1 and -file2, plus + to mean one line that was added does not appear +file2, plus ++ to mean one line that was added does not appear in either file1 nor file2). Also two other lines are the same -from file1 but do not appear in file2 (hence prefixed with ).

+from file1 but do not appear in file2 (hence prefixed with +).

When shown by git diff-tree -c, it compares the parents of a merge commit with the merge result (i.e. file1..fileN are the parents). When shown by git diff-files -c, it compares the @@ -1540,7 +1540,7 @@ Output diff in reverse.

diff --git a/git-fast-export.html b/git-fast-export.html index 06540680e..68ded3f19 100644 --- a/git-fast-export.html +++ b/git-fast-export.html @@ -443,7 +443,7 @@ a tag referencing a tree instead of a commit.

diff --git a/git-fast-import.html b/git-fast-import.html index e9066a5e1..9cca8940b 100644 --- a/git-fast-import.html +++ b/git-fast-import.html @@ -1471,7 +1471,7 @@ memory footprint (less than 2.7 MiB per active branch).

diff --git a/git-fetch-pack.html b/git-fetch-pack.html index fa2057c67..2b9f8f11a 100644 --- a/git-fetch-pack.html +++ b/git-fetch-pack.html @@ -485,7 +485,7 @@ have a common ancestor commit.

diff --git a/git-fetch.html b/git-fetch.html index 10a5b6a0a..210cc0910 100644 --- a/git-fetch.html +++ b/git-fetch.html @@ -781,7 +781,7 @@ Junio C Hamano <gitster@pobox.com>

diff --git a/git-filter-branch.html b/git-filter-branch.html index 1ef716e92..467ed51ea 100644 --- a/git-filter-branch.html +++ b/git-filter-branch.html @@ -336,7 +336,7 @@ Those filters can modify each tree (e.g. removing a file or running a perl rewrite on all files) or information about each commit. Otherwise, all information (including original commit times or merge information) will be preserved.

-

The command will only rewrite the positive refs mentioned in the +

The command will only rewrite the _positive_ refs mentioned in the command line (e.g. if you pass a..b, only b will be rewritten). If you specify no filters, the commits will be recommitted without any changes, which would normally have no effect. Nevertheless, this may be @@ -629,7 +629,7 @@ point to the top-most revision that a git-rev-list of this range will print.

NOTE the changes introduced by the commits, and which are not reverted by subsequent commits, will still be in the rewritten branch. If you want -to throw out changes together with the commits, you should use the +to throw out _changes_ together with the commits, you should use the interactive mode of git-rebase.

Consider this history:

@@ -674,7 +674,7 @@ and the git list <git@vger.kernel.org>

diff --git a/git-fmt-merge-msg.html b/git-fmt-merge-msg.html index 6811789cd..5d3546412 100644 --- a/git-fmt-merge-msg.html +++ b/git-fmt-merge-msg.html @@ -421,7 +421,7 @@ merge.summary diff --git a/git-for-each-ref.html b/git-for-each-ref.html index 8e026daf3..4623ad922 100644 --- a/git-for-each-ref.html +++ b/git-for-each-ref.html @@ -554,7 +554,7 @@ eval "$eval" diff --git a/git-format-patch.html b/git-format-patch.html index c45738fd0..bcb5035fc 100644 --- a/git-format-patch.html +++ b/git-format-patch.html @@ -1150,7 +1150,7 @@ as e-mailable patches: diff --git a/git-fsck-objects.html b/git-fsck-objects.html index 983cdd7e8..d41f4d3af 100644 --- a/git-fsck-objects.html +++ b/git-fsck-objects.html @@ -3,7 +3,7 @@ - + git-fsck-objects(1) @@ -272,16 +320,16 @@ git-fsck-objects(1) Manual Page

SYNOPSIS

-

git fsck-objects

+

git fsck-objects

-

DESCRIPTION

+

DESCRIPTION

-

This is a synonym for git-fsck(1). Please refer to the -documentation of that command.

+

This is a synonym for git-fsck(1). Please refer to the +documentation of that command.

diff --git a/git-fsck.html b/git-fsck.html index a0d7c8dea..5b0e606bb 100644 --- a/git-fsck.html +++ b/git-fsck.html @@ -444,7 +444,7 @@ that aren't readable from any of the specified head nodes.

git fsck --unreachable HEAD $(cat .git/refs/heads/*)
-

will do quite a lot of verification on the tree. There are a few +

will do quite a _lot_ of verification on the tree. There are a few extra validity tests to be added (make sure that tree objects are sorted properly etc), but on the whole if git-fsck is happy, you do have a valid tree.

@@ -570,7 +570,7 @@ GIT_ALTERNATE_OBJECT_DIRECTORIES
diff --git a/git-gc.html b/git-gc.html index bc7ff0f54..85f07cd98 100644 --- a/git-gc.html +++ b/git-gc.html @@ -451,7 +451,7 @@ remove those references.

diff --git a/git-get-tar-commit-id.html b/git-get-tar-commit-id.html index 0f31272a7..44b40de07 100644 --- a/git-get-tar-commit-id.html +++ b/git-get-tar-commit-id.html @@ -346,7 +346,7 @@ a tree ID instead of a commit ID or tag.

diff --git a/git-grep.html b/git-grep.html index 0fc0117eb..430adf833 100644 --- a/git-grep.html +++ b/git-grep.html @@ -629,7 +629,7 @@ revamped by Junio C Hamano.

diff --git a/git-gui.html b/git-gui.html index b8cccbf60..220faa7bf 100644 --- a/git-gui.html +++ b/git-gui.html @@ -481,7 +481,7 @@ of end users.

diff --git a/git-hash-object.html b/git-hash-object.html index 8b2c32a4b..a7ad4c269 100644 --- a/git-hash-object.html +++ b/git-hash-object.html @@ -411,7 +411,7 @@ specified, it defaults to "blob".

diff --git a/git-help.html b/git-help.html index 7b4eb1c62..73859419b 100644 --- a/git-help.html +++ b/git-help.html @@ -523,7 +523,7 @@ little. Maintenance is done by the git-list <git@vger.kernel.org>.

diff --git a/git-http-fetch.html b/git-http-fetch.html index 028bd920a..02a7ccc65 100644 --- a/git-http-fetch.html +++ b/git-http-fetch.html @@ -417,7 +417,7 @@ commit-id diff --git a/git-http-push.html b/git-http-push.html index 59a92067f..d2d126c71 100644 --- a/git-http-push.html +++ b/git-http-push.html @@ -3,7 +3,7 @@ - + git-http-push(1) @@ -272,19 +320,19 @@ git-http-push(1) Manual Page

SYNOPSIS

-

git http-push [--all] [--dry-run] [--force] [--verbose] <url> <ref> [<ref>…]

+

git http-push [--all] [--dry-run] [--force] [--verbose] <url> <ref> [<ref>…]

-

DESCRIPTION

+

DESCRIPTION

-

Sends missing objects to remote repository, and updates the -remote branch.

-

NOTE: This command is temporarily disabled if your libcurl +

Sends missing objects to remote repository, and updates the +remote branch.

+

NOTE: This command is temporarily disabled if your libcurl is older than 7.16, as the combination has been reported -not to work and sometimes corrupts repository.

+not to work and sometimes corrupts repository.

-

OPTIONS

+

OPTIONS

-
+
--all
@@ -336,7 +384,7 @@ not to work and sometimes corrupts repository.

cannot be the remote HEAD. If -d is specified the following other conditions must also be met:

-
    +
    • Remote HEAD must resolve to an object that exists locally @@ -352,7 +400,7 @@ Specified branch resolves to an object that exists locally Specified branch is an ancestor of the remote HEAD

    • -
    +
<ref>… @@ -362,20 +410,20 @@ Specified branch is an ancestor of the remote HEAD The remote refs to update.

- + -

Specifying the Refs

+

Specifying the Refs

-

A <ref> specification can be either a single pattern, or a pair +

A <ref> specification can be either a single pattern, or a pair of such patterns separated by a colon ":" (this means that a ref name cannot have a colon in it). A single pattern <name> is just a -shorthand for <name>:<name>.

-

Each pattern pair consists of the source side (before the colon) +shorthand for <name>:<name>.

+

Each pattern pair consists of the source side (before the colon) and the destination side (after the colon). The ref to be pushed is determined by finding a match that matches the source side, and where it is pushed is determined by using the -destination side.

-
    +destination side.

+
  • It is an error if <src> does not match exactly one of the @@ -386,7 +434,7 @@ It is an error if <src> does not match exactly one of the

    If <dst> does not match any remote ref, either

    -
      +
      • it has to start with "refs/"; <dst> is used as the @@ -400,33 +448,33 @@ it has to start with "refs/"; <dst> is used as the locally is used as the name of the destination.

      • -
      +
- -

Without --force, the <src> ref is stored at the remote only if +

+

Without --force, the <src> ref is stored at the remote only if <dst> does not exist, or <dst> is a proper subset (i.e. an ancestor) of <src>. This check, known as "fast forward check", is performed in order to avoid accidentally overwriting the -remote ref and lose other peoples' commits from there.

-

With --force, the fast forward check is disabled for all refs.

-

Optionally, a <ref> parameter can be prefixed with a plus + sign -to disable the fast-forward check only on that ref.

+remote ref and lose other peoples' commits from there.

+

With --force, the fast forward check is disabled for all refs.

+

Optionally, a <ref> parameter can be prefixed with a plus + sign +to disable the fast-forward check only on that ref.

-

Author

+

Author

-

Written by Nick Hengeveld <nickh@reactrix.com>

+

Written by Nick Hengeveld <nickh@reactrix.com>

-

Documentation

+

Documentation

-

Documentation by Nick Hengeveld

+

Documentation by Nick Hengeveld

-

GIT

+

GIT

-

Part of the git(1) suite

+

Part of the git(1) suite

diff --git a/git-imap-send.html b/git-imap-send.html index 4dcff7707..5e0896c18 100644 --- a/git-imap-send.html +++ b/git-imap-send.html @@ -452,7 +452,7 @@ imap.sslverify diff --git a/git-index-pack.html b/git-index-pack.html index 93e3f8676..555f43f55 100644 --- a/git-index-pack.html +++ b/git-index-pack.html @@ -454,7 +454,7 @@ mentioned above.

diff --git a/git-init-db.html b/git-init-db.html index 647971619..fd4a3b540 100644 --- a/git-init-db.html +++ b/git-init-db.html @@ -3,7 +3,7 @@ - + git-init-db(1) @@ -272,16 +320,16 @@ git-init-db(1) Manual Page

SYNOPSIS

-

git init-db [-q | --quiet] [--template=<template_directory>] [--shared[=<permissions>]]

+

git init-db [-q | --quiet] [--template=<template_directory>] [--shared[=<permissions>]]

-

DESCRIPTION

+

DESCRIPTION

-

This is a synonym for git-init(1). Please refer to the -documentation of that command.

+

This is a synonym for git-init(1). Please refer to the +documentation of that command.

diff --git a/git-init.html b/git-init.html index ba308c710..31826608e 100644 --- a/git-init.html +++ b/git-init.html @@ -472,7 +472,7 @@ add all existing file to the index diff --git a/git-instaweb.html b/git-instaweb.html index 37e773d25..ae77a35e3 100644 --- a/git-instaweb.html +++ b/git-instaweb.html @@ -458,7 +458,7 @@ repository.

diff --git a/git-log.html b/git-log.html index 5865f202f..3dd4b94f2 100644 --- a/git-log.html +++ b/git-log.html @@ -2230,7 +2230,7 @@ reversible operation.

diff --git a/git-lost-found.html b/git-lost-found.html index eac835d08..7394a90cf 100644 --- a/git-lost-found.html +++ b/git-lost-found.html @@ -3,7 +3,7 @@ - + git-lost-found(1) @@ -272,41 +320,41 @@ git-lost-found(1) Manual Page

SYNOPSIS

-

git lost-found

+

git lost-found

-

DESCRIPTION

+

DESCRIPTION

-

NOTE: this command is deprecated. Use git-fsck(1) with -the option --lost-found instead.

-

Finds dangling commits and tags from the object database, and +

NOTE: this command is deprecated. Use git-fsck(1) with +the option --lost-found instead.

+

Finds dangling commits and tags from the object database, and creates refs to them in the .git/lost-found/ directory. Commits and tags that dereference to commits are stored in .git/lost-found/commit, -and other objects are stored in .git/lost-found/other.

+and other objects are stored in .git/lost-found/other.

-

OUTPUT

+

OUTPUT

-

Prints to standard output the object names and one-line descriptions -of any commits or tags found.

+

Prints to standard output the object names and one-line descriptions +of any commits or tags found.

-

EXAMPLE

+

EXAMPLE

-

Suppose you run git tag -f and mistype the tag to overwrite. +

Suppose you run git tag -f and mistype the tag to overwrite. The ref to your tag is overwritten, but until you run git -prune, the tag itself is still there.

+prune, the tag itself is still there.

$ git lost-found
 [1ef2b196d909eed523d4f3c9bf54b78cdd6843c6] GIT 0.99.9c
 ...
-

Also you can use gitk to browse how any tags found relate to each -other.

+

Also you can use gitk to browse how any tags found relate to each +other.

$ gitk $(cd .git/lost-found/commit && echo ??*)
-

After making sure you know which the object is the tag you are looking -for, you can reconnect it to your regular .git/refs hierarchy.

+

After making sure you know which the object is the tag you are looking +for, you can reconnect it to your regular .git/refs hierarchy.

$ git cat-file -t 1ef2b196
@@ -326,21 +374,21 @@ $ git rev-parse not-lost-anymore
 1ef2b196d909eed523d4f3c9bf54b78cdd6843c6
-

Author

+

Author

-

Written by Junio C Hamano <gitster@pobox.com>

+

Written by Junio C Hamano <gitster@pobox.com>

-

Documentation

+

Documentation

-

Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.

+

Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.

-

GIT

+

GIT

-

Part of the git(1) suite

+

Part of the git(1) suite

diff --git a/git-ls-files.html b/git-ls-files.html index 47ee69237..4ce940660 100644 --- a/git-ls-files.html +++ b/git-ls-files.html @@ -704,7 +704,7 @@ pattern file appears in.

diff --git a/git-ls-remote.html b/git-ls-remote.html index ba7210c3d..16b0a1db5 100644 --- a/git-ls-remote.html +++ b/git-ls-remote.html @@ -347,7 +347,7 @@ commit IDs.

Limit to only refs/heads and refs/tags, respectively. - These options are not mutually exclusive; when given + These options are _not_ mutually exclusive; when given both, references stored in refs/heads and refs/tags are displayed.

@@ -421,7 +421,7 @@ c5db5456ae3b0873fc659c19fafdde22313cc441 refs/tags/v0.99.2 diff --git a/git-ls-tree.html b/git-ls-tree.html index 39a8558a6..6dfab06a5 100644 --- a/git-ls-tree.html +++ b/git-ls-tree.html @@ -482,7 +482,7 @@ another major rewrite by Linus Torvalds <torvalds@osdl.org>

diff --git a/git-mailinfo.html b/git-mailinfo.html index fbb69bdad..d4024282a 100644 --- a/git-mailinfo.html +++ b/git-mailinfo.html @@ -413,7 +413,7 @@ Junio C Hamano <gitster@pobox.com>

diff --git a/git-mailsplit.html b/git-mailsplit.html index 1e856c28d..2c376d1da 100644 --- a/git-mailsplit.html +++ b/git-mailsplit.html @@ -410,7 +410,7 @@ and Junio C Hamano <gitster@pobox.com>

diff --git a/git-merge-base.html b/git-merge-base.html index ae6de2339..53f1648eb 100644 --- a/git-merge-base.html +++ b/git-merge-base.html @@ -415,7 +415,7 @@ it is unspecified which best one is output.

diff --git a/git-merge-file.html b/git-merge-file.html index 6dd32ecf5..1cbe55525 100644 --- a/git-merge-file.html +++ b/git-merge-file.html @@ -425,7 +425,7 @@ with parts copied from the original documentation of RCS merge.

diff --git a/git-merge-index.html b/git-merge-index.html index efd6ed38f..75769147a 100644 --- a/git-merge-index.html +++ b/git-merge-index.html @@ -420,7 +420,7 @@ One-shot merge by Petr Baudis <pasky@ucw.cz>

diff --git a/git-merge-one-file.html b/git-merge-one-file.html index d28328ac5..19b566300 100644 --- a/git-merge-one-file.html +++ b/git-merge-one-file.html @@ -342,7 +342,7 @@ Junio C Hamano <gitster@pobox.com> and Petr Baudis <pasky@suse.cz>.< diff --git a/git-merge-tree.html b/git-merge-tree.html index cb280941d..62ec14d3a 100644 --- a/git-merge-tree.html +++ b/git-merge-tree.html @@ -3,7 +3,7 @@ - + git-merge-tree(1) @@ -272,35 +320,35 @@ git-merge-tree(1) Manual Page

SYNOPSIS

-

git merge-tree <base-tree> <branch1> <branch2>

+

git merge-tree <base-tree> <branch1> <branch2>

-

DESCRIPTION

+

DESCRIPTION

-

Reads three treeish, and output trivial merge results and +

Reads three treeish, and output trivial merge results and conflicting stages to the standard output. This is similar to what three-way read-tree -m does, but instead of storing the results in the index, the command outputs the entries to the -standard output.

-

This is meant to be used by higher level scripts to compute +standard output.

+

This is meant to be used by higher level scripts to compute merge results outside index, and stuff the results back into the index. For this reason, the output from the command omits -entries that match <branch1> tree.

+entries that match <branch1> tree.

-

Author

+

Author

-

Written by Linus Torvalds <torvalds@osdl.org>

+

Written by Linus Torvalds <torvalds@osdl.org>

-

Documentation

+

Documentation

-

Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.

+

Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.

-

GIT

+

GIT

-

Part of the git(1) suite

+

Part of the git(1) suite

diff --git a/git-merge.html b/git-merge.html index a9ad58d58..556282d8d 100644 --- a/git-merge.html +++ b/git-merge.html @@ -827,7 +827,7 @@ Look at the originals. git show :1:filename shows the diff --git a/git-mergetool.html b/git-mergetool.html index 301e50bb8..47714bf4d 100644 --- a/git-mergetool.html +++ b/git-mergetool.html @@ -388,7 +388,7 @@ success of the resolution after the custom tool has exited.

diff --git a/git-mktag.html b/git-mktag.html index 27a03e600..a2d9632b4 100644 --- a/git-mktag.html +++ b/git-mktag.html @@ -3,7 +3,7 @@ - + git-mktag(1) @@ -272,17 +320,17 @@ git-mktag(1) Manual Page

SYNOPSIS

-

git mktag < signature_file

+

git mktag < signature_file

-

DESCRIPTION

+

DESCRIPTION

-

Reads a tag contents on standard input and creates a tag object -that can also be used to sign other objects.

-

The output is the new tag's <object> identifier.

+

Reads a tag contents on standard input and creates a tag object +that can also be used to sign other objects.

+

The output is the new tag's <object> identifier.

-

Tag Format

+

Tag Format

-

A tag signature file has a very simple fixed format: four lines of

+

A tag signature file has a very simple fixed format: four lines of

object <sha1>
@@ -290,27 +338,27 @@ type <typename>
 tag <tagname>
 tagger <tagger>
-

followed by some optional free-form message (some tags created +

followed by some optional free-form message (some tags created by older git may not have tagger line). The message, when exists, is separated by a blank line from the header. The message part may contain a signature that git itself doesn't -care about, but that can be verified with gpg.

+care about, but that can be verified with gpg.

-

Author

+

Author

-

Written by Linus Torvalds <torvalds@osdl.org>

+

Written by Linus Torvalds <torvalds@osdl.org>

-

Documentation

+

Documentation

-

Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

+

Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

-

GIT

+

GIT

-

Part of the git(1) suite

+

Part of the git(1) suite

diff --git a/git-mktree.html b/git-mktree.html index 6cca24a65..a8e18cd33 100644 --- a/git-mktree.html +++ b/git-mktree.html @@ -355,7 +355,7 @@ built is written to the standard output.

diff --git a/git-mv.html b/git-mv.html index a264d9487..262f6ab0f 100644 --- a/git-mv.html +++ b/git-mv.html @@ -3,7 +3,7 @@ - + git-mv(1) @@ -272,26 +320,26 @@ git-mv(1) Manual Page

SYNOPSIS

-

git mv <options>… <args>…

+

git mv <options>… <args>…

-

DESCRIPTION

+

DESCRIPTION

-

This script is used to move or rename a file, directory or symlink.

+

This script is used to move or rename a file, directory or symlink.

git mv [-f] [-n] <source> <destination>
 git mv [-f] [-n] [-k] <source> ... <destination directory>
-

In the first form, it renames <source>, which must exist and be either +

In the first form, it renames <source>, which must exist and be either a file, symlink or directory, to <destination>. In the second form, the last argument has to be an existing -directory; the given sources will be moved into this directory.

-

The index is updated after successful completion, but the change must still be -committed.

+directory; the given sources will be moved into this directory.

+

The index is updated after successful completion, but the change must still be +committed.

-

OPTIONS

+

OPTIONS

-
+
-f
@@ -322,25 +370,25 @@ committed.

Do nothing; only show what would happen

- + -

Author

+

Author

-

Written by Linus Torvalds <torvalds@osdl.org> +

Written by Linus Torvalds <torvalds@osdl.org> Rewritten by Ryan Anderson <ryan@michonline.com> -Move functionality added by Josef Weidendorfer <Josef.Weidendorfer@gmx.de>

+Move functionality added by Josef Weidendorfer <Josef.Weidendorfer@gmx.de>

-

Documentation

+

Documentation

-

Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

+

Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

-

GIT

+

GIT

-

Part of the git(1) suite

+

Part of the git(1) suite

diff --git a/git-name-rev.html b/git-name-rev.html index 25e1b0919..a88b2b900 100644 --- a/git-name-rev.html +++ b/git-name-rev.html @@ -428,7 +428,7 @@ not the context.

diff --git a/git-pack-objects.html b/git-pack-objects.html index fa262410c..dbe9189bc 100644 --- a/git-pack-objects.html +++ b/git-pack-objects.html @@ -628,7 +628,7 @@ base-name diff --git a/git-pack-redundant.html b/git-pack-redundant.html index e92e065bd..10c90cf79 100644 --- a/git-pack-redundant.html +++ b/git-pack-redundant.html @@ -383,7 +383,7 @@ objects.

diff --git a/git-pack-refs.html b/git-pack-refs.html index 11a8c42e5..b8f919cc3 100644 --- a/git-pack-refs.html +++ b/git-pack-refs.html @@ -3,7 +3,7 @@ - + git-pack-refs(1) @@ -272,36 +320,36 @@ git-pack-refs(1) Manual Page

SYNOPSIS

-

git pack-refs [--all] [--no-prune]

+

git pack-refs [--all] [--no-prune]

-

DESCRIPTION

+

DESCRIPTION

-

Traditionally, tips of branches and tags (collectively known as +

Traditionally, tips of branches and tags (collectively known as refs) were stored one file per ref under $GIT_DIR/refs directory. While many branch tips tend to be updated often, most tags and some branch tips are never updated. When a repository has hundreds or thousands of tags, this one-file-per-ref format both wastes storage and hurts -performance.

-

This command is used to solve the storage and performance +performance.

+

This command is used to solve the storage and performance problem by stashing the refs in a single file, $GIT_DIR/packed-refs. When a ref is missing from the traditional $GIT_DIR/refs hierarchy, it is looked up in this -file and used if found.

-

Subsequent updates to branches always creates new file under -$GIT_DIR/refs hierarchy.

-

A recommended practice to deal with a repository with too many +file and used if found.

+

Subsequent updates to branches always creates new file under +$GIT_DIR/refs hierarchy.

+

A recommended practice to deal with a repository with too many refs is to pack its refs with --all --prune once, and occasionally run git pack-refs --prune. Tags are by definition stationary and are not expected to change. Branch heads will be packed with the initial pack-refs --all, but only the currently active branch heads will become unpacked, and next pack-refs (without --all) will leave them -unpacked.

+unpacked.

-

OPTIONS

+

OPTIONS

-
+
--all
@@ -324,19 +372,19 @@ The command usually removes loose refs under $GIT_DIR/refs hierarchy after packing them. This option tells it not to.

-
+
-

Author

+

Author

-

Written by Linus Torvalds <torvalds@osdl.org>

+

Written by Linus Torvalds <torvalds@osdl.org>

-

GIT

+

GIT

-

Part of the git(1) suite

+

Part of the git(1) suite

diff --git a/git-parse-remote.html b/git-parse-remote.html index 6cededeec..920298894 100644 --- a/git-parse-remote.html +++ b/git-parse-remote.html @@ -374,7 +374,7 @@ get_remote_refs_for_push diff --git a/git-patch-id.html b/git-patch-id.html index 09916be9d..196a514c1 100644 --- a/git-patch-id.html +++ b/git-patch-id.html @@ -362,7 +362,7 @@ This can be used to make a mapping from patch ID to commit ID.

diff --git a/git-peek-remote.html b/git-peek-remote.html index a82a65309..ac3bf7056 100644 --- a/git-peek-remote.html +++ b/git-peek-remote.html @@ -380,7 +380,7 @@ git-peek-remote(1) Manual Page diff --git a/git-prune-packed.html b/git-prune-packed.html index e91c661c7..f41e8f63c 100644 --- a/git-prune-packed.html +++ b/git-prune-packed.html @@ -3,7 +3,7 @@ - + git-prune-packed(1) @@ -272,21 +320,21 @@ git-prune-packed(1) Manual Page

SYNOPSIS

-

git prune-packed [-n] [-q]

+

git prune-packed [-n] [-q]

-

DESCRIPTION

+

DESCRIPTION

-

This program searches the $GIT_OBJECT_DIR for all objects that currently -exist in a pack file as well as the independent object directories.

-

All such extra objects are removed.

-

A pack is a collection of objects, individually compressed, with delta -compression applied, stored in a single file, with an associated index file.

-

Packs are used to reduce the load on mirror systems, backup engines, -disk storage, etc.

+

This program searches the $GIT_OBJECT_DIR for all objects that currently +exist in a pack file as well as the independent object directories.

+

All such extra objects are removed.

+

A pack is a collection of objects, individually compressed, with delta +compression applied, stored in a single file, with an associated index file.

+

Packs are used to reduce the load on mirror systems, backup engines, +disk storage, etc.

-

OPTIONS

+

OPTIONS

-
+
-n
@@ -304,28 +352,28 @@ disk storage, etc.

Squelch the progress indicator.

-
+
-

Author

+

Author

-

Written by Linus Torvalds <torvalds@osdl.org>

+

Written by Linus Torvalds <torvalds@osdl.org>

-

Documentation

+

Documentation

-

Documentation by Ryan Anderson <ryan@michonline.com>

+

Documentation by Ryan Anderson <ryan@michonline.com>

-

SEE ALSO

+

SEE ALSO

-

git-pack-objects(1) -git-repack(1)

+
-

GIT

+

GIT

-

Part of the git(1) suite

+

Part of the git(1) suite

diff --git a/git-prune.html b/git-prune.html index 28bd8a123..73abc2e83 100644 --- a/git-prune.html +++ b/git-prune.html @@ -421,7 +421,7 @@ many other housekeeping tasks.

diff --git a/git-pull.html b/git-pull.html index c5f610578..f9b20d952 100644 --- a/git-pull.html +++ b/git-pull.html @@ -482,7 +482,7 @@ when merging local branches into the current branch.

Note
-This is a potentially dangerous mode of operation. +This is a potentially _dangerous_ mode of operation. It rewrites history, which does not bode well when you published that history already. Do not use this option unless you have read git-rebase(1) carefully. @@ -1149,7 +1149,7 @@ Junio C Hamano and the git-list <git@vger.kernel.org>.

diff --git a/git-push.html b/git-push.html index c4caddd09..a0e630c98 100644 --- a/git-push.html +++ b/git-push.html @@ -818,7 +818,7 @@ by Linus Torvalds <torvalds@osdl.org>

diff --git a/git-quiltimport.html b/git-quiltimport.html index 3b1ff543a..8d7d72693 100644 --- a/git-quiltimport.html +++ b/git-quiltimport.html @@ -3,7 +3,7 @@ - + git-quiltimport(1) @@ -275,22 +323,22 @@ git-quiltimport(1) Manual Page
git quiltimport [--dry-run] [--author <author>] [--patches <dir>]
-

DESCRIPTION

+

DESCRIPTION

-

Applies a quilt patchset onto the current git branch, preserving +

Applies a quilt patchset onto the current git branch, preserving the patch boundaries, patch order, and patch descriptions present -in the quilt patchset.

-

For each patch the code attempts to extract the author from the +in the quilt patchset.

+

For each patch the code attempts to extract the author from the patch description. If that fails it falls back to the author specified with --author. If the --author flag was not given the patch description is displayed and the user is asked to -interactively enter the author of the patch.

-

If a subject is not found in the patch description the patch name is -preserved as the 1 line subject in the git description.

+interactively enter the author of the patch.

+

If a subject is not found in the patch description the patch name is +preserved as the 1 line subject in the git description.

-

OPTIONS

+

OPTIONS

-
+
-n
@@ -322,27 +370,27 @@ preserved as the 1 line subject in the git description.

The directory to find the quilt patches and the quilt series file.

-

The default for the patch directory is patches +

The default for the patch directory is patches or the value of the $QUILT_PATCHES environment -variable.

+variable.

-
+
-

Author

+

Author

-

Written by Eric Biederman <ebiederm@lnxi.com>

+

Written by Eric Biederman <ebiederm@lnxi.com>

-

Documentation

+

Documentation

-

Documentation by Eric Biederman <ebiederm@lnxi.com>

+

Documentation by Eric Biederman <ebiederm@lnxi.com>

-

GIT

+

GIT

-

Part of the git(1) suite

+

Part of the git(1) suite

diff --git a/git-read-tree.html b/git-read-tree.html index 5582b864f..e709f3992 100644 --- a/git-read-tree.html +++ b/git-read-tree.html @@ -664,7 +664,7 @@ if a file exists in identical format in all three trees, it will
  • -a file that has any difference what-so-ever in the three trees +a file that has _any_ difference what-so-ever in the three trees will stay as separate entries in the index. It's up to "porcelain policy" to determine how to remove the non-0 stages, and insert a merged version. @@ -776,7 +776,7 @@ have finished your work-in-progress), attempt the merge again.

    diff --git a/git-rebase.html b/git-rebase.html index e67b2d42a..f0802c1fb 100644 --- a/git-rebase.html +++ b/git-rebase.html @@ -907,7 +907,7 @@ Johannes E. Schindelin <johannes.schindelin@gmx.de>

    diff --git a/git-receive-pack.html b/git-receive-pack.html index d4c5cfb09..0fe57e423 100644 --- a/git-receive-pack.html +++ b/git-receive-pack.html @@ -478,7 +478,7 @@ exec git update-server-info diff --git a/git-reflog.html b/git-reflog.html index 3b50cb2cc..6ca98bd56 100644 --- a/git-reflog.html +++ b/git-reflog.html @@ -352,7 +352,7 @@ two moves ago", master@{one.week.ago} means "where master used to point to one week ago", and so on. See git-rev-parse(1) for more details.

    To delete single entries from the reflog, use the subcommand "delete" -and specify the exact entry (e.g. "git reflog delete master@{2}").

    +and specify the _exact_ entry (e.g. "git reflog delete master@{2}").

    OPTIONS

    @@ -447,7 +447,7 @@ them.

    diff --git a/git-relink.html b/git-relink.html index 48c9ea4e9..11b17e6ef 100644 --- a/git-relink.html +++ b/git-relink.html @@ -3,7 +3,7 @@ - + git-relink(1) @@ -272,17 +320,17 @@ git-relink(1) Manual Page

    SYNOPSIS

    -

    git relink [--safe] <dir> [<dir>]* <master_dir>

    +

    git relink [--safe] <dir> [<dir>]* <master_dir>

    -

    DESCRIPTION

    +

    DESCRIPTION

    -

    This will scan 1 or more object repositories and look for objects in common +

    This will scan 1 or more object repositories and look for objects in common with a master repository. Objects not already hardlinked to the master -repository will be replaced with a hardlink to the master repository.

    +repository will be replaced with a hardlink to the master repository.

    -

    OPTIONS

    +

    OPTIONS

    -
    +
    --safe
    @@ -300,23 +348,23 @@ repository will be replaced with a hardlink to the master repository.

    Directories containing a .git/objects/ subdirectory.

    -
    +
    -

    Author

    +

    Author

    -

    Written by Ryan Anderson <ryan@michonline.com>

    +

    Written by Ryan Anderson <ryan@michonline.com>

    -

    Documentation

    +

    Documentation

    -

    Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.

    +

    Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.

    -

    GIT

    +

    GIT

    -

    Part of the git(1) suite

    +

    Part of the git(1) suite

    diff --git a/git-remote.html b/git-remote.html index 49f56d121..6dcb6bfb8 100644 --- a/git-remote.html +++ b/git-remote.html @@ -493,7 +493,7 @@ $ git merge origin diff --git a/git-repack.html b/git-repack.html index 09c39a733..0cf6a3ec7 100644 --- a/git-repack.html +++ b/git-repack.html @@ -495,7 +495,7 @@ that way can try to use older git with it).

    diff --git a/git-repo-config.html b/git-repo-config.html index 6a5ec6652..7c424f89a 100644 --- a/git-repo-config.html +++ b/git-repo-config.html @@ -3,7 +3,7 @@ - + git-repo-config(1) @@ -272,16 +320,16 @@ git-repo-config(1) Manual Page

    SYNOPSIS

    -

    git repo-config

    +

    git repo-config

    -

    DESCRIPTION

    +

    DESCRIPTION

    -

    This is a synonym for git-config(1). Please refer to the -documentation of that command.

    +

    This is a synonym for git-config(1). Please refer to the +documentation of that command.

    diff --git a/git-request-pull.html b/git-request-pull.html index 762e3c793..7a66c627d 100644 --- a/git-request-pull.html +++ b/git-request-pull.html @@ -370,7 +370,7 @@ the given URL in the generated summary.

    diff --git a/git-rerere.html b/git-rerere.html index acbd5d8a5..eae1d89d3 100644 --- a/git-rerere.html +++ b/git-rerere.html @@ -529,7 +529,7 @@ conflict.

    diff --git a/git-reset.html b/git-reset.html index 33b03fd80..966f5e82b 100644 --- a/git-reset.html +++ b/git-reset.html @@ -655,7 +655,7 @@ Adds the file to the index again. diff --git a/git-rev-list.html b/git-rev-list.html index 769307485..268da1b55 100644 --- a/git-rev-list.html +++ b/git-rev-list.html @@ -1506,7 +1506,7 @@ and the git-list <git@vger.kernel.org>.

    diff --git a/git-rev-parse.html b/git-rev-parse.html index 5c8623ec5..30cfeefda 100644 --- a/git-rev-parse.html +++ b/git-rev-parse.html @@ -974,7 +974,7 @@ Junio C Hamano <gitster@pobox.com> and Pierre Habouzit <madcoder@debian diff --git a/git-revert.html b/git-revert.html index 343f5424f..38736ef17 100644 --- a/git-revert.html +++ b/git-revert.html @@ -433,7 +433,7 @@ effect to your index in a row.

    diff --git a/git-rm.html b/git-rm.html index 44232cc58..cc459cc18 100644 --- a/git-rm.html +++ b/git-rm.html @@ -484,7 +484,7 @@ git rm -f git-*.sh diff --git a/git-send-email.html b/git-send-email.html index 77ca8a5e7..598fb0fe3 100644 --- a/git-send-email.html +++ b/git-send-email.html @@ -766,7 +766,7 @@ send_lots_of_email.pl by Greg Kroah-Hartman.

    diff --git a/git-send-pack.html b/git-send-pack.html index 69434523d..b219eebc0 100644 --- a/git-send-pack.html +++ b/git-send-pack.html @@ -501,7 +501,7 @@ to disable the fast-forward check only on that ref.

    diff --git a/git-sh-setup.html b/git-sh-setup.html index d7e63f7fb..c5438867f 100644 --- a/git-sh-setup.html +++ b/git-sh-setup.html @@ -431,7 +431,7 @@ get_author_ident_from_commit diff --git a/git-shell.html b/git-shell.html index e50b5e3d4..99402ed1a 100644 --- a/git-shell.html +++ b/git-shell.html @@ -346,7 +346,7 @@ are permitted to be called, with a single required argument.

    diff --git a/git-shortlog.html b/git-shortlog.html index 3f0506106..93bad467e 100644 --- a/git-shortlog.html +++ b/git-shortlog.html @@ -419,7 +419,7 @@ Eve Jones <eve@laptop.(none)> diff --git a/git-show-branch.html b/git-show-branch.html index 3ecad5f35..a7881b470 100644 --- a/git-show-branch.html +++ b/git-show-branch.html @@ -575,7 +575,7 @@ topologically related with each other.

    diff --git a/git-show-index.html b/git-show-index.html index c9bac2fec..47696ef7d 100644 --- a/git-show-index.html +++ b/git-show-index.html @@ -344,7 +344,7 @@ offset and SHA1 of each object.

    diff --git a/git-show-ref.html b/git-show-ref.html index 0ee63252e..c64a4369d 100644 --- a/git-show-ref.html +++ b/git-show-ref.html @@ -529,7 +529,7 @@ Man page by Jonas Fonseca <fonseca@diku.dk>.

    diff --git a/git-show.html b/git-show.html index f6132e370..3625207aa 100644 --- a/git-show.html +++ b/git-show.html @@ -855,7 +855,7 @@ Johannes Schindelin <Johannes.Schindelin@gmx.de>.

    diff --git a/git-stash.html b/git-stash.html index dabe8c286..a02e21d58 100644 --- a/git-stash.html +++ b/git-stash.html @@ -585,7 +585,7 @@ $ git commit foo -m 'Remaining parts' diff --git a/git-status.html b/git-status.html index c426796fd..b4a9cfa69 100644 --- a/git-status.html +++ b/git-status.html @@ -328,8 +328,8 @@ git-status(1) Manual Page current HEAD commit, paths that have differences between the working tree and the index file, and paths in the working tree that are not tracked by git (and are not ignored by gitignore(5)). The first -are what you would commit by running git commit; the second and -third are what you could commit by running git-add before running +are what you _would_ commit by running git commit; the second and +third are what you _could_ commit by running git-add before running git commit.

    The command takes the same set of options as git-commit; it shows what would be committed if the same options are given to @@ -380,7 +380,7 @@ Junio C Hamano <gitster@pobox.com>.

    diff --git a/git-stripspace.html b/git-stripspace.html index 6ce84ea6a..135c8b990 100644 --- a/git-stripspace.html +++ b/git-stripspace.html @@ -3,7 +3,7 @@ - + git-stripspace(1) @@ -272,15 +320,15 @@ git-stripspace(1) Manual Page

    SYNOPSIS

    -

    git stripspace [-s | --strip-comments] < <stream>

    +

    git stripspace [-s | --strip-comments] < <stream>

    -

    DESCRIPTION

    +

    DESCRIPTION

    -

    Remove multiple empty lines, and empty lines at beginning and end.

    +

    Remove multiple empty lines, and empty lines at beginning and end.

    -

    OPTIONS

    +

    OPTIONS

    -
    +
    -s
    @@ -300,23 +348,23 @@ git-stripspace(1) Manual Page Byte stream to act on.

    -
    +
    -

    Author

    +

    Author

    -

    Written by Linus Torvalds <torvalds@osdl.org>

    +

    Written by Linus Torvalds <torvalds@osdl.org>

    -

    Documentation

    +

    Documentation

    -

    Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.

    +

    Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.

    -

    GIT

    +

    GIT

    -

    Part of the git(1) suite

    +

    Part of the git(1) suite

    diff --git a/git-submodule.html b/git-submodule.html index 25c48a89d..113c89a37 100644 --- a/git-submodule.html +++ b/git-submodule.html @@ -567,7 +567,7 @@ for details.

    diff --git a/git-svn.html b/git-svn.html index 4fd22cc95..3e736bd2b 100644 --- a/git-svn.html +++ b/git-svn.html @@ -1236,7 +1236,7 @@ should be manually entered with a text-editor or using git-config.

    < diff --git a/git-symbolic-ref.html b/git-symbolic-ref.html index d6be001de..578f155dd 100644 --- a/git-symbolic-ref.html +++ b/git-symbolic-ref.html @@ -387,7 +387,7 @@ name is not a symbolic ref, or 128 if another error occurs.

    diff --git a/git-tag.html b/git-tag.html index 0afeacc41..b954cb159 100644 --- a/git-tag.html +++ b/git-tag.html @@ -601,7 +601,7 @@ Junio C Hamano <gitster@pobox.com> and Chris Wright <chrisw@osdl.org> diff --git a/git-tar-tree.html b/git-tar-tree.html index 48418477b..565ef09fb 100644 --- a/git-tar-tree.html +++ b/git-tar-tree.html @@ -447,7 +447,7 @@ git tar-tree HEAD:Documentation/ git-docs > git-1.4.0-docs.tar diff --git a/git-tools.html b/git-tools.html index 239643abb..01fe238b7 100644 --- a/git-tools.html +++ b/git-tools.html @@ -3,7 +3,7 @@ - + A short git tools survey @@ -261,16 +309,16 @@ div.exampleblock-content { -

    Introduction

    +

    Introduction

    -

    Apart from git contrib/ area there are some others third-party tools -you may want to look.

    -

    This document presents a brief summary of each tool and the corresponding -link.

    +

    Apart from git contrib/ area there are some others third-party tools +you may want to look.

    +

    This document presents a brief summary of each tool and the corresponding +link.

    -

    Alternative/Augmentative Porcelains

    +

    Alternative/Augmentative Porcelains

    -
      +
      • Cogito (http://www.kernel.org/pub/software/scm/cogito/) @@ -310,11 +358,11 @@ GIT environment. You can easily manage your patches in the scope of GIT until they get merged upstream.

  • - + -

    History Viewers

    +

    History Viewers

    -
    - + -

    Foreign SCM interface

    +

    Foreign SCM interface

    -
    - + -

    Others

    +

    Others

    -
    - -

    http://git.or.cz/gitwiki/InterfacesFrontendsAndTools has more -comprehensive list.

    + +

    http://git.or.cz/gitwiki/InterfacesFrontendsAndTools has more +comprehensive list.

    diff --git a/git-unpack-file.html b/git-unpack-file.html index c2a93cbd1..1212ac757 100644 --- a/git-unpack-file.html +++ b/git-unpack-file.html @@ -3,7 +3,7 @@ - + git-unpack-file(1) @@ -272,17 +320,17 @@ git-unpack-file(1) Manual Page

    SYNOPSIS

    -

    git unpack-file <blob>

    +

    git unpack-file <blob>

    -

    DESCRIPTION

    +

    DESCRIPTION

    -

    Creates a file holding the contents of the blob specified by sha1. It +

    Creates a file holding the contents of the blob specified by sha1. It returns the name of the temporary file in the following format: - .merge_file_XXXXX

    + .merge_file_XXXXX

    -

    OPTIONS

    +

    OPTIONS

    -
    +
    <blob>
    @@ -291,23 +339,23 @@ returns the name of the temporary file in the following format: Must be a blob id

    -
    +
    -

    Author

    +

    Author

    -

    Written by Linus Torvalds <torvalds@osdl.org>

    +

    Written by Linus Torvalds <torvalds@osdl.org>

    -

    Documentation

    +

    Documentation

    -

    Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

    +

    Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

    -

    GIT

    +

    GIT

    -

    Part of the git(1) suite

    +

    Part of the git(1) suite

    diff --git a/git-unpack-objects.html b/git-unpack-objects.html index 77b0791ce..d7520ff96 100644 --- a/git-unpack-objects.html +++ b/git-unpack-objects.html @@ -3,7 +3,7 @@ - + git-unpack-objects(1) @@ -272,22 +320,22 @@ git-unpack-objects(1) Manual Page

    SYNOPSIS

    -

    git unpack-objects [-n] [-q] [-r] [--strict] <pack-file

    +

    git unpack-objects [-n] [-q] [-r] [--strict] <pack-file

    -

    DESCRIPTION

    +

    DESCRIPTION

    -

    Read a packed archive (.pack) from the standard input, expanding +

    Read a packed archive (.pack) from the standard input, expanding the objects contained within and writing them into the repository in -"loose" (one object per file) format.

    -

    Objects that already exist in the repository will not be unpacked +"loose" (one object per file) format.

    +

    Objects that already exist in the repository will not be unpacked from the pack-file. Therefore, nothing will be unpacked if you use -this command on a pack-file that exists within the target repository.

    -

    See git-repack(1) for options to generate -new packs and replace existing ones.

    +this command on a pack-file that exists within the target repository.

    +

    See git-repack(1) for options to generate +new packs and replace existing ones.

    -

    OPTIONS

    +

    OPTIONS

    -
    +
    -n
    @@ -325,23 +373,23 @@ new packs and replace existing ones.

    Don't write objects with broken content or links.

    -
    +
    -

    Author

    +

    Author

    -

    Written by Linus Torvalds <torvalds@osdl.org>

    +

    Written by Linus Torvalds <torvalds@osdl.org>

    -

    Documentation

    +

    Documentation

    -

    Documentation by Junio C Hamano

    +

    Documentation by Junio C Hamano

    -

    GIT

    +

    GIT

    -

    Part of the git(1) suite

    +

    Part of the git(1) suite

    diff --git a/git-update-index.html b/git-update-index.html index 146b87956..e56476822 100644 --- a/git-update-index.html +++ b/git-update-index.html @@ -794,7 +794,7 @@ ctime for marking files processed) (see git-config(1)< diff --git a/git-update-ref.html b/git-update-ref.html index 5cd132f49..2098bbc09 100644 --- a/git-update-ref.html +++ b/git-update-ref.html @@ -3,7 +3,7 @@ - + git-update-ref(1) @@ -272,95 +320,95 @@ git-update-ref(1) Manual Page

    SYNOPSIS

    -

    git update-ref [-m <reason>] (-d <ref> [<oldvalue>] | [--no-deref] <ref> <newvalue> [<oldvalue>])

    +

    git update-ref [-m <reason>] (-d <ref> [<oldvalue>] | [--no-deref] <ref> <newvalue> [<oldvalue>])

    -

    DESCRIPTION

    +

    DESCRIPTION

    -

    Given two arguments, stores the <newvalue> in the <ref>, possibly +

    Given two arguments, stores the <newvalue> in the <ref>, possibly dereferencing the symbolic refs. E.g. git update-ref HEAD -<newvalue> updates the current branch head to the new object.

    -

    Given three arguments, stores the <newvalue> in the <ref>, +<newvalue> updates the current branch head to the new object.

    +

    Given three arguments, stores the <newvalue> in the <ref>, possibly dereferencing the symbolic refs, after verifying that the current value of the <ref> matches <oldvalue>. E.g. git update-ref refs/heads/master <newvalue> <oldvalue> updates the master branch head to <newvalue> only if its current value is <oldvalue>. You can specify 40 "0" or an empty string as <oldvalue> to make sure that the ref you are creating does -not exist.

    -

    It also allows a "ref" file to be a symbolic pointer to another +not exist.

    +

    It also allows a "ref" file to be a symbolic pointer to another ref file by starting with the four-byte header sequence of -"ref:".

    -

    More importantly, it allows the update of a ref file to follow +"ref:".

    +

    More importantly, it allows the update of a ref file to follow these symbolic pointers, whether they are symlinks or these "regular file symbolic refs". It follows real symlinks only if they start with "refs/": otherwise it will just try to read them and update them as a regular file (i.e. it will allow the filesystem to follow them, but will overwrite such a symlink to -somewhere else with a regular filename).

    -

    If --no-deref is given, <ref> itself is overwritten, rather than -the result of following the symbolic pointers.

    -

    In general, using

    +somewhere else with a regular filename).

    +

    If --no-deref is given, <ref> itself is overwritten, rather than +the result of following the symbolic pointers.

    +

    In general, using

    git update-ref HEAD "$head"
    -

    should be a _lot_ safer than doing

    +

    should be a _lot_ safer than doing

    echo "$head" > "$GIT_DIR/HEAD"
    -

    both from a symlink following standpoint and an error checking +

    both from a symlink following standpoint and an error checking standpoint. The "refs/" rule for symlinks means that symlinks that point to "outside" the tree are safe: they'll be followed for reading but not for writing (so we'll never write through a ref symlink to some other tree, if you have copied a whole -archive by creating a symlink tree).

    -

    With -d flag, it deletes the named <ref> after verifying it -still contains <oldvalue>.

    +archive by creating a symlink tree).

    +

    With -d flag, it deletes the named <ref> after verifying it +still contains <oldvalue>.

    -

    Logging Updates

    +

    Logging Updates

    -

    If config parameter "core.logAllRefUpdates" is true or the file +

    If config parameter "core.logAllRefUpdates" is true or the file "$GIT_DIR/logs/<ref>" exists then git update-ref will append a line to the log file "$GIT_DIR/logs/<ref>" (dereferencing all symbolic refs before creating the log name) describing the change -in ref value. Log lines are formatted as:

    -
      +in ref value. Log lines are formatted as:

    +
    1. oldsha1 SP newsha1 SP committer LF

      -

      Where "oldsha1" is the 40 character hexadecimal value previously +

      Where "oldsha1" is the 40 character hexadecimal value previously stored in <ref>, "newsha1" is the 40 character hexadecimal value of <newvalue> and "committer" is the committer's name, email address -and date in the standard GIT committer ident format.

      +and date in the standard GIT committer ident format.

    2. -
    -

    Optionally with -m:

    -
      +
    +

    Optionally with -m:

    +
    1. oldsha1 SP newsha1 SP committer TAB message LF

      -

      Where all fields are as described above and "message" is the -value supplied to the -m option.

      +

      Where all fields are as described above and "message" is the +value supplied to the -m option.

    2. -
    -

    An update will fail (without changing <ref>) if the current user is +

    +

    An update will fail (without changing <ref>) if the current user is unable to create a new log file, append to the existing log file -or does not have committer information available.

    +or does not have committer information available.

    -

    Author

    +

    Author

    -

    Written by Linus Torvalds <torvalds@osdl.org>.

    +

    Written by Linus Torvalds <torvalds@osdl.org>.

    -

    GIT

    +

    GIT

    -

    Part of the git(1) suite

    +

    Part of the git(1) suite

    diff --git a/git-update-server-info.html b/git-update-server-info.html index bb35ce596..a5ccac361 100644 --- a/git-update-server-info.html +++ b/git-update-server-info.html @@ -383,7 +383,7 @@ info/refs file unless --force flag is given.

    diff --git a/git-upload-archive.html b/git-upload-archive.html index a1f0736e9..fd7bbd0c4 100644 --- a/git-upload-archive.html +++ b/git-upload-archive.html @@ -357,7 +357,7 @@ is meant to be used to get an archive from a remote repository.

    diff --git a/git-upload-pack.html b/git-upload-pack.html index b869781c9..7f457775f 100644 --- a/git-upload-pack.html +++ b/git-upload-pack.html @@ -374,7 +374,7 @@ repository. For push operations, see git-send-pack.

    diff --git a/git-var.html b/git-var.html index b6a091d4f..b999587ba 100644 --- a/git-var.html +++ b/git-var.html @@ -420,7 +420,7 @@ Your sysadmin must hate you! diff --git a/git-verify-pack.html b/git-verify-pack.html index 9ff98d0d4..40de55f57 100644 --- a/git-verify-pack.html +++ b/git-verify-pack.html @@ -386,7 +386,7 @@ corresponding pack file.

    diff --git a/git-verify-tag.html b/git-verify-tag.html index 82a3be4df..83119c8f9 100644 --- a/git-verify-tag.html +++ b/git-verify-tag.html @@ -353,7 +353,7 @@ git-verify-tag(1) Manual Page diff --git a/git-web--browse.html b/git-web--browse.html index 4d4907eb0..05ce73ef8 100644 --- a/git-web--browse.html +++ b/git-web--browse.html @@ -476,7 +476,7 @@ git-list <git@vger.kernel.org>.

    diff --git a/git-whatchanged.html b/git-whatchanged.html index 72346acb5..c0556dd51 100644 --- a/git-whatchanged.html +++ b/git-whatchanged.html @@ -794,7 +794,7 @@ Junio C Hamano <gitster@pobox.com>

    diff --git a/git-write-tree.html b/git-write-tree.html index 76c3a6305..3b97d6ead 100644 --- a/git-write-tree.html +++ b/git-write-tree.html @@ -371,7 +371,7 @@ now, you need to have done a git-update-index phase before you did the diff --git a/git.html b/git.html index 504182f18..c6d04a025 100644 --- a/git.html +++ b/git.html @@ -2025,7 +2025,7 @@ contributors on the git-list <git@vger.kernel.org>.

    diff --git a/gitattributes.html b/gitattributes.html index 450859849..885d0ff5b 100644 --- a/gitattributes.html +++ b/gitattributes.html @@ -943,7 +943,7 @@ frotz unspecified diff --git a/gitcli.html b/gitcli.html index 1ec6b6faa..9ad3099ac 100644 --- a/gitcli.html +++ b/gitcli.html @@ -3,7 +3,7 @@ - + gitcli(7) @@ -272,15 +320,15 @@ gitcli(7) Manual Page

    SYNOPSIS

    -

    gitcli

    +

    gitcli

    -

    DESCRIPTION

    +

    DESCRIPTION

    -

    This manual describes the convention used throughout git CLI.

    -

    Many commands take revisions (most often "commits", but sometimes +

    This manual describes the convention used throughout git CLI.

    +

    Many commands take revisions (most often "commits", but sometimes "tree-ish", depending on the context and command) and paths as their -arguments. Here are the rules:

    -
      +arguments. Here are the rules:

    +
    • Revisions come first and then paths. @@ -309,13 +357,13 @@ Without disambiguating --, git makes a reasonable guess, but errors disambiguate.

    • -
    -

    When writing a script that is expected to handle random user-input, it is +

    +

    When writing a script that is expected to handle random user-input, it is a good practice to make it explicit which arguments are which by placing -disambiguating -- at appropriate places.

    -

    Here are the rules regarding the "flags" that you should follow when you are -scripting git:

    -
      +disambiguating -- at appropriate places.

    +

    Here are the rules regarding the "flags" that you should follow when you are +scripting git:

    +
    • it's preferred to use the non dashed form of git commands, which means that @@ -345,17 +393,17 @@ when you give a revision parameter to a command, make sure the parameter is if you happen to have a file called HEAD in the work tree.

    • -
    +
    -

    ENHANCED OPTION PARSER

    +

    ENHANCED OPTION PARSER

    -

    From the git 1.5.4 series and further, many git commands (not all of them at the -time of the writing though) come with an enhanced option parser.

    -

    Here is an exhaustive list of the facilities provided by this option parser.

    -

    Magic Options

    -

    Commands which have the enhanced option parser activated all understand a -couple of magic command line options:

    -
    +

    From the git 1.5.4 series and further, many git commands (not all of them at the +time of the writing though) come with an enhanced option parser.

    +

    Here is an exhaustive list of the facilities provided by this option parser.

    +

    Magic Options

    +

    Commands which have the enhanced option parser activated all understand a +couple of magic command line options:

    +
    -h
    @@ -386,19 +434,19 @@ usage: git-describe [options] <committish>* option gives the full list of options.

    -
    -

    Negating options

    -

    Options with long option names can be negated by prefixing "--no-". For +

    +

    Negating options

    +

    Options with long option names can be negated by prefixing "--no-". For example, "git branch" has the option "--track" which is on by default. You can use "--no-track" to override that behaviour. The same goes for "--color" -and "--no-color".

    -

    Aggregating short options

    -

    Commands that support the enhanced option parser allow you to aggregate short +and "--no-color".

    +

    Aggregating short options

    +

    Commands that support the enhanced option parser allow you to aggregate short options. This means that you can for example use "git rm -rf" or -"git clean -fdx".

    -

    Separating argument from the option

    -

    You can write the mandatory option parameter to an option as a separate -word on the command line. That means that all the following uses work:

    +"git clean -fdx".

    +

    Separating argument from the option

    +

    You can write the mandatory option parameter to an option as a separate +word on the command line. That means that all the following uses work:

    $ git foo --long-opt=Arg
    @@ -406,8 +454,8 @@ $ git foo --long-opt Arg
     $ git foo -oArg
     $ git foo -o Arg
    -

    However, this is NOT allowed for switches with an optional value, where the -sticked form must be used:

    +

    However, this is NOT allowed for switches with an optional value, where the +sticked form must be used:

    $ git describe --abbrev HEAD     # correct
    @@ -415,15 +463,15 @@ $ git describe --abbrev=10 HEAD  # correct
     $ git describe --abbrev 10 HEAD  # NOT WHAT YOU MEANT
    -

    NOTES ON FREQUENTLY CONFUSED OPTIONS

    +

    NOTES ON FREQUENTLY CONFUSED OPTIONS

    -

    Many commands that can work on files in the working tree +

    Many commands that can work on files in the working tree and/or in the index can take --cached and/or --index options. Sometimes people incorrectly think that, because the index was originally called cache, these two are synonyms. They are not — these two options mean very -different things.

    -
      +different things.

    +
    • The --cached option is used to ask a command that @@ -445,28 +493,28 @@ The --index option is used to ask a command that the index as well.

    • -
    -

    git apply command can be used with --cached and +

    +

    git apply command can be used with --cached and --index (but not at the same time). Usually the command only affects the files in the working tree, but with --index, it patches both the files and their index entries, and with --cached, it modifies only the index -entries.

    -

    See also http://marc.info/?l=git&m=116563135620359 and +entries.

    +

    See also http://marc.info/?l=git&m=116563135620359 and http://marc.info/?l=git&m=119150393620273 for further -information.

    +information.

    -

    Documentation

    +

    Documentation

    -

    Documentation by Pierre Habouzit and the git-list <git@vger.kernel.org>.

    +

    Documentation by Pierre Habouzit and the git-list <git@vger.kernel.org>.

    -

    GIT

    +

    GIT

    -

    Part of the git(1) suite

    +

    Part of the git(1) suite

    diff --git a/gitcore-tutorial.html b/gitcore-tutorial.html index 886b7d396..359938fd4 100644 --- a/gitcore-tutorial.html +++ b/gitcore-tutorial.html @@ -1093,13 +1093,13 @@ you have, you can say

    which used to be nothing more than a simple script around ls .git/refs/heads. There will be an asterisk in front of the branch you are currently on.

    -

    Sometimes you may wish to create a new branch without actually +

    Sometimes you may wish to create a new branch _without_ actually checking it out and switching to it. If so, just use the command

    $ git branch <branchname> [startingpoint]
    -

    which will simply create the branch, but will not do anything further. +

    which will simply _create_ the branch, but will not do anything further. You can then later — once you decide that you want to actually develop on that branch — switch to that branch with a regular git-checkout with the branchname as the argument.

    @@ -1198,7 +1198,7 @@ history looks like. Notice that mybranch still exists, and you can switch to it, and continue to work with it if you want to. The mybranch branch will not contain the merge, but next time you merge it from the master branch, git will know how you merged it, so you'll not -have to do that merge again.

    +have to do _that_ merge again.

    Another useful tool, especially if you do not always work in X-Window environment, is git show-branch.

    @@ -2038,7 +2038,7 @@ to follow, not easier.

    diff --git a/gitcvs-migration.html b/gitcvs-migration.html index 758fe9305..b77829c4a 100644 --- a/gitcvs-migration.html +++ b/gitcvs-migration.html @@ -494,7 +494,7 @@ repositories without the need for a central maintainer.

    diff --git a/gitdiffcore.html b/gitdiffcore.html index 798f42a39..54d28f3df 100644 --- a/gitdiffcore.html +++ b/gitdiffcore.html @@ -616,7 +616,7 @@ t diff --git a/gitglossary.html b/gitglossary.html index 3954b10fe..d1973d138 100644 --- a/gitglossary.html +++ b/gitglossary.html @@ -924,8 +924,8 @@ This commit is referred to as a "merge commit", or sometimes just a

    A reflog shows the local "history" of a ref. In other words, - it can tell you what the 3rd last revision in this repository - was, and what was the current state in this repository, + it can tell you what the 3rd last revision in _this_ repository + was, and what was the current state in _this_ repository, yesterday 9:14pm. See git-reflog(1) for details.

    @@ -1152,7 +1152,7 @@ This commit is referred to as a "merge commit", or sometimes just a diff --git a/githooks.html b/githooks.html index 6be1cdaf3..416c106f3 100644 --- a/githooks.html +++ b/githooks.html @@ -574,7 +574,7 @@ to abort.

    diff --git a/gitignore.html b/gitignore.html index 9f0bd936d..7c36f92b9 100644 --- a/gitignore.html +++ b/gitignore.html @@ -486,7 +486,7 @@ Frank Lichtenheld, and the git-list <git@vger.kernel.org>.

    diff --git a/gitk.html b/gitk.html index 75ad617f3..bbb45ed21 100644 --- a/gitk.html +++ b/gitk.html @@ -504,7 +504,7 @@ such as display options, font, and colors.

    diff --git a/gitmodules.html b/gitmodules.html index 1c1538e7f..eeb585cd5 100644 --- a/gitmodules.html +++ b/gitmodules.html @@ -385,7 +385,7 @@ submodules an url is specified which can be used for cloning the submodules.

    diff --git a/gitrepository-layout.html b/gitrepository-layout.html index 68353d78f..d9956bf79 100644 --- a/gitrepository-layout.html +++ b/gitrepository-layout.html @@ -660,7 +660,7 @@ shallow diff --git a/gittutorial-2.html b/gittutorial-2.html index 522ed1d6b..64e335f3a 100644 --- a/gittutorial-2.html +++ b/gittutorial-2.html @@ -718,7 +718,7 @@ example, creating a new commit.

    diff --git a/gittutorial.html b/gittutorial.html index 6e616900d..10cc50509 100644 --- a/gittutorial.html +++ b/gittutorial.html @@ -903,7 +903,7 @@ digressions that may be interesting at this point are:

    diff --git a/howto-index.html b/howto-index.html index 62106cba5..d5ad89d85 100644 --- a/howto-index.html +++ b/howto-index.html @@ -416,7 +416,7 @@ strategy.

    diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html index 7d1ad8b48..0242eedcb 100644 --- a/howto/revert-branch-rebase.html +++ b/howto/revert-branch-rebase.html @@ -482,7 +482,7 @@ Committed merge 7fb9b7262a1d1e0a47bbfdcbbcf50ce0635d3f8f diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html index 1d99920a4..9f8d366af 100644 --- a/howto/using-merge-subtree.html +++ b/howto/using-merge-subtree.html @@ -3,7 +3,7 @@ - + How to use the subtree merge strategy @@ -263,21 +311,21 @@ div.exampleblock-content {
    -

    There are situations where you want to include contents in your project +

    There are situations where you want to include contents in your project from an independently developed project. You can just pull from the -other project as long as there are no conflicting paths.

    -

    The problematic case is when there are conflicting files. Potential +other project as long as there are no conflicting paths.

    +

    The problematic case is when there are conflicting files. Potential candidates are Makefiles and other standard filenames. You could merge these files but probably you do not want to. A better solution for this problem can be to merge the project as its own subdirectory. This is not -supported by the recursive merge strategy, so just pulling won't work.

    -

    What you want is the subtree merge strategy, which helps you in such a -situation.

    -

    In this example, let's say you have the repository at /path/to/B (but +supported by the recursive merge strategy, so just pulling won't work.

    +

    What you want is the subtree merge strategy, which helps you in such a +situation.

    +

    In this example, let's say you have the repository at /path/to/B (but it can be an URL as well, if you want). You want to merge the master branch of that repository to the dir-B subdirectory in your current -branch.

    -

    Here is the command sequence you need:

    +branch.

    +

    Here is the command sequence you need:

    $ git remote add -f Bproject /path/to/B (1)
    @@ -287,7 +335,7 @@ $ git commit -m "Merge B project as our subdirectory" (4)
     
     $ git pull -s subtree Bproject master (5)
    -
      +
      1. name the other project "Bproject", and fetch. @@ -313,14 +361,14 @@ record the merge result. maintain the result with subsequent merges using "subtree"

      2. -
      -

      The first four commands are used for the initial merge, while the last -one is to merge updates from B project.

      +
    +

    The first four commands are used for the initial merge, while the last +one is to merge updates from B project.

    -

    Comparing subtree merge with submodules

    +

    Comparing subtree merge with submodules

    -
    -

    Additional tips

    +

    Additional tips

    -
    diff --git a/technical/api-allocation-growing.html b/technical/api-allocation-growing.html index 208153f13..10cdd991c 100644 --- a/technical/api-allocation-growing.html +++ b/technical/api-allocation-growing.html @@ -3,7 +3,7 @@ - + allocation growing API @@ -263,9 +311,9 @@ div.exampleblock-content {
    -

    Dynamically growing an array using realloc() is error prone and boring.

    -

    Define your array with:

    -
      +

      Dynamically growing an array using realloc() is error prone and boring.

      +

      Define your array with:

      +
      • a pointer (ary) that points at the array, initialized to NULL; @@ -283,10 +331,10 @@ another integer variable (nr) to keep track of how many elements the array currently has, initialized to 0.

      • -
      -

      Then before adding n`th element to the array, call `ALLOC_GROW(ary, n, +

    +

    Then before adding n`th element to the array, call `ALLOC_GROW(ary, n, alloc). This ensures that the array can hold at least n elements by -calling realloc(3) and adjusting alloc variable.

    +calling realloc(3) and adjusting alloc variable.

    sometype *ary;
    @@ -301,12 +349,12 @@ for (i = 0; i < nr; i++)
     ALLOC_GROW(ary, nr + 1, alloc);
     ary[nr++] = value you like;
    -

    You are responsible for updating the nr variable.

    +

    You are responsible for updating the nr variable.

    diff --git a/technical/api-builtin.html b/technical/api-builtin.html index ca82b85d2..21fc35ff7 100644 --- a/technical/api-builtin.html +++ b/technical/api-builtin.html @@ -3,7 +3,7 @@ - + builtin API @@ -261,11 +309,11 @@ div.exampleblock-content { -

    Adding a new built-in

    +

    Adding a new built-in

    -

    There are 4 things to do to add a built-in command implementation to -git:

    -
      +

      There are 4 things to do to add a built-in command implementation to +git:

      +
      1. Define the implementation of the built-in command foo with @@ -290,8 +338,8 @@ Add the command to commands[] table in handle_internal_command()

        { "foo", cmd_foo, <options> },
    -

    where options is the bitwise-or of:

    -
    +

    where options is the bitwise-or of:

    +
    RUN_SETUP
    @@ -322,16 +370,16 @@ Add the command to commands[] table in handle_internal_command()RUN_SETUP is also set.

    -
    +
  • Add builtin-foo.o to BUILTIN_OBJS in Makefile.

  • - -

    Additionally, if foo is a new command, there are 3 more things to do:

    -
      +
    +

    Additionally, if foo is a new command, there are 3 more things to do:

    +
    1. Add tests to t/ directory. @@ -347,25 +395,25 @@ Write documentation in Documentation/git-foo.txt. Add an entry for git-foo to command-list.txt.

    2. -
    +
    -

    How a built-in is called

    +

    How a built-in is called

    -

    The implementation cmd_foo() takes three parameters, argc, argv, +

    The implementation cmd_foo() takes three parameters, argc, argv, and `prefix. The first two are similar to what main() of a -standalone command would be called with.

    -

    When RUN_SETUP is specified in the commands[] table, and when you +standalone command would be called with.

    +

    When RUN_SETUP is specified in the commands[] table, and when you were started from a subdirectory of the work tree, cmd_foo() is called after chdir(2) to the top of the work tree, and prefix gets the path to the subdirectory the command started from. This allows you to convert a user-supplied pathname (typically relative to that directory) -to a pathname relative to the top of the work tree.

    -

    The return value from cmd_foo() becomes the exit status of the -command.

    +to a pathname relative to the top of the work tree.

    +

    The return value from cmd_foo() becomes the exit status of the +command.

    diff --git a/technical/api-decorate.html b/technical/api-decorate.html index 302a96969..d4b856eff 100644 --- a/technical/api-decorate.html +++ b/technical/api-decorate.html @@ -3,7 +3,7 @@ - + decorate API @@ -263,13 +311,13 @@ div.exampleblock-content {
    -

    Talk about <decorate.h>

    -

    (Linus)

    +

    Talk about <decorate.h>

    +

    (Linus)

    diff --git a/technical/api-diff.html b/technical/api-diff.html index 72edeeed8..6da799b0c 100644 --- a/technical/api-diff.html +++ b/technical/api-diff.html @@ -3,7 +3,7 @@ - + diff API @@ -263,13 +311,13 @@ div.exampleblock-content {
    -

    The diff API is for programs that compare two sets of files (e.g. two +

    The diff API is for programs that compare two sets of files (e.g. two trees, one tree and the index) and present the found difference in various ways. The calling program is responsible for feeding the API pairs of files, one from the "old" set and the corresponding one from "new" set, that are different. The library called through this API is -called diffcore, and is responsible for two things.

    -
      +called diffcore, and is responsible for two things.

    +
    • finding total rewrites (-B), renames (-M) and copies (-C), and @@ -282,12 +330,12 @@ outputting the differences in various formats, as specified by the caller.

    • -
    +
    -

    Calling sequence

    +

    Calling sequence

    -
      +
      • Prepare struct diff_options to record the set of diff options, and @@ -330,47 +378,47 @@ Once you finish feeding the pairs of files, call diffcore_std(). Calling diff_flush() will produce the output.

      • -
      +
    -

    Data structures

    +

    Data structures

    -
      +
      • struct diff_filespec

      • -
      -

      This is the internal representation for a single file (blob). It +

    +

    This is the internal representation for a single file (blob). It records the blob object name (if known — for a work tree file it typically is a NUL SHA-1), filemode and pathname. This is what the diff_addremove(), diff_change() and diff_unmerged() synthesize and -feed diff_queue() function with.

    -
      +feed diff_queue() function with.

    +
    • struct diff_filepair

    • -
    -

    This records a pair of struct diff_filespec; the filespec for a file +

    +

    This records a pair of struct diff_filespec; the filespec for a file in the "old" set (i.e. preimage) is called one, and the filespec for a file in the "new" set (i.e. postimage) is called two. A change that represents file creation has NULL in one, and file deletion has NULL -in two.

    -

    A filepair starts pointing at one and two that are from the same +in two.

    +

    A filepair starts pointing at one and two that are from the same filename, but diffcore_std() can break pairs and match component filespecs with other filespecs from a different filepair to form new -filepair. This is called rename detection.

    -
      +filepair. This is called rename detection.

    +
    • struct diff_queue

    • -
    -

    This is a collection of filepairs. Notable members are:

    -
    +
    +

    This is a collection of filepairs. Notable members are:

    +
    queue
    @@ -395,19 +443,19 @@ filepair. This is called rename detection.

    The number of elements in the queue array.

    -
      +
      • struct diff_options

      • -
      +
    - -

    This describes the set of options the calling program wants to affect -the operation of diffcore library with.

    -

    Notable members are:

    -
    +
    +

    This describes the set of options the calling program wants to affect +the operation of diffcore library with.

    +

    Notable members are:

    +
    output_format
    @@ -461,7 +509,7 @@ the operation of diffcore library with.

    operation, but some do not have anything to do with the diffcore library.

    -
    +
    BINARY, TEXT
    @@ -575,14 +623,14 @@ RECURSIVE, TREE_IN_RECURSIVE and postimage set.

    -
    +
    - -

    (JC)

    + +

    (JC)

    diff --git a/technical/api-directory-listing.html b/technical/api-directory-listing.html index 439d78edd..4a283e371 100644 --- a/technical/api-directory-listing.html +++ b/technical/api-directory-listing.html @@ -3,7 +3,7 @@ - + directory listing API @@ -263,17 +311,17 @@ div.exampleblock-content {
    -

    The directory listing API is used to enumerate paths in the work tree, +

    The directory listing API is used to enumerate paths in the work tree, optionally taking .git/info/exclude and .gitignore files per -directory into account.

    +directory into account.

    -

    Data structure

    +

    Data structure

    -

    struct dir_struct structure is used to pass directory traversal +

    struct dir_struct structure is used to pass directory traversal options to the library and to record the paths discovered. The notable -options are:

    -
    +options are:

    +
    exclude_per_dir
    @@ -353,11 +401,11 @@ The result of the enumeration is left in these fields Internal use; keeps track of allocation of entries[] array.

    -
    +
    -

    Calling sequence

    +

    Calling sequence

    -
      +
      • Prepare struct dir_struct dir and clear it with memset(&dir, 0, @@ -388,12 +436,12 @@ Call read_directory(). Use dir.entries[].

      • -
      -

      (JC)

      +
    +

    (JC)

    diff --git a/technical/api-gitattributes.html b/technical/api-gitattributes.html index 23a1c433a..1c7552239 100644 --- a/technical/api-gitattributes.html +++ b/technical/api-gitattributes.html @@ -3,7 +3,7 @@ - + gitattributes API @@ -263,13 +311,13 @@ div.exampleblock-content {
    -

    gitattributes mechanism gives a uniform way to associate various -attributes to set of paths.

    +

    gitattributes mechanism gives a uniform way to associate various +attributes to set of paths.

    -

    Data Structure

    +

    Data Structure

    -
    +
    struct git_attr
    @@ -290,11 +338,11 @@ attributes to set of paths.

    to git_checkattr() function, and receives the results.

    -
    +
    -

    Calling Sequence

    +

    Calling Sequence

    -
      +
      • Prepare an array of struct git_attr_check to define the list of @@ -313,14 +361,14 @@ Inspect git_attr_check structure to see how each of the attribute in the array is defined for the path.

      • -
      +
    -

    Attribute Values

    +

    Attribute Values

    -

    An attribute for a path can be in one of four states: Set, Unset, +

    An attribute for a path can be in one of four states: Set, Unset, Unspecified or set to a string, and .value member of struct -git_attr_check records it. There are three macros to check these:

    -
    +git_attr_check records it. There are three macros to check these:

    +
    ATTR_TRUE()
    @@ -345,14 +393,14 @@ git_attr_check
    records it. There are three macros to check these:

    Returns true if the attribute is Unspecified for the path.

    -
    -

    If none of the above returns true, .value member points at a string -value of the attribute for the path.

    +
    +

    If none of the above returns true, .value member points at a string +value of the attribute for the path.

    -

    Example

    +

    Example

    -

    To see how attributes "crlf" and "indent" are set for different paths.

    -
      +

      To see how attributes "crlf" and "indent" are set for different paths.

      +
      1. Prepare an array of struct git_attr_check with two elements (because @@ -360,7 +408,7 @@ Prepare an array of struct git_attr_check with two elements (because pointers to struct git_attr obtained by calling git_attr():

      2. -
      +
    static struct git_attr_check check[2];
    @@ -372,13 +420,13 @@ static void setup_check(void)
             check[1].attr = git_attr("ident", 5);
     }
    -
      +
      1. Call git_checkattr() with the prepared array of struct git_attr_check:

      2. -
      +
            const char *path;
    @@ -386,13 +434,13 @@ Call git_checkattr() with the prepared array of struct git_attr_che
             setup_check();
             git_checkattr(path, ARRAY_SIZE(check), check);
    -
      +
      1. Act on .value member of the result, left in check[]:

      2. -
      +
            const char *value = check[0].value;
    @@ -413,11 +461,11 @@ Act on .value member of the result, left in check[]:
                     ...
             }
    -

    (JC)

    +

    (JC)

    diff --git a/technical/api-grep.html b/technical/api-grep.html index a92769d09..6383d00d4 100644 --- a/technical/api-grep.html +++ b/technical/api-grep.html @@ -3,7 +3,7 @@ - + grep API @@ -263,20 +311,20 @@ div.exampleblock-content {
    -

    Talk about <grep.h>, things like:

    -
      +

      Talk about <grep.h>, things like:

      +
      • grep_buffer()

      • -
      -

      (JC)

      +
    +

    (JC)

    diff --git a/technical/api-hash.html b/technical/api-hash.html index f7eee356b..051c185be 100644 --- a/technical/api-hash.html +++ b/technical/api-hash.html @@ -3,7 +3,7 @@ - + hash API @@ -263,13 +311,13 @@ div.exampleblock-content {
    -

    Talk about <hash.h>

    -

    (Linus)

    +

    Talk about <hash.h>

    +

    (Linus)

    diff --git a/technical/api-history-graph.html b/technical/api-history-graph.html index e13c691d8..0cef74531 100644 --- a/technical/api-history-graph.html +++ b/technical/api-history-graph.html @@ -3,7 +3,7 @@ - + history graph API @@ -263,14 +311,14 @@ div.exampleblock-content {
    -

    The graph API is used to draw a text-based representation of the commit -history. The API generates the graph in a line-by-line fashion.

    +

    The graph API is used to draw a text-based representation of the commit +history. The API generates the graph in a line-by-line fashion.

    -

    Functions

    +

    Functions

    -

    Core functions:

    -
      +

      Core functions:

      +
      • graph_init() creates a new struct git_graph @@ -311,12 +359,12 @@ history. The API generates the graph in a line-by-line fashion.

        the graph was omitted.

      • -
      -

      The following utility functions are wrappers around graph_next_line() and +

    +

    The following utility functions are wrappers around graph_next_line() and graph_is_commit_finished(). They always print the output to stdout. They can all be called with a NULL graph argument, in which case no graph -output will be printed.

    -
      +output will be printed.

    +
    • graph_show_commit() calls graph_next_line() until it returns non-zero. @@ -365,16 +413,16 @@ output will be printed.

      end in a newline if and only if the strbuf ends in a newline.

    • -
    +
    -

    Data structure

    +

    Data structure

    -

    struct git_graph is an opaque data type used to store the current graph -state.

    +

    struct git_graph is an opaque data type used to store the current graph +state.

    -

    Calling sequence

    +

    Calling sequence

    -
      +
      • Create a struct git_graph by calling graph_init(). When using the @@ -401,11 +449,11 @@ For each commit, call graph_next_line() repeatedly, until alongside the graph output.

      • -
      +
    -

    Limitations

    +

    Limitations

    -
      +
      • graph_update() must be called with commits in topological order. It should @@ -420,8 +468,8 @@ For each commit, call graph_next_line() repeatedly, until on all parents of that commit. Parents must not be skipped, or the graph output will appear incorrect.

        -

        graph_update() may be used on a pruned set of commits only if the parent list -has been rewritten so as to include only ancestors from the pruned set.

        +

        graph_update() may be used on a pruned set of commits only if the parent list +has been rewritten so as to include only ancestors from the pruned set.

      • @@ -430,9 +478,9 @@ The graph API does not currently support reverse commit ordering. In (efficient) mechanism to find the children of a commit.

      • -
      +
    -

    Sample usage

    +

    Sample usage

    @@ -460,11 +508,11 @@ while ((commit = get_revision(opts)) != NULL) { graph_release(graph);
    -

    Sample output

    +

    Sample output

    -

    The following is an example of the output from the graph API. This output does +

    The following is an example of the output from the graph API. This output does not include any commit summary information—callers are responsible for -outputting that information, if desired.

    +outputting that information, if desired.

    *
    @@ -501,7 +549,7 @@ M-. \ \
     
    diff --git a/technical/api-in-core-index.html b/technical/api-in-core-index.html index d9558cca1..309dc9c90 100644 --- a/technical/api-in-core-index.html +++ b/technical/api-in-core-index.html @@ -3,7 +3,7 @@ - + in-core index API @@ -263,8 +311,8 @@ div.exampleblock-content {
    -

    Talk about <read-cache.c> and <cache-tree.c>, things like:

    -
      +

      Talk about <read-cache.c> and <cache-tree.c>, things like:

      +
      • cache -> the_index macros @@ -331,13 +379,13 @@ cache_tree_invalidate_path() cache_tree_update()

      • -
      -

      (JC, Linus)

      +
    +

    (JC, Linus)

    diff --git a/technical/api-lockfile.html b/technical/api-lockfile.html index ab222b76a..1c6982a56 100644 --- a/technical/api-lockfile.html +++ b/technical/api-lockfile.html @@ -3,7 +3,7 @@ - + lockfile API @@ -263,8 +311,8 @@ div.exampleblock-content {
    -

    The lockfile API serves two purposes:

    -
      +

      The lockfile API serves two purposes:

      +
      • Mutual exclusion. When we write out a new index file, first @@ -286,12 +334,12 @@ Automatic cruft removal. After we create the "lock" file, we when the program dies on a signal.

      • -
      +
    -

    The functions

    +

    The functions

    -
    +
    hold_lock_file_for_update
    @@ -339,15 +387,15 @@ close_lock_file a negative value on failure to close(2).

    -
    -

    Because the structure is used in an atexit(3) handler, its +

    +

    Because the structure is used in an atexit(3) handler, its storage has to stay throughout the life of the program. It -cannot be an auto variable allocated on the stack.

    -

    Call commit_lock_file() or rollback_lock_file() when you are +cannot be an auto variable allocated on the stack.

    +

    Call commit_lock_file() or rollback_lock_file() when you are done writing to the file descriptor. If you do not call either and simply exit(3) from the program, an atexit(3) handler -will close and remove the lockfile.

    -

    If you need to close the file descriptor you obtained from +will close and remove the lockfile.

    +

    If you need to close the file descriptor you obtained from hold_lock_file_for_update function yourself, do so by calling close_lock_file(). You should never call close(2) yourself! Otherwise the struct @@ -357,11 +405,11 @@ needs to be closed, and a later call to commit_lock_file() or close(2). Worse yet, if you close(2), open another file descriptor for completely different purpose, and then call commit_lock_file() or rollback_lock_file(), they may close -that unrelated file descriptor.

    +that unrelated file descriptor.

    diff --git a/technical/api-object-access.html b/technical/api-object-access.html index e26960768..c341222e8 100644 --- a/technical/api-object-access.html +++ b/technical/api-object-access.html @@ -3,7 +3,7 @@ - + object access API @@ -263,8 +311,8 @@ div.exampleblock-content {
    -

    Talk about <sha1_file.c> and <object.h> family, things like

    -
      +

      Talk about <sha1_file.c> and <object.h> family, things like

      +
      • read_sha1_file() @@ -305,13 +353,13 @@ parse_{object,commit,tag,blob,tree} Use of object flags

      • -
      -

      (JC, Shawn, Daniel, Dscho, Linus)

      +
    +

    (JC, Shawn, Daniel, Dscho, Linus)

    diff --git a/technical/api-parse-options.html b/technical/api-parse-options.html index da2d3402e..d71a5513d 100644 --- a/technical/api-parse-options.html +++ b/technical/api-parse-options.html @@ -3,7 +3,7 @@ - + parse-options API @@ -263,17 +311,17 @@ div.exampleblock-content {
    -

    The parse-options API is used to parse and massage options in git -and to provide a usage help with consistent look.

    +

    The parse-options API is used to parse and massage options in git +and to provide a usage help with consistent look.

    -

    Basics

    +

    Basics

    -

    The argument vector argv[] may usually contain mandatory or optional +

    The argument vector argv[] may usually contain mandatory or optional non-option arguments, e.g. a filename or a branch, and options. Options are optional arguments that start with a dash and -that allow to change the behavior of a command.

    -
      +that allow to change the behavior of a command.

    +
    • There are basically three types of options: @@ -298,9 +346,9 @@ Options are case-sensitive. Please define lower-case long options only.

    • -
    -

    The parse-options API allows:

    -
      +
    +

    The parse-options API allows:

    +
    • sticked and separate form of options with arguments. @@ -332,11 +380,11 @@ Options and non-option arguments can clearly be separated using the -- --this-is-a-file must not be processed as an option.

    • -
    +
    -

    Steps to parse options

    +

    Steps to parse options

    -
      +
      1. #include "parse-options.h" @@ -364,11 +412,11 @@ in cmd_foo(int argc, const char **argv, const char *prefix)

        argc = parse_options(argc, argv, builtin_foo_options, builtin_foo_usage, flags);
      -

      parse_options() will filter out the processed options of argv[] and leave the +

      parse_options() will filter out the processed options of argv[] and leave the non-option arguments in argv[]. -argc is updated appropriately because of the assignment.

      -

      Flags are the bitwise-or of:

      -
      +argc is updated appropriately because of the assignment.

      +

      Flags are the bitwise-or of:

      +
      PARSE_OPT_KEEP_DASHDASH
      @@ -388,16 +436,16 @@ non-option arguments in argv[]. argument.

      -
      +
      -
    +
    -

    Data Structure

    +

    Data Structure

    -

    The main data structure is an array of the option struct, +

    The main data structure is an array of the option struct, say static struct option builtin_add_options[]. -There are some macros to easily define options:

    -
    +There are some macros to easily define options:

    +
    OPT__ABBREV(&int_var)
    @@ -522,10 +570,10 @@ There are some macros to easily define options:

    Introduce a long-option argument that will be kept in argv[].

    -
    -

    The last element of the array must be OPT_END().

    -

    If not stated otherwise, interpret the arguments as follows:

    -
      +
    +

    The last element of the array must be OPT_END().

    +

    If not stated otherwise, interpret the arguments as follows:

    +
    • short is a character for the short option @@ -562,17 +610,17 @@ There are some macros to easily define options:

      omitted at the end.

    • -
    +
    -

    Option Callbacks

    +

    Option Callbacks

    -

    The function must be defined in this form:

    +

    The function must be defined in this form:

    int func(const struct option *opt, const char *arg, int unset)
    -

    The callback mechanism is as follows:

    -
      +

      The callback mechanism is as follows:

      +
      • Inside funct, the only interesting member of the structure @@ -594,31 +642,31 @@ Return value 0 indicates success and non-zero return If the user negates the option, arg is NULL and unset is 1.

      • -
      +
    -

    Sophisticated option parsing

    +

    Sophisticated option parsing

    -

    If you need, for example, option callbacks with optional arguments +

    If you need, for example, option callbacks with optional arguments or without arguments at all, or if you need other special cases, that are not handled by the macros above, you need to specify the -members of the option structure manually.

    -

    This is not covered in this document, but well documented -in parse-options.h itself.

    +members of the option structure manually.

    +

    This is not covered in this document, but well documented +in parse-options.h itself.

    -

    Examples

    +

    Examples

    -

    See test-parse-options.c and +

    See test-parse-options.c and builtin-add.c, builtin-clone.c, builtin-commit.c, builtin-fetch.c, builtin-fsck.c, builtin-rm.c -for real-world examples.

    +for real-world examples.

    diff --git a/technical/api-quote.html b/technical/api-quote.html index b9d6fabd9..e58430a4c 100644 --- a/technical/api-quote.html +++ b/technical/api-quote.html @@ -3,7 +3,7 @@ - + quote API @@ -263,8 +311,8 @@ div.exampleblock-content {
    -

    Talk about <quote.h>, things like

    -
      +

      Talk about <quote.h>, things like

      +
      • sq_quote and unquote @@ -280,13 +328,13 @@ c_style quote and unquote quoting for foreign languages

      • -
      -

      (JC)

      +
    +

    (JC)

    diff --git a/technical/api-remote.html b/technical/api-remote.html index a33256a41..1037f45c3 100644 --- a/technical/api-remote.html +++ b/technical/api-remote.html @@ -3,7 +3,7 @@ - + Remotes configuration API @@ -263,16 +311,16 @@ div.exampleblock-content {
    -

    The API in remote.h gives access to the configuration related to +

    The API in remote.h gives access to the configuration related to remotes. It handles all three configuration mechanisms historically and currently used by git, and presents the information in a uniform fashion. Note that the code also handles plain URLs without any -configuration, giving them just the default information.

    +configuration, giving them just the default information.

    -

    struct remote

    +

    struct remote

    -
    +
    name
    @@ -338,34 +386,34 @@ configuration, giving them just the default information.

    The proxy to use for curl (http, https, ftp, etc.) URLs.

    -
    -

    struct remotes can be found by name with remote_get(), and iterated +

    +

    struct remotes can be found by name with remote_get(), and iterated through with for_each_remote(). remote_get(NULL) will return the -default remote, given the current branch and configuration.

    +default remote, given the current branch and configuration.

    -

    struct refspec

    +

    struct refspec

    -

    A struct refspec holds the parsed interpretation of a refspec. If it +

    A struct refspec holds the parsed interpretation of a refspec. If it will force updates (starts with a +), force is true. If it is a pattern (sides end with *) pattern is true. src and dest are the two sides (if a pattern, only the part outside of the wildcards); if there is only one side, it is src, and dst is NULL; if sides exist but are empty (i.e., the refspec either starts or ends with :), the -corresponding side is "".

    -

    This parsing can be done to an array of strings to give an array of -struct refpsecs with parse_ref_spec().

    -

    remote_find_tracking(), given a remote and a struct refspec with +corresponding side is "".

    +

    This parsing can be done to an array of strings to give an array of +struct refpsecs with parse_ref_spec().

    +

    remote_find_tracking(), given a remote and a struct refspec with either src or dst filled out, will fill out the other such that the result is in the "fetch" specification for the remote (note that this -evaluates patterns and returns a single result).

    +evaluates patterns and returns a single result).

    -

    struct branch

    +

    struct branch

    -

    Note that this may end up moving to branch.h

    -

    struct branch holds the configuration for a branch. It can be looked -branch_get(NULL) for HEAD.

    -

    It contains:

    -
    +

    Note that this may end up moving to branch.h

    +

    struct branch holds the configuration for a branch. It can be looked +branch_get(NULL) for HEAD.

    +

    It contains:

    +
    name
    @@ -424,19 +472,19 @@ branch_get(NULL) for HEAD.

    The number of merge configurations

    -
    -

    branch_has_merge_config() returns true if the given branch has merge -configuration given.

    +
    +

    branch_has_merge_config() returns true if the given branch has merge +configuration given.

    -

    Other stuff

    +

    Other stuff

    -

    There is other stuff in remote.h that is related, in general, to the -process of interacting with remotes.

    -

    (Daniel Barkalow)

    +

    There is other stuff in remote.h that is related, in general, to the +process of interacting with remotes.

    +

    (Daniel Barkalow)

    diff --git a/technical/api-revision-walking.html b/technical/api-revision-walking.html index a45091354..7f252a76c 100644 --- a/technical/api-revision-walking.html +++ b/technical/api-revision-walking.html @@ -3,7 +3,7 @@ - + revision walking API @@ -263,20 +311,20 @@ div.exampleblock-content {
    -

    The revision walking API offers functions to build a list of revisions -and then iterate over that list.

    +

    The revision walking API offers functions to build a list of revisions +and then iterate over that list.

    -

    Calling sequence

    +

    Calling sequence

    -

    The walking API has a given calling sequence: first you need to +

    The walking API has a given calling sequence: first you need to initialize a rev_info structure, then add revisions to control what kind of revision list do you want to get, finally you can iterate over the -revision list.

    +revision list.

    -

    Functions

    +

    Functions

    -
    +
    init_revisions
    @@ -344,12 +392,12 @@ function. revision list is indicated by returning a NULL pointer.

    -
    +
    -

    Data structures

    +

    Data structures

    -

    Talk about <revision.h>, things like:

    -
      +

      Talk about <revision.h>, things like:

      +
      • two diff_options, one for path limiting, another for output; @@ -360,12 +408,12 @@ two diff_options, one for path limiting, another for output; remaining functions;

      • -
      -

      (Linus, JC, Dscho)

      +
    +

    (Linus, JC, Dscho)

    diff --git a/technical/api-run-command.html b/technical/api-run-command.html index acbc32312..2a5c07ee5 100644 --- a/technical/api-run-command.html +++ b/technical/api-run-command.html @@ -612,7 +612,7 @@ It must not change the program's state that the caller of the diff --git a/technical/api-setup.html b/technical/api-setup.html index 78475cb21..0493e8636 100644 --- a/technical/api-setup.html +++ b/technical/api-setup.html @@ -3,7 +3,7 @@ - + setup API @@ -263,8 +311,8 @@ div.exampleblock-content {
    -

    Talk about

    -
      +

      Talk about

      +
      • setup_git_directory() @@ -295,13 +343,13 @@ setup_work_tree() get_pathspec()

      • -
      -

      (Dscho)

      +
    +

    (Dscho)

    diff --git a/technical/api-strbuf.html b/technical/api-strbuf.html index 1bcc8958b..ff256285e 100644 --- a/technical/api-strbuf.html +++ b/technical/api-strbuf.html @@ -3,7 +3,7 @@ - + strbuf API @@ -263,27 +311,27 @@ div.exampleblock-content {
    -

    strbuf's are meant to be used with all the usual C string and memory +

    strbuf's are meant to be used with all the usual C string and memory APIs. Given that the length of the buffer is known, it's often better to use the mem* functions than a str* one (memchr vs. strchr e.g.). Though, one has to be careful about the fact that str* functions often -stop on NULs and that strbufs may have embedded NULs.

    -

    An strbuf is NUL terminated for convenience, but no function in the -strbuf API actually relies on the string being free of NULs.

    -

    strbufs has some invariants that are very important to keep in mind:

    -
      +stop on NULs and that strbufs may have embedded NULs.

    +

    An strbuf is NUL terminated for convenience, but no function in the +strbuf API actually relies on the string being free of NULs.

    +

    strbufs has some invariants that are very important to keep in mind:

    +
    1. The buf member is never NULL, so you it can be used in any usual C string operations safely. strbuf's _have_ to be initialized either by strbuf_init() or by = STRBUF_INIT before the invariants, though.

      -

      Do not assume anything on what buf really is (e.g. if it is +

      Do not assume anything on what buf really is (e.g. if it is allocated memory or not), use strbuf_detach() to unwrap a memory buffer from its strbuf shell in a safe way. That is the sole supported -way. This will give you a malloced buffer that you can later free().

      -

      However, it it totally safe to modify anything in the string pointed by -the buf member, between the indices 0 and len-1 (inclusive).

      +way. This will give you a malloced buffer that you can later free().

      +

      However, it it totally safe to modify anything in the string pointed by +the buf member, between the indices 0 and len-1 (inclusive).

    2. @@ -306,7 +354,7 @@ The buf member is a byte array that has at least len + 1 bytes

      strbuf_grow(sb, SOME_SIZE); (1)
       strbuf_setlen(sb, sb->len + SOME_OTHER_SIZE);
    -
      +
      1. Here, the memory array starting at sb->buf, and of length @@ -321,8 +369,8 @@ Here, the memory array starting at sb->buf, and of length SOME_OTHER_SIZE must be smaller or equal to strbuf_avail(sb).

      -

      Doing so is safe, though if it has to be done in many places, adding the -missing API to the strbuf module is the way to go.

      +

      Doing so is safe, though if it has to be done in many places, adding the +missing API to the strbuf module is the way to go.

      @@ -335,32 +383,32 @@ instead.
      -
    +
    - + -

    Data structures

    +

    Data structures

    -
      +
      • struct strbuf

      • -
      -

      This is string buffer structure. The len member can be used to +

    +

    This is string buffer structure. The len member can be used to determine the current length of the string, and buf member provides access to -the string itself.

    +the string itself.

    -

    Functions

    +

    Functions

    -
      +
      • Life cycle

        -
        +
        strbuf_init
        @@ -410,13 +458,13 @@ Life cycle Swap the contents of two string buffers.

        -
        +
    • Related to the size of the buffer

      -
      +
      strbuf_avail
      @@ -457,13 +505,13 @@ Related to the size of the buffer Empty the buffer by setting the size of it to zero.

      -
      +
  • Related to the contents of the buffer

    -
    +
    strbuf_rtrim
    @@ -482,14 +530,14 @@ Related to the contents of the buffer to match, or be greater than the second buffer.

    -
    +
  • Adding data to the buffer

  • - +
    @@ -499,7 +547,7 @@ Adding data to the buffer necessary.
    -
    +
    strbuf_addch
    @@ -562,7 +610,7 @@ that expands to:
    strbuf_add(..., s, strlen(s));
    -

    Meaning that this is efficient to write things like:

    +

    Meaning that this is efficient to write things like:

    strbuf_addstr(sb, "immediate string");
    @@ -594,18 +642,18 @@ that expands to: placeholders. To that end, it parses the string and calls the specified function for every percent sign found.

    -

    The callback function is given a pointer to the character after the % +

    The callback function is given a pointer to the character after the % and a pointer to the struct strbuf. It is expected to add the expanded version of the placeholder to the strbuf, e.g. to add a newline character if the letter n appears after a %. The function returns the length of the placeholder recognized and strbuf_expand() skips -over it.

    -

    All other characters (non-percent and not skipped ones) are copied +over it.

    +

    All other characters (non-percent and not skipped ones) are copied verbatim to the strbuf. If the callback returned zero, meaning that the -placeholder is unknown, then the percent sign is copied, too.

    -

    In order to facilitate caching and to make it possible to give +placeholder is unknown, then the percent sign is copied, too.

    +

    In order to facilitate caching and to make it possible to give parameters to the callback, strbuf_expand() passes a context pointer, -which can be used by the programmer of the callback as she sees fit.

    +which can be used by the programmer of the callback as she sees fit.

    strbuf_addf @@ -674,14 +722,12 @@ same behaviour as well. launch_editor
    -

    -

    -
    + diff --git a/technical/api-string-list.html b/technical/api-string-list.html index 05ce239fe..bb59d38ea 100644 --- a/technical/api-string-list.html +++ b/technical/api-string-list.html @@ -534,7 +534,7 @@ Setting the strdup_strings member to 1 will strdup() the strings diff --git a/technical/api-tree-walking.html b/technical/api-tree-walking.html index 3b4d51c3a..7e430291a 100644 --- a/technical/api-tree-walking.html +++ b/technical/api-tree-walking.html @@ -3,7 +3,7 @@ - + tree walking API @@ -263,8 +311,8 @@ div.exampleblock-content {
    -

    Talk about <tree-walk.h>, things like

    -
      +

      Talk about <tree-walk.h>, things like

      +
      • struct tree_desc @@ -290,13 +338,13 @@ update_tree_entry get_tree_entry

      • -
      -

      (JC, Linus)

      +
    +

    (JC, Linus)

    diff --git a/technical/api-xdiff-interface.html b/technical/api-xdiff-interface.html index bcb0c87c5..e60c3237d 100644 --- a/technical/api-xdiff-interface.html +++ b/technical/api-xdiff-interface.html @@ -3,7 +3,7 @@ - + xdiff interface API @@ -263,14 +311,14 @@ div.exampleblock-content {
    -

    Talk about our calling convention to xdiff library, including -xdiff_emit_consume_fn.

    -

    (Dscho, JC)

    +

    Talk about our calling convention to xdiff library, including +xdiff_emit_consume_fn.

    +

    (Dscho, JC)

    diff --git a/user-manual.html b/user-manual.html index 6fb4301ce..fa47d5977 100644 --- a/user-manual.html +++ b/user-manual.html @@ -1,4 +1,4 @@ -Git User's Manual (for version 1.5.3 or newer)

    Git User's Manual (for version 1.5.3 or newer)


    Table of Contents

    Preface
    1. Repositories and Branches
    How to get a git repository
    How to check out a different version of a project
    Understanding History: Commits
    Understanding history: commits, parents, and reachability
    Understanding history: History diagrams
    Understanding history: What is a branch?
    Manipulating branches
    Examining an old version without creating a new branch
    Examining branches from a remote repository
    Naming branches, tags, and other references
    Updating a repository with git-fetch
    Fetching branches from other repositories
    2. Exploring git history
    How to use bisect to find a regression
    Naming commits
    Creating tags
    Browsing revisions
    Generating diffs
    Viewing old file versions
    Examples
    Counting the number of commits on a branch
    Check whether two branches point at the same history
    Find first tagged version including a given fix
    Showing commits unique to a given branch
    Creating a changelog and tarball for a software release
    Finding commits referencing a file with given content
    3. Developing with git
    Telling git your name
    Creating a new repository
    How to make a commit
    Creating good commit messages
    Ignoring files
    How to merge
    Resolving a merge
    Getting conflict-resolution help during a merge
    Undoing a merge
    Fast-forward merges
    Fixing mistakes
    Fixing a mistake with a new commit
    Fixing a mistake by rewriting history
    Checking out an old version of a file
    Temporarily setting aside work in progress
    Ensuring good performance
    Ensuring reliability
    Checking the repository for corruption
    Recovering lost changes
    4. Sharing development with others
    Getting updates with git-pull
    Submitting patches to a project
    Importing patches to a project
    Public git repositories
    Setting up a public repository
    Exporting a git repository via the git protocol
    Exporting a git repository via http
    Pushing changes to a public repository
    What to do when a push fails
    Setting up a shared repository
    Allowing web browsing of a repository
    Examples
    Maintaining topic branches for a Linux subsystem maintainer
    5. Rewriting history and maintaining patch series
    Creating the perfect patch series
    Keeping a patch series up to date using git-rebase
    Rewriting a single commit
    Reordering or selecting from a patch series
    Other tools
    Problems with rewriting history
    Why bisecting merge commits can be harder than bisecting linear history
    6. Advanced branch management
    Fetching individual branches
    git fetch and fast-forwards
    Forcing git-fetch to do non-fast-forward updates
    Configuring remote branches
    7. Git concepts
    The Object Database
    Commit Object
    Tree Object
    Blob Object
    Trust
    Tag Object
    How git stores objects efficiently: pack files
    Dangling objects
    Recovering from repository corruption
    The index
    8. Submodules
    Pitfalls with submodules
    9. Low-level git operations
    Object access and manipulation
    The Workflow
    working directory -> index
    index -> object database
    object database -> index
    index -> working directory
    Tying it all together
    Examining the data
    Merging multiple trees
    Merging multiple trees, continued
    10. Hacking git
    Object storage format
    A birds-eye view of Git's source code
    11. GIT Glossary
    A. Git Quick Reference
    Creating a new repository
    Managing branches
    Exploring history
    Making changes
    Merging
    Sharing your changes
    Repository maintenance
    B. Notes and todo list for this manual

    Preface

    Git is a fast distributed revision control system.

    This manual is designed to be readable by someone with basic UNIX +Git User's Manual (for version 1.5.3 or newer)

    Git User's Manual (for version 1.5.3 or newer)


    Table of Contents

    Preface
    1. Repositories and Branches
    How to get a git repository
    How to check out a different version of a project
    Understanding History: Commits
    Understanding history: commits, parents, and reachability
    Understanding history: History diagrams
    Understanding history: What is a branch?
    Manipulating branches
    Examining an old version without creating a new branch
    Examining branches from a remote repository
    Naming branches, tags, and other references
    Updating a repository with git-fetch
    Fetching branches from other repositories
    2. Exploring git history
    How to use bisect to find a regression
    Naming commits
    Creating tags
    Browsing revisions
    Generating diffs
    Viewing old file versions
    Examples
    Counting the number of commits on a branch
    Check whether two branches point at the same history
    Find first tagged version including a given fix
    Showing commits unique to a given branch
    Creating a changelog and tarball for a software release
    Finding commits referencing a file with given content
    3. Developing with git
    Telling git your name
    Creating a new repository
    How to make a commit
    Creating good commit messages
    Ignoring files
    How to merge
    Resolving a merge
    Getting conflict-resolution help during a merge
    Undoing a merge
    Fast-forward merges
    Fixing mistakes
    Fixing a mistake with a new commit
    Fixing a mistake by rewriting history
    Checking out an old version of a file
    Temporarily setting aside work in progress
    Ensuring good performance
    Ensuring reliability
    Checking the repository for corruption
    Recovering lost changes
    4. Sharing development with others
    Getting updates with git-pull
    Submitting patches to a project
    Importing patches to a project
    Public git repositories
    Setting up a public repository
    Exporting a git repository via the git protocol
    Exporting a git repository via http
    Pushing changes to a public repository
    What to do when a push fails
    Setting up a shared repository
    Allowing web browsing of a repository
    Examples
    Maintaining topic branches for a Linux subsystem maintainer
    5. Rewriting history and maintaining patch series
    Creating the perfect patch series
    Keeping a patch series up to date using git-rebase
    Rewriting a single commit
    Reordering or selecting from a patch series
    Other tools
    Problems with rewriting history
    Why bisecting merge commits can be harder than bisecting linear history
    6. Advanced branch management
    Fetching individual branches
    git fetch and fast-forwards
    Forcing git-fetch to do non-fast-forward updates
    Configuring remote branches
    7. Git concepts
    The Object Database
    Commit Object
    Tree Object
    Blob Object
    Trust
    Tag Object
    How git stores objects efficiently: pack files
    Dangling objects
    Recovering from repository corruption
    The index
    8. Submodules
    Pitfalls with submodules
    9. Low-level git operations
    Object access and manipulation
    The Workflow
    working directory -> index
    index -> object database
    object database -> index
    index -> working directory
    Tying it all together
    Examining the data
    Merging multiple trees
    Merging multiple trees, continued
    10. Hacking git
    Object storage format
    A birds-eye view of Git's source code
    11. GIT Glossary
    A. Git Quick Reference
    Creating a new repository
    Managing branches
    Exploring history
    Making changes
    Merging
    Sharing your changes
    Repository maintenance
    B. Notes and todo list for this manual

    Preface

    Git is a fast distributed revision control system.

    This manual is designed to be readable by someone with basic UNIX command-line skills, but no previous knowledge of git.

    Chapter 1, Repositories and Branches and Chapter 2, Exploring git history explain how to fetch and study a project using git—read these chapters to learn how to build and test a particular version of a software project, search for