Merge branch 'ss/user-manual' into maint

Drop a few old "todo" items by deciding that the change one of them
suggests is not such a good idea, and doing the change the other
one suggested to do.

* ss/user-manual:
  user-manual: add addition gitweb information
  user-manual: add section documenting shallow clones
  glossary: define the term shallow clone
  user-manual: remove temporary branch entry from todo list
This commit is contained in:
Junio C Hamano 2016-02-05 14:54:18 -08:00
commit 353f685572
2 changed files with 36 additions and 10 deletions

View File

@ -531,6 +531,11 @@ The most notable example is `HEAD`.
"Secure Hash Algorithm 1"; a cryptographic hash function.
In the context of Git used as a synonym for <<def_object_name,object name>>.
[[def_shallow_clone]]shallow clone::
Mostly a synonym to <<def_shallow_repository,shallow repository>>
but the phrase makes it more explicit that it was created by
running `git clone --depth=...` command.
[[def_shallow_repository]]shallow repository::
A shallow <<def_repository,repository>> has an incomplete
history some of whose <<def_commit,commits>> have <<def_parent,parents>> cauterized away (in other

View File

@ -2125,8 +2125,37 @@ Allowing web browsing of a repository
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The gitweb cgi script provides users an easy way to browse your
project's files and history without having to install Git; see the file
gitweb/INSTALL in the Git source tree for instructions on setting it up.
project's revisions, file contents and logs without having to install
Git. Features like RSS/Atom feeds and blame/annotation details may
optionally be enabled.
The linkgit:git-instaweb[1] command provides a simple way to start
browsing the repository using gitweb. The default server when using
instaweb is lighttpd.
See the file gitweb/INSTALL in the Git source tree and
linkgit:gitweb[1] for instructions on details setting up a permament
installation with a CGI or Perl capable server.
[[how-to-get-a-git-repository-with-minimal-history]]
How to get a Git repository with minimal history
------------------------------------------------
A <<def_shallow_clone,shallow clone>>, with its truncated
history, is useful when one is interested only in recent history
of a project and getting full history from the upstream is
expensive.
A <<def_shallow_clone,shallow clone>> is created by specifying
the linkgit:git-clone[1] `--depth` switch. The depth can later be
changed with the linkgit:git-fetch[1] `--depth` switch, or full
history restored with `--unshallow`.
Merging inside a <<def_shallow_clone,shallow clone>> will work as long
as a merge base is in the recent history.
Otherwise, it will be like merging unrelated histories and may
have to result in huge conflicts. This limitation may make such
a repository unsuitable to be used in merge based workflows.
[[sharing-development-examples]]
Examples
@ -4636,23 +4665,15 @@ Scan email archives for other stuff left out
Scan man pages to see if any assume more background than this manual
provides.
Simplify beginning by suggesting disconnected head instead of
temporary branch creation?
Add more good examples. Entire sections of just cookbook examples
might be a good idea; maybe make an "advanced examples" section a
standard end-of-chapter section?
Include cross-references to the glossary, where appropriate.
Document shallow clones? See draft 1.5.0 release notes for some
documentation.
Add a section on working with other version control systems, including
CVS, Subversion, and just imports of series of release tarballs.
More details on gitweb?
Write a chapter on using plumbing and writing scripts.
Alternates, clone -reference, etc.