Browse Source

Merge branch 'master' into next

* master:
  Documentation: git aliases
  git-cvsserver asciidoc formatting tweaks
  config.txt grammar, typo, and asciidoc fixes
  Documentation: git-ls-tree (typofix)
  Document git-ls-tree --fullname
  Document git aliases support
  make clean: remove dist-doc targets.
  Misc doc improvements
  Documentation: add missing docs make check-docs found.
  Some doc typo fixes
  Off-by-one error in get_path_prefix(), found by Valgrind
  gitk: Re-read the descendent/ancestor tag & head info on update
maint
Junio C Hamano 19 years ago
parent
commit
ab1b3af792
  1. 33
      Documentation/config.txt
  2. 2
      Documentation/cvs-migration.txt
  3. 2
      Documentation/everyday.txt
  4. 2
      Documentation/git-apply.txt
  5. 5
      Documentation/git-check-ref-format.txt
  6. 49
      Documentation/git-cvsserver.txt
  7. 2
      Documentation/git-describe.txt
  8. 11
      Documentation/git-ls-tree.txt
  9. 2
      Documentation/git-name-rev.txt
  10. 2
      Documentation/git-p4import.txt
  11. 2
      Documentation/git-read-tree.txt
  12. 19
      Documentation/git-shortlog.txt
  13. 31
      Documentation/git-tar-tree.txt
  14. 39
      Documentation/git-upload-tar.txt
  15. 10
      Documentation/git.txt
  16. 7
      Documentation/glossary.txt
  17. 2
      Documentation/hooks.txt
  18. 2
      Documentation/tutorial.txt
  19. 2
      Makefile
  20. 3
      builtin-tar-tree.c
  21. 18
      gitk

33
Documentation/config.txt

@ -2,15 +2,15 @@ CONFIGURATION FILE
------------------ ------------------


The git configuration file contains a number of variables that affect The git configuration file contains a number of variables that affect
the git commands behavior. They can be used by both the git plumbing the git command's behavior. They can be used by both the git plumbing
and the porcelains. The variables are divided to sections, where and the porcelains. The variables are divided into sections, where
in the fully qualified variable name the variable itself is the last in the fully qualified variable name the variable itself is the last
dot-separated segment and the section name is everything before the last dot-separated segment and the section name is everything before the last
dot. The variable names are case-insensitive and only alphanumeric dot. The variable names are case-insensitive and only alphanumeric
characters are allowed. Some variables may appear multiple times. characters are allowed. Some variables may appear multiple times.


The syntax is fairly flexible and permissive; whitespaces are mostly The syntax is fairly flexible and permissive; whitespaces are mostly
ignored. The '#' and ';' characters begin commends to the end of line, ignored. The '#' and ';' characters begin comments to the end of line,
blank lines are ignored, lines containing strings enclosed in square blank lines are ignored, lines containing strings enclosed in square
brackets start sections and all the other lines are recognized brackets start sections and all the other lines are recognized
as setting variables, in the form 'name = value'. If there is no equal as setting variables, in the form 'name = value'. If there is no equal
@ -35,8 +35,8 @@ Variables
~~~~~~~~~ ~~~~~~~~~


Note that this list is non-comprehensive and not necessarily complete. Note that this list is non-comprehensive and not necessarily complete.
For command-specific variables, you will find more detailed description For command-specific variables, you will find a more detailed description
in the appropriate manual page. You will find description of non-core in the appropriate manual page. You will find a description of non-core
porcelain configuration variables in the respective porcelain documentation. porcelain configuration variables in the respective porcelain documentation.


core.fileMode:: core.fileMode::
@ -52,10 +52,10 @@ core.gitProxy::
on hostnames ending with the specified domain string. This variable on hostnames ending with the specified domain string. This variable
may be set multiple times and is matched in the given order; may be set multiple times and is matched in the given order;
the first match wins. the first match wins.

+
Can be overridden by the 'GIT_PROXY_COMMAND' environment variable Can be overridden by the 'GIT_PROXY_COMMAND' environment variable
(which always applies universally, without the special "for" (which always applies universally, without the special "for"
handling). handling).


core.ignoreStat:: core.ignoreStat::
The working copy files are assumed to stay unchanged until you The working copy files are assumed to stay unchanged until you
@ -91,6 +91,15 @@ core.warnAmbiguousRefs::
If true, git will warn you if the ref name you passed it is ambiguous If true, git will warn you if the ref name you passed it is ambiguous
and might match multiple refs in the .git/refs/ tree. True by default. and might match multiple refs in the .git/refs/ tree. True by default.


alias.*::
Command aliases for the gitlink:git[1] command wrapper - e.g.
after defining "alias.last = cat-file commit HEAD", the invocation
"git last" is equivalent to "git cat-file commit HEAD". To avoid
confusion and troubles with script usage, aliases that
hide existing git commands are ignored. Arguments are split by
spaces, the usual shell quoting and escaping is supported.
quote pair and a backslash can be used to quote them.

apply.whitespace:: apply.whitespace::
Tells `git-apply` how to handle whitespaces, in the same way Tells `git-apply` how to handle whitespaces, in the same way
as the '--whitespace' option. See gitlink:git-apply[1]. as the '--whitespace' option. See gitlink:git-apply[1].
@ -113,12 +122,12 @@ gitcvs.logfile::


http.sslVerify:: http.sslVerify::
Whether to verify the SSL certificate when fetching or pushing Whether to verify the SSL certificate when fetching or pushing
over HTTPS. Can be overriden by the 'GIT_SSL_NO_VERIFY' environment over HTTPS. Can be overridden by the 'GIT_SSL_NO_VERIFY' environment
variable. variable.


http.sslCert:: http.sslCert::
File containing the SSL certificate when fetching or pushing File containing the SSL certificate when fetching or pushing
over HTTPS. Can be overriden by the 'GIT_SSL_CERT' environment over HTTPS. Can be overridden by the 'GIT_SSL_CERT' environment
variable. variable.


http.sslKey:: http.sslKey::
@ -133,7 +142,7 @@ http.sslCAInfo::


http.sslCAPath:: http.sslCAPath::
Path containing files with the CA certificates to verify the peer Path containing files with the CA certificates to verify the peer
with when fetching or pushing over HTTPS. Can be overriden with when fetching or pushing over HTTPS. Can be overridden
by the 'GIT_SSL_CAPATH' environment variable. by the 'GIT_SSL_CAPATH' environment variable.


http.maxRequests:: http.maxRequests::

2
Documentation/cvs-migration.txt

@ -106,7 +106,7 @@ Make sure committers have a umask of at most 027, so that the directories
they create are writable and searchable by other group members. they create are writable and searchable by other group members.


Suppose this repository is now set up in /pub/repo.git on the host Suppose this repository is now set up in /pub/repo.git on the host
foo.com. Then as an individual commiter you can clone the shared foo.com. Then as an individual committer you can clone the shared
repository: repository:


------------------------------------------------ ------------------------------------------------

2
Documentation/everyday.txt

@ -45,7 +45,7 @@ Everybody uses these commands to feed and care git repositories.


* gitlink:git-fsck-objects[1] to validate the repository. * gitlink:git-fsck-objects[1] to validate the repository.


* gitlink:git-prune[1] to garbage collect crufts in the * gitlink:git-prune[1] to garbage collect cruft in the
repository. repository.


* gitlink:git-repack[1] to pack loose objects for efficiency. * gitlink:git-repack[1] to pack loose objects for efficiency.

2
Documentation/git-apply.txt

@ -76,7 +76,7 @@ OPTIONS
-C<n>:: -C<n>::
Ensure at least <n> lines of surrounding context match before Ensure at least <n> lines of surrounding context match before
and after each change. When fewer lines of surrounding and after each change. When fewer lines of surrounding
context exist they all most match. By default no context is context exist they all must match. By default no context is
ever ignored. ever ignored.


--apply:: --apply::

5
Documentation/git-check-ref-format.txt

@ -19,8 +19,9 @@ branch head is stored under `$GIT_DIR/refs/heads` directory, and
a tag is stored under `$GIT_DIR/refs/tags` directory. git a tag is stored under `$GIT_DIR/refs/tags` directory. git
imposes the following rules on how refs are named: imposes the following rules on how refs are named:


. It could be named hierarchically (i.e. separated with slash . It can include slash `/` for hierarchical (directory)
`/`), but each of its component cannot begin with a dot `.`; grouping, but no slash-separated component can begin with a
dot `.`;


. It cannot have two consecutive dots `..` anywhere; . It cannot have two consecutive dots `..` anywhere;



49
Documentation/git-cvsserver.txt

@ -36,49 +36,62 @@ INSTALLATION


1. If you are going to offer anonymous CVS access via pserver, add a line in 1. If you are going to offer anonymous CVS access via pserver, add a line in
/etc/inetd.conf like /etc/inetd.conf like

+
--
------
cvspserver stream tcp nowait nobody git-cvsserver pserver cvspserver stream tcp nowait nobody git-cvsserver pserver


Note: In some cases, you need to pass the 'pserver' argument twice for ------
git-cvsserver to see it. So the line would look like Note: In some cases, you need to pass the 'pserver' argument twice for
git-cvsserver to see it. So the line would look like


------
cvspserver stream tcp nowait nobody git-cvsserver pserver pserver cvspserver stream tcp nowait nobody git-cvsserver pserver pserver


No special setup is needed for SSH access, other than having GIT tools ------
in the PATH. If you have clients that do not accept the CVS_SERVER No special setup is needed for SSH access, other than having GIT tools
env variable, you can rename git-cvsserver to cvs. in the PATH. If you have clients that do not accept the CVS_SERVER

env variable, you can rename git-cvsserver to cvs.
--
2. For each repo that you want accessible from CVS you need to edit config in 2. For each repo that you want accessible from CVS you need to edit config in
the repo and add the following section. the repo and add the following section.

+
--
------
[gitcvs] [gitcvs]
enabled=1 enabled=1
# optional for debugging # optional for debugging
logfile=/path/to/logfile logfile=/path/to/logfile


Note: you need to ensure each user that is going to invoke git-cvsserver has ------
write access to the log file and to the git repository. When offering anon Note: you need to ensure each user that is going to invoke git-cvsserver has
access via pserver, this means that the nobody user should have write access write access to the log file and to the git repository. When offering anon
to at least the sqlite database at the root of the repository. access via pserver, this means that the nobody user should have write access

to at least the sqlite database at the root of the repository.
--
3. On the client machine you need to set the following variables. 3. On the client machine you need to set the following variables.
CVSROOT should be set as per normal, but the directory should point at the CVSROOT should be set as per normal, but the directory should point at the
appropriate git repo. For example: appropriate git repo. For example:
+
--
For SSH access, CVS_SERVER should be set to git-cvsserver


For SSH access, CVS_SERVER should be set to git-cvsserver Example:

Example:


------
export CVSROOT=:ext:user@server:/var/git/project.git export CVSROOT=:ext:user@server:/var/git/project.git
export CVS_SERVER=git-cvsserver export CVS_SERVER=git-cvsserver

------
--
4. For SSH clients that will make commits, make sure their .bashrc file 4. For SSH clients that will make commits, make sure their .bashrc file
sets the GIT_AUTHOR and GIT_COMMITTER variables. sets the GIT_AUTHOR and GIT_COMMITTER variables.


5. Clients should now be able to check out the project. Use the CVS 'module' 5. Clients should now be able to check out the project. Use the CVS 'module'
name to indicate what GIT 'head' you want to check out. Example: name to indicate what GIT 'head' you want to check out. Example:

+
------
cvs co -d project-master master cvs co -d project-master master
------


Eclipse CVS Client Notes Eclipse CVS Client Notes
------------------------ ------------------------

2
Documentation/git-describe.txt

@ -21,7 +21,7 @@ object name of the commit.
OPTIONS OPTIONS
------- -------
<committish>:: <committish>::
The object name of the comittish. The object name of the committish.


--all:: --all::
Instead of using only the annotated tags, use any ref Instead of using only the annotated tags, use any ref

11
Documentation/git-ls-tree.txt

@ -8,9 +8,10 @@ git-ls-tree - Lists the contents of a tree object


SYNOPSIS SYNOPSIS
-------- --------
[verse]
'git-ls-tree' [-d] [-r] [-t] [-z] 'git-ls-tree' [-d] [-r] [-t] [-z]
[--name-only] [--name-status] [--full-name] [--abbrev=[<n>]] [--name-only] [--name-status] [--full-name] [--abbrev=[<n>]]
<tree-ish> [paths...] <tree-ish> [paths...]


DESCRIPTION DESCRIPTION
----------- -----------
@ -47,6 +48,10 @@ OPTIONS
lines, show only handful hexdigits prefix. lines, show only handful hexdigits prefix.
Non default number of digits can be specified with --abbrev=<n>. Non default number of digits can be specified with --abbrev=<n>.


--full-name::
Instead of showing the path names relative to the current working
directory, show the full path names.

paths:: paths::
When paths are given, show them (note that this isn't really raw When paths are given, show them (note that this isn't really raw
pathnames, but rather a list of patterns to match). Otherwise pathnames, but rather a list of patterns to match). Otherwise
@ -72,8 +77,6 @@ Documentation
Documentation by David Greaves, Junio C Hamano and the git-list Documentation by David Greaves, Junio C Hamano and the git-list
<git@vger.kernel.org>. <git@vger.kernel.org>.


This manual page is a stub. You can help the git documentation by expanding it.

GIT GIT
--- ---
Part of the gitlink:git[7] suite Part of the gitlink:git[7] suite

2
Documentation/git-name-rev.txt

@ -8,7 +8,7 @@ git-name-rev - Find symbolic names for given revs


SYNOPSIS SYNOPSIS
-------- --------
'git-name-rev' [--tags] ( --all | --stdin | <commitish>... ) 'git-name-rev' [--tags] ( --all | --stdin | <committish>... )


DESCRIPTION DESCRIPTION
----------- -----------

2
Documentation/git-p4import.txt

@ -128,7 +128,7 @@ Therefore after the import you can use git to access any commit by its
Perforce number, eg. git show p4/327. Perforce number, eg. git show p4/327.


The tag associated with the HEAD commit is also how `git-p4import` The tag associated with the HEAD commit is also how `git-p4import`
determines if their are new changes to incrementally import from the determines if there are new changes to incrementally import from the
Perforce repository. Perforce repository.


If you import from a repository with many thousands of changes If you import from a repository with many thousands of changes

2
Documentation/git-read-tree.txt

@ -266,7 +266,7 @@ file that does not match stage 2.
This is done to prevent you from losing your work-in-progress This is done to prevent you from losing your work-in-progress
changes, and mixing your random changes in an unrelated merge changes, and mixing your random changes in an unrelated merge
commit. To illustrate, suppose you start from what has been commit. To illustrate, suppose you start from what has been
commited last to your repository: committed last to your repository:


---------------- ----------------
$ JC=`git-rev-parse --verify "HEAD^0"` $ JC=`git-rev-parse --verify "HEAD^0"`

19
Documentation/git-shortlog.txt

@ -5,7 +5,6 @@ NAME
---- ----
git-shortlog - Summarize 'git log' output git-shortlog - Summarize 'git log' output



SYNOPSIS SYNOPSIS
-------- --------
git-log --pretty=short | 'git-shortlog' git-log --pretty=short | 'git-shortlog'
@ -13,8 +12,22 @@ git-log --pretty=short | 'git-shortlog'
DESCRIPTION DESCRIPTION
----------- -----------
Summarizes 'git log' output in a format suitable for inclusion Summarizes 'git log' output in a format suitable for inclusion
in release announcements. in release announcements. Each commit will be grouped by author

the first line of the commit message will be shown.

Additionally, "[PATCH]" will be stripped from the commit description.

FILES
-----
'.mailmap'::
If this file exists, it will be used for mapping author email
addresses to a real author name. One mapping per line, first
the author name followed by the email address enclosed by
'<' and '>'. Use hash '#' for comments. Example:

# Keep alphabetized
Adam Morrow <adam@localhost.localdomain>
Eve Jones <eve@laptop.(none)>


Author Author
------ ------

31
Documentation/git-tar-tree.txt

@ -8,7 +8,7 @@ git-tar-tree - Creates a tar archive of the files in the named tree


SYNOPSIS SYNOPSIS
-------- --------
'git-tar-tree' <tree-ish> [ <base> ] 'git-tar-tree' [--remote=<repo>] <tree-ish> [ <base> ]


DESCRIPTION DESCRIPTION
----------- -----------
@ -23,6 +23,35 @@ commit time as recorded in the referenced commit object is used instead.
Additionally the commit ID is stored in a global extended pax header. Additionally the commit ID is stored in a global extended pax header.
It can be extracted using git-get-tar-commit-id. It can be extracted using git-get-tar-commit-id.


OPTIONS
-------

<tree-ish>::
The tree or commit to produce tar archive for. If it is
the object name of a commit object.

<base>::
Leading path to the files in the resulting tar archive.

--remote=<repo>::
Instead of making a tar archive from local repository,
retrieve a tar archive from a remote repository.

Examples
--------
git tar-tree HEAD | (cd /var/tmp/ && mkdir junk && tar Cxf junk -)::

Create a tar archive that contains the contents of the
latest commit on the current branch, and extracts it in
`/var/tmp/junk` directory.

git tar-tree v2.6.17 linux-2.6.17 | gzip >linux-2.6.17.tar.gz

Create a tarball for v2.6.17 release.

git tar-tree --remote=example.com:git.git v0.99 >git-0.99.tar

Get a tarball v0.99 from example.com.


Author Author
------ ------

39
Documentation/git-upload-tar.txt

@ -0,0 +1,39 @@
git-upload-tar(1)
=================

NAME
----
git-upload-tar - Send tar archive


SYNOPSIS
--------
'git-upload-tar' <directory>

DESCRIPTION
-----------
Invoked by 'git-tar-tree --remote' and sends a generated tar archive
to the other end over the git protocol.

This command is usually not invoked directly by the end user.
The UI for the protocol is on the 'git-tar-tree' side, and the
program pair is meant to be used to get a tar achive from a
remote repository.


OPTIONS
-------
<directory>::
The repository to get a tar archive from.

Author
------
Written by Junio C Hamano <junio@kernel.org>

Documentation
--------------
Documentation by Junio C Hamano.

GIT
---
Part of the gitlink:git[7] suite

10
Documentation/git.txt

@ -21,6 +21,9 @@ link:everyday.html[Everyday Git] for a useful minimum set of commands, and
"man git-commandname" for documentation of each command. CVS users may "man git-commandname" for documentation of each command. CVS users may
also want to read link:cvs-migration.html[CVS migration]. also want to read link:cvs-migration.html[CVS migration].


The COMMAND is either a name of a Git command (see below) or an alias
as defined in the configuration file (see gitlink:git-repo-config[1]).

OPTIONS OPTIONS
------- -------
--version:: --version::
@ -237,6 +240,10 @@ gitlink:git-upload-pack[1]::
Invoked by 'git-clone-pack' and 'git-fetch-pack' to push Invoked by 'git-clone-pack' and 'git-fetch-pack' to push
what are asked for. what are asked for.


gitlink:git-upload-tar[1]::
Invoked by 'git-tar-tree --remote' to return the tar
archive the other end asked for.



High-level commands (porcelain) High-level commands (porcelain)
------------------------------- -------------------------------
@ -378,6 +385,9 @@ gitlink:git-merge-one-file[1]::
gitlink:git-prune[1]:: gitlink:git-prune[1]::
Prunes all unreachable objects from the object database. Prunes all unreachable objects from the object database.


gitlink:git-quiltimport[1]::
Applies a quilt patchset onto the current branch.

gitlink:git-relink[1]:: gitlink:git-relink[1]::
Hardlink common objects in local repositories. Hardlink common objects in local repositories.



7
Documentation/glossary.txt

@ -109,6 +109,13 @@ file system::
git archive:: git archive::
Synonym for repository (for arch people). Synonym for repository (for arch people).


grafts::
Grafts enables two otherwise different lines of development to be
joined together by recording fake ancestry information for commits.
This way you can make git pretend the set of parents a commit
has is different from what was recorded when the commit was created.
Configured via the `.git/info/grafts` file.

hash:: hash::
In git's context, synonym to object name. In git's context, synonym to object name.



2
Documentation/hooks.txt

@ -100,7 +100,7 @@ update
This hook is invoked by `git-receive-pack` on the remote repository, This hook is invoked by `git-receive-pack` on the remote repository,
which is happens when a `git push` is done on a local repository. which is happens when a `git push` is done on a local repository.
Just before updating the ref on the remote repository, the update hook Just before updating the ref on the remote repository, the update hook
is invoked. It's exit status determines the success or failure of is invoked. Its exit status determines the success or failure of
the ref update. the ref update.


The hook executes once for each ref to be updated, and takes The hook executes once for each ref to be updated, and takes

2
Documentation/tutorial.txt

@ -357,7 +357,7 @@ $ git diff v2.5 HEAD # compare the current HEAD to v2.5
$ git branch stable v2.5 # start a new branch named "stable" based $ git branch stable v2.5 # start a new branch named "stable" based
# at v2.5 # at v2.5
$ git reset --hard HEAD^ # reset your current branch and working $ git reset --hard HEAD^ # reset your current branch and working
# directory its state at HEAD^ # directory to its state at HEAD^
------------------------------------- -------------------------------------


Be careful with that last command: in addition to losing any changes Be careful with that last command: in addition to losing any changes

2
Makefile

@ -707,7 +707,7 @@ clean:
rm -f *.spec *.pyc *.pyo */*.pyc */*.pyo common-cmds.h TAGS tags rm -f *.spec *.pyc *.pyo */*.pyc */*.pyo common-cmds.h TAGS tags
rm -rf $(GIT_TARNAME) .doc-tmp-dir rm -rf $(GIT_TARNAME) .doc-tmp-dir
rm -f $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz rm -f $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz
rm -f $(htmldocs).tar $(manpages).tar rm -f $(htmldocs).tar.gz $(manpages).tar.gz
$(MAKE) -C Documentation/ clean $(MAKE) -C Documentation/ clean
$(MAKE) -C templates clean $(MAKE) -C templates clean
$(MAKE) -C t/ clean $(MAKE) -C t/ clean

3
builtin-tar-tree.c

@ -168,8 +168,9 @@ static int get_path_prefix(const struct strbuf *path, int maxlen)
int i = path->len; int i = path->len;
if (i > maxlen) if (i > maxlen)
i = maxlen; i = maxlen;
while (i > 0 && path->buf[i] != '/') do {
i--; i--;
} while (i > 0 && path->buf[i] != '/');
return i; return i;
} }



18
gitk

@ -238,6 +238,7 @@ proc updatecommits {} {
catch {unset selectedline} catch {unset selectedline}
catch {unset thickerline} catch {unset thickerline}
catch {unset viewdata($n)} catch {unset viewdata($n)}
discardallcommits
readrefs readrefs
showview $n showview $n
} }
@ -4988,15 +4989,30 @@ proc wrcomcan {} {


# Stuff for finding nearby tags # Stuff for finding nearby tags
proc getallcommits {} { proc getallcommits {} {
global allcstart allcommits global allcstart allcommits allcfd


set fd [open [concat | git rev-list --all --topo-order --parents] r] set fd [open [concat | git rev-list --all --topo-order --parents] r]
set allcfd $fd
fconfigure $fd -blocking 0 fconfigure $fd -blocking 0
set allcommits "reading" set allcommits "reading"
nowbusy allcommits nowbusy allcommits
restartgetall $fd restartgetall $fd
} }


proc discardallcommits {} {
global allparents allchildren allcommits allcfd
global desc_tags anc_tags alldtags tagisdesc allids desc_heads

if {![info exists allcommits]} return
if {$allcommits eq "reading"} {
catch {close $allcfd}
}
foreach v {allcommits allchildren allparents allids desc_tags anc_tags
alldtags tagisdesc desc_heads} {
catch {unset $v}
}
}

proc restartgetall {fd} { proc restartgetall {fd} {
global allcstart global allcstart



Loading…
Cancel
Save