Skip to content

Commit

Permalink
Merge branch 'fix'
Browse files Browse the repository at this point in the history
* fix:
  Fix trivial typo in git-log man page.
  Properly render asciidoc "callouts" in git man pages.
  Fix up remaining man pages that use asciidoc "callouts".
  Update the git-branch man page to include the "-r" option,
  annotate: display usage information if no filename was given
  annotate: fix warning about uninitialized scalar
  git-am --resolved: more usable error message.
  • Loading branch information
Junio C Hamano committed Apr 28, 2006
2 parents bd346f1 + aa6bf0e commit 8971920
Show file tree
Hide file tree
Showing 13 changed files with 178 additions and 135 deletions.
2 changes: 1 addition & 1 deletion Documentation/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ clean:
asciidoc -b xhtml11 -d manpage -f asciidoc.conf $<

%.1 %.7 : %.xml
xmlto man $<
xmlto -m callouts.xsl man $<

%.xml : %.txt
asciidoc -b docbook -d manpage -f asciidoc.conf $<
Expand Down
16 changes: 16 additions & 0 deletions Documentation/callouts.xsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<!-- callout.xsl: converts asciidoc callouts to man page format -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="co">
<xsl:value-of select="concat('\fB(',substring-after(@id,'-'),')\fR')"/>
</xsl:template>
<xsl:template match="calloutlist">
<xsl:text>.sp&#10;</xsl:text>
<xsl:apply-templates/>
<xsl:text>&#10;</xsl:text>
</xsl:template>
<xsl:template match="callout">
<xsl:value-of select="concat('\fB',substring-after(@arearefs,'-'),'. \fR')"/>
<xsl:apply-templates/>
<xsl:text>.br&#10;</xsl:text>
</xsl:template>
</xsl:stylesheet>
45 changes: 22 additions & 23 deletions Documentation/everyday.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,25 +61,25 @@ $ git prune
$ git count-objects <2>
$ git repack <3>
$ git prune <4>

------------
+
<1> running without "--full" is usually cheap and assures the
repository health reasonably well.
<2> check how many loose objects there are and how much
diskspace is wasted by not repacking.
<3> without "-a" repacks incrementally. repacking every 4-5MB
of loose objects accumulation may be a good rule of thumb.
<4> after repack, prune removes the duplicate loose objects.
------------

Repack a small project into single pack.::
+
------------
$ git repack -a -d <1>
$ git prune

------------
+
<1> pack all the objects reachable from the refs into one pack
and remove unneeded other packs
------------


Individual Developer (Standalone)[[Individual Developer (Standalone)]]
Expand Down Expand Up @@ -129,10 +129,10 @@ $ git-init-db
$ git add . <1>
$ git commit -m 'import of frotz source tree.'
$ git tag v2.43 <2>

------------
+
<1> add everything under the current directory.
<2> make a lightweight, unannotated tag.
------------

Create a topic branch and develop.::
+
Expand All @@ -153,7 +153,8 @@ $ git checkout master <9>
$ git pull . alsa-audio <10>
$ git log --since='3 days ago' <11>
$ git log v2.43.. curses/ <12>

------------
+
<1> create a new topic branch.
<2> revert your botched changes in "curses/ux_audio_oss.c".
<3> you need to tell git if you added a new file; removal and
Expand All @@ -170,7 +171,6 @@ you originally wrote.
combined and include --max-count=10 (show 10 commits), --until='2005-12-10'.
<12> view only the changes that touch what's in curses/
directory, since v2.43 tag.
------------


Individual Developer (Participant)[[Individual Developer (Participant)]]
Expand Down Expand Up @@ -208,7 +208,8 @@ $ git pull git://git.kernel.org/pub/.../jgarzik/libata-dev.git ALL <5>
$ git reset --hard ORIG_HEAD <6>
$ git prune <7>
$ git fetch --tags <8>

------------
+
<1> repeat as needed.
<2> extract patches from your branch for e-mail submission.
<3> "pull" fetches from "origin" by default and merges into the
Expand All @@ -221,7 +222,6 @@ area we are interested in.
<7> garbage collect leftover objects from reverted pull.
<8> from time to time, obtain official tags from the "origin"
and store them under .git/refs/tags/.
------------


Push into another repository.::
Expand All @@ -239,7 +239,8 @@ satellite$ git push origin <4>
mothership$ cd frotz
mothership$ git checkout master
mothership$ git pull . satellite <5>

------------
+
<1> mothership machine has a frotz repository under your home
directory; clone from it to start a repository on the satellite
machine.
Expand All @@ -252,7 +253,6 @@ to local "origin" branch.
mothership machine. You could use this as a back-up method.
<5> on mothership machine, merge the work done on the satellite
machine into the master branch.
------------

Branch off of a specific tag.::
+
Expand All @@ -262,12 +262,12 @@ $ edit/compile/test; git commit -a
$ 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)
tag.
<2> forward port all changes in private2.6.14 branch to master branch
without a formal "merging".
------------


Integrator[[Integrator]]
Expand Down Expand Up @@ -317,7 +317,8 @@ $ git tag -s -m 'GIT 0.99.9x' v0.99.9x <10>
$ 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.
<2> see what topic branches I have and think about how ready
they are.
Expand Down Expand Up @@ -346,7 +347,6 @@ In the output from "git show-branch", "master" should have
everything "ko-master" has.
<12> push out the bleeding edge.
<13> push the tag out, too.
------------


Repository Administration[[Repository Administration]]
Expand All @@ -367,7 +367,6 @@ example of managing a shared central repository.

Examples
~~~~~~~~

Run git-daemon to serve /pub/scm from inetd.::
+
------------
Expand All @@ -388,13 +387,13 @@ cindy:x:1002:1002::/home/cindy:/usr/bin/git-shell
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
allow anything but "git push" and "git pull". The users should
get an ssh access to the machine.
<2> in many distributions /etc/shells needs to list what is used
as the login shell.
------------

CVS-style shared repository.::
+
Expand All @@ -419,23 +418,23 @@ $ cat info/allowed-users <4>
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.
<2> and make the shared repository writable by the group.
<3> use update-hook example by Carl from Documentation/howto/
for branch policy control.
<4> alice and cindy can push into master, only bob can push into doc-update.
david is the release manager and is the only person who can
create and push version tags.
------------

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

------------
+
<1> make sure your info/refs and objects/info/packs are up-to-date
<2> upload to public HTTP server hosted by your ISP.
------------
57 changes: 39 additions & 18 deletions Documentation/git-branch.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,27 @@ git-branch(1)

NAME
----
git-branch - Create a new branch, or remove an old one
git-branch - List, create, or delete branches.

SYNOPSIS
--------
[verse]
'git-branch' [[-f] <branchname> [<start-point>]]
'git-branch' (-d | -D) <branchname>
'git-branch' [-r]
'git-branch' [-f] <branchname> [<start-point>]
'git-branch' (-d | -D) <branchname>...

DESCRIPTION
-----------
If no argument is provided, show available branches and mark current
branch with star. Otherwise, create a new branch of name <branchname>.
If a starting point is also specified, that will be where the branch is
created, otherwise it will be created at the current HEAD.
With no arguments given (or just `-r`) a list of available branches
will be shown, the current branch will be highlighted with an asterisk.

With a `-d` or `-D` option, `<branchname>` will be deleted.
In its second form, a new branch named <branchname> will be created.
It will start out with a head equal to the one given as <start-point>.
If no <start-point> is given, the branch will be created with a head
equal to that of the currently checked out branch.

With a `-d` or `-D` option, `<branchname>` will be deleted. You may
specify more than one branch for deletion.


OPTIONS
Expand All @@ -30,40 +35,56 @@ OPTIONS
Delete a branch irrespective of its index status.

-f::
Force a reset of <branchname> to <start-point> (or current head).
Force the creation of a new branch even if it means deleting
a branch that already exists with the same name.

-r::
List only the "remote" branches.

<branchname>::
The name of the branch to create or delete.

<start-point>::
Where to create the branch; defaults to HEAD. This
option has no meaning with -d and -D.
The new branch will be created with a HEAD equal to this. It may
be given as a branch name, a commit-id, or a tag. If this option
is omitted, the current branch is assumed.



Examples
~~~~~~~~
--------

Start development off of a known tag::
+
------------
$ git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6
$ cd my2.6
$ git branch my2.6.14 v2.6.14 <1>
$ git branch my2.6.14 v2.6.14 <1>
$ git checkout my2.6.14

<1> These two steps are the same as "checkout -b my2.6.14 v2.6.14".
------------
+
<1> This step and the next one could be combined into a single step with
"checkout -b my2.6.14 v2.6.14".

Delete unneeded branch::
+
------------
$ git clone git://git.kernel.org/.../git.git my.git
$ cd my.git
$ git branch -D todo <1>

$ git branch -D todo <1>
------------
+
<1> delete todo branch even if the "master" branch does not have all
commits from todo branch.
------------


Notes
-----

If you are creating a branch that you want to immediately checkout, it's
easier to use the git checkout command with its `-b` option to create
a branch and check it out with a single command.


Author
------
Expand Down
18 changes: 9 additions & 9 deletions Documentation/git-checkout.txt
Original file line number Diff line number Diff line change
Expand Up @@ -66,19 +66,19 @@ the `Makefile` to two revisions back, deletes hello.c by
mistake, and gets it back from the index.
+
------------
$ git checkout master <1>
$ git checkout master~2 Makefile <2>
$ git checkout master <1>
$ git checkout master~2 Makefile <2>
$ rm -f hello.c
$ git checkout hello.c <3>

$ git checkout hello.c <3>
------------
+
<1> switch branch
<2> take out a file out of other commit
<3> or "git checkout -- hello.c", as in the next example.
------------
<3> restore hello.c from HEAD of current branch
+
If you have an unfortunate branch that is named `hello.c`, the
last step above would be confused as an instruction to switch to
that branch. You should instead write:
If you have an unfortunate branch that is named `hello.c`, this
step would be confused as an instruction to switch to that branch.
You should instead write:
+
------------
$ git checkout -- hello.c
Expand Down
Loading

0 comments on commit 8971920

Please sign in to comment.