From: Junio C Hamano Date: Tue, 7 Nov 2006 07:19:13 +0000 (+0000) Subject: Autogenerated HTML docs for v1.4.3.4-gbd45 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=d8c9d433c3925d52d9a78bab8de03ee3de469440;p=git.git Autogenerated HTML docs for v1.4.3.4-gbd45 --- diff --git a/git-pack-refs.html b/git-pack-refs.html new file mode 100644 index 000000000..3fcf80be3 --- /dev/null +++ b/git-pack-refs.html @@ -0,0 +1,334 @@ + + + + + + +git-pack-refs(1) + + + +

SYNOPSIS

+
+

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

+
+

DESCRIPTION

+
+

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

+
+

OPTIONS

+
+
+
+--all +
+
+

+The command by default packs all tags and leaves branch tips +alone. This is because branches are expected to be actively +developed and packing their tips does not help performance. +This option causes branch tips to be packed as well. Useful for +a repository with many branches of historical interests. +

+
+
+--prune +
+
+

+After packing the refs, remove loose refs under $GIT_DIR/refs +hierarchy. This should probably become default. +

+
+
+
+

Author

+
+

Written by Linus Torvalds <torvalds@osdl.org>

+
+

GIT

+
+

Part of the git(7) suite

+
+ + + diff --git a/git-pack-refs.txt b/git-pack-refs.txt new file mode 100644 index 000000000..5da510577 --- /dev/null +++ b/git-pack-refs.txt @@ -0,0 +1,54 @@ +git-pack-refs(1) +================ + +NAME +---- +git-pack-refs - Pack heads and tags for efficient repository access + +SYNOPSIS +-------- +'git-pack-refs' [--all] [--prune] + +DESCRIPTION +----------- + +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 +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. + +OPTIONS +------- + +\--all:: + +The command by default packs all tags and leaves branch tips +alone. This is because branches are expected to be actively +developed and packing their tips does not help performance. +This option causes branch tips to be packed as well. Useful for +a repository with many branches of historical interests. + +\--prune:: + +After packing the refs, remove loose refs under `$GIT_DIR/refs` +hierarchy. This should probably become default. + +Author +------ +Written by Linus Torvalds + +GIT +--- +Part of the gitlink:git[7] suite diff --git a/git-rebase.html b/git-rebase.html index 6403e43b2..d10a5a0ad 100644 --- a/git-rebase.html +++ b/git-rebase.html @@ -310,20 +310,63 @@ git-rebase master topic / D---E---F---G master -

While, starting from the same point, the result of either of the following -commands:

+

The latter form is just a short-hand of git checkout topic +followed by git rebase master.

+

Here is how you would transplant a topic branch based on one +branch to another, to pretend that you forked the topic branch +from the latter branch, using rebase --onto.

+

First let's assume your topic is based on branch next. +For example feature developed in topic depends on some +functionality which is found in next.

+
+
+
    o---o---o---o---o  master
+         \
+          o---o---o---o---o  next
+                           \
+                            o---o---o  topic
+
+

We would want to make topic forked from branch master, +for example because the functionality topic branch depend on +got merged into more stable master branch, like this:

+
+
+
    o---o---o---o---o  master
+        |            \
+        |             o'--o'--o'  topic
+         \
+          o---o---o---o---o  next
+
+

We can get this using the following command:

-
git-rebase --onto master~1 master
-git-rebase --onto master~1 master topic
+
git-rebase --onto master next topic
-

would be:

+

Another example of --onto option is to rebase part of a +branch. If we have the following situation:

-
              A'--B'--C' topic
-             /
-    D---E---F---G master
+
                            H---I---J topicB
+                           /
+                  E---F---G  topicA
+                 /
+    A---B---C---D  master
+
+

then the command

+
+
+
git-rebase --onto master topicA topicB
+
+

would result in:

+
+
+
                 H'--I'--J'  topicB
+                /
+                | E---F---G  topicA
+                |/
+    A---B---C---D  master
+

This is useful when topicB does not depend on topicA.

In case of conflict, git-rebase will stop at the first problematic commit and leave conflict markers in the tree. You can use git diff to locate the markers (<<<<<<) and make edits to resolve the conflict. For each @@ -516,7 +559,7 @@ a rebase. Upon completion, <branch> will be the current branch.

diff --git a/git-rebase.txt b/git-rebase.txt index 10f2924f4..03e867a40 100644 --- a/git-rebase.txt +++ b/git-rebase.txt @@ -51,20 +51,69 @@ would be: D---E---F---G master ------------ -While, starting from the same point, the result of either of the following -commands: +The latter form is just a short-hand of `git checkout topic` +followed by `git rebase master`. - git-rebase --onto master~1 master - git-rebase --onto master~1 master topic +Here is how you would transplant a topic branch based on one +branch to another, to pretend that you forked the topic branch +from the latter branch, using `rebase --onto`. -would be: +First let's assume your 'topic' is based on branch 'next'. +For example feature developed in 'topic' depends on some +functionality which is found in 'next'. ------------ - A'--B'--C' topic - / - D---E---F---G master + o---o---o---o---o master + \ + o---o---o---o---o next + \ + o---o---o topic +------------ + +We would want to make 'topic' forked from branch 'master', +for example because the functionality 'topic' branch depend on +got merged into more stable 'master' branch, like this: + +------------ + o---o---o---o---o master + | \ + | o'--o'--o' topic + \ + o---o---o---o---o next ------------ +We can get this using the following command: + + git-rebase --onto master next topic + + +Another example of --onto option is to rebase part of a +branch. If we have the following situation: + +------------ + H---I---J topicB + / + E---F---G topicA + / + A---B---C---D master +------------ + +then the command + + git-rebase --onto master topicA topicB + +would result in: + +------------ + H'--I'--J' topicB + / + | E---F---G topicA + |/ + A---B---C---D master +------------ + +This is useful when topicB does not depend on topicA. + In case of conflict, git-rebase will stop at the first problematic commit and leave conflict markers in the tree. You can use git diff to locate the markers (<<<<<<) and make edits to resolve the conflict. For each diff --git a/git.html b/git.html index e65d621b8..e5a6611fa 100644 --- a/git.html +++ b/git.html @@ -530,6 +530,14 @@ ancillary user utilities.

+git-pack-refs(1) +
+
+

+ Pack heads and tags for efficient repository access. +

+
+
git-pull(1)
@@ -1224,6 +1232,14 @@ repositories.

+git-show-ref(1) +
+
+

+ List references in a local repository. +

+
+
git-tar-tree(1)
@@ -2190,7 +2206,7 @@ contributors on the git-list <git@vger.kernel.org>.

diff --git a/git.txt b/git.txt index 0679e3c20..4ce4f8d1c 100644 --- a/git.txt +++ b/git.txt @@ -141,6 +141,9 @@ gitlink:git-merge[1]:: gitlink:git-mv[1]:: Move or rename a file, a directory, or a symlink. +gitlink:git-pack-refs[1]:: + Pack heads and tags for efficient repository access. + gitlink:git-pull[1]:: Fetch from and merge with a remote repository or a local branch. @@ -424,6 +427,9 @@ gitlink:git-rev-list[1]:: gitlink:git-show-index[1]:: Displays contents of a pack idx file. +gitlink:git-show-ref[1]:: + List references in a local repository. + gitlink:git-tar-tree[1]:: Creates a tar archive of the files in the named tree object.