diff options
author | J. Bruce Fields <bfields@citi.umich.edu> | 2007-01-14 19:27:28 -0500 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2007-01-14 19:27:28 -0500 |
commit | 67583917e9a2a85605c1123a62c8883593e7e889 (patch) | |
tree | 06f61d2f28e321063b8e1e206a0e418bc1ba0486 /Documentation | |
parent | 69f7ad730a21eb7e8aeb22b2ee76856dff2b7bd2 (diff) | |
parent | f4b6c6b90fdce12d69e4ad80ff6082405ec8cfb8 (diff) | |
download | git-67583917e9a2a85605c1123a62c8883593e7e889.tar.gz git-67583917e9a2a85605c1123a62c8883593e7e889.tar.xz |
Merge branch 'master' of git://git.kernel.org/pub/scm/git/git
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/config.txt | 30 | ||||
-rw-r--r-- | Documentation/core-tutorial.txt | 10 | ||||
-rw-r--r-- | Documentation/cvs-migration.txt | 2 | ||||
-rw-r--r-- | Documentation/everyday.txt | 4 | ||||
-rw-r--r-- | Documentation/git-am.txt | 19 | ||||
-rw-r--r-- | Documentation/git-applymbox.txt | 14 | ||||
-rw-r--r-- | Documentation/git-commit.txt | 11 | ||||
-rw-r--r-- | Documentation/git-cvsimport.txt | 15 | ||||
-rw-r--r-- | Documentation/git-init-db.txt | 90 | ||||
-rw-r--r-- | Documentation/git-init.txt | 111 | ||||
-rw-r--r-- | Documentation/git-mailinfo.txt | 16 | ||||
-rw-r--r-- | Documentation/git-p4import.txt | 2 | ||||
-rw-r--r-- | Documentation/git-pack-refs.txt | 9 | ||||
-rw-r--r-- | Documentation/git-prune-packed.txt | 5 | ||||
-rw-r--r-- | Documentation/git-remote.txt | 76 | ||||
-rw-r--r-- | Documentation/git-svn.txt | 89 | ||||
-rw-r--r-- | Documentation/git.txt | 4 | ||||
-rw-r--r-- | Documentation/glossary.txt | 9 | ||||
-rw-r--r-- | Documentation/hooks.txt | 2 | ||||
-rw-r--r-- | Documentation/howto/setup-git-server-over-http.txt | 2 | ||||
-rw-r--r-- | Documentation/repository-layout.txt | 2 | ||||
-rw-r--r-- | Documentation/tutorial-2.txt | 2 | ||||
-rw-r--r-- | Documentation/tutorial.txt | 2 |
23 files changed, 324 insertions, 202 deletions
diff --git a/Documentation/config.txt b/Documentation/config.txt index 4318bf933..f7dba8977 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -100,7 +100,7 @@ core.sharedRepository:: group-writable). When 'all' (or 'world' or 'everybody'), the repository will be readable by all users, additionally to being group-shareable. When 'umask' (or 'false'), git will use permissions - reported by umask(2). See gitlink:git-init-db[1]. False by default. + reported by umask(2). See gitlink:git-init[1]. False by default. core.warnAmbiguousRefs:: If true, git will warn you if the ref name you passed it is ambiguous @@ -118,6 +118,34 @@ core.legacyheaders:: database directly (where the "http://" and "rsync://" protocols count as direct access). +core.packedGitWindowSize:: + Number of bytes of a pack file to map into memory in a + single mapping operation. Larger window sizes may allow + your system to process a smaller number of large pack files + more quickly. Smaller window sizes will negatively affect + performance due to increased calls to the operating system's + memory manager, but may improve performance when accessing + a large number of large pack files. ++ +Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32 +MiB on 32 bit platforms and 1 GiB on 64 bit platforms. This should +be reasonable for all users/operating systems. You probably do +not need to adjust this value. ++ +Common unit suffixes of 'k', 'm', or 'g' are supported. + +core.packedGitLimit:: + Maximum number of bytes to map simultaneously into memory + from pack files. If Git needs to access more than this many + bytes at once to complete an operation it will unmap existing + regions to reclaim virtual address space within the process. ++ +Default is 256 MiB on 32 bit platforms and 8 GiB on 64 bit platforms. +This should be reasonable for all users/operating systems, except on +the largest projects. You probably do not need to adjust this value. ++ +Common unit suffixes of 'k', 'm', or 'g' are supported. + alias.*:: Command aliases for the gitlink:git[1] command wrapper - e.g. after defining "alias.last = cat-file commit HEAD", the invocation diff --git a/Documentation/core-tutorial.txt b/Documentation/core-tutorial.txt index 5ea611748..0cd33fb5b 100644 --- a/Documentation/core-tutorial.txt +++ b/Documentation/core-tutorial.txt @@ -46,12 +46,12 @@ to import into git. For our first example, we're going to start a totally new repository from scratch, with no pre-existing files, and we'll call it `git-tutorial`. To start up, create a subdirectory for it, change into that -subdirectory, and initialize the git infrastructure with `git-init-db`: +subdirectory, and initialize the git infrastructure with `git-init`: ------------------------------------------------ $ mkdir git-tutorial $ cd git-tutorial -$ git-init-db +$ git-init ------------------------------------------------ to which git will reply @@ -1371,11 +1371,11 @@ $ mkdir my-git.git ------------ Then, make that directory into a git repository by running -`git init-db`, but this time, since its name is not the usual +`git init`, but this time, since its name is not the usual `.git`, we do things slightly differently: ------------ -$ GIT_DIR=my-git.git git-init-db +$ GIT_DIR=my-git.git git-init ------------ Make sure this directory is available for others you want your @@ -1511,7 +1511,7 @@ A recommended workflow for a "project lead" goes like this: + If other people are pulling from your repository over dumb transport protocols (HTTP), you need to keep this repository -'dumb transport friendly'. After `git init-db`, +'dumb transport friendly'. After `git init`, `$GIT_DIR/hooks/post-update` copied from the standard templates would contain a call to `git-update-server-info` but the `post-update` hook itself is disabled by default -- enable it diff --git a/Documentation/cvs-migration.txt b/Documentation/cvs-migration.txt index 8e09beaa7..775bf4266 100644 --- a/Documentation/cvs-migration.txt +++ b/Documentation/cvs-migration.txt @@ -80,7 +80,7 @@ it: ------------------------------------------------ $ mkdir /pub/my-repo.git $ cd /pub/my-repo.git -$ git --bare init-db --shared +$ git --bare init --shared $ git --bare fetch /home/alice/myproject master:master ------------------------------------------------ diff --git a/Documentation/everyday.txt b/Documentation/everyday.txt index 2105a3d2e..4e83994c5 100644 --- a/Documentation/everyday.txt +++ b/Documentation/everyday.txt @@ -25,7 +25,7 @@ Basic Repository[[Basic Repository]] Everybody uses these commands to maintain git repositories. - * gitlink:git-init-db[1] or gitlink:git-clone[1] to create a + * gitlink:git-init[1] or gitlink:git-clone[1] to create a new repository. * gitlink:git-fsck-objects[1] to check the repository for errors. @@ -107,7 +107,7 @@ Use a tarball as a starting point for a new repository.:: ------------ $ tar zxf frotz.tar.gz $ cd frotz -$ git-init-db +$ git-init $ git add . <1> $ git commit -m 'import of frotz source tree.' $ git tag v2.43 <2> diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt index 910457d3b..53e81cb10 100644 --- a/Documentation/git-am.txt +++ b/Documentation/git-am.txt @@ -9,7 +9,7 @@ git-am - Apply a series of patches in a mailbox SYNOPSIS -------- [verse] -'git-am' [--signoff] [--dotest=<dir>] [--utf8] [--binary] [--3way] +'git-am' [--signoff] [--dotest=<dir>] [--utf8 | --no-utf8] [--binary] [--3way] [--interactive] [--whitespace=<option>] <mbox>... 'git-am' [--skip | --resolved] @@ -29,8 +29,21 @@ OPTIONS Instead of `.dotest` directory, use <dir> as a working area to store extracted patches. ---utf8, --keep:: - Pass `-u` and `-k` flags to `git-mailinfo` (see +--keep:: + Pass `-k` flag to `git-mailinfo` (see gitlink:git-mailinfo[1]). + +--utf8:: + Pass `-u` flag to `git-mailinfo` (see gitlink:git-mailinfo[1]). + The proposed commit log message taken from the e-mail + are re-coded into UTF-8 encoding (configuration variable + `i18n.commitencoding` can be used to specify project's + preferred encoding if it is not UTF-8). ++ +This was optional in prior versions of git, but now it is the +default. You could use `--no-utf8` to override this. + +--no-utf8:: + Do not pass `-u` flag to `git-mailinfo` (see gitlink:git-mailinfo[1]). --binary:: diff --git a/Documentation/git-applymbox.txt b/Documentation/git-applymbox.txt index f74c6a49b..95dc65a58 100644 --- a/Documentation/git-applymbox.txt +++ b/Documentation/git-applymbox.txt @@ -42,13 +42,13 @@ OPTIONS and the current tree. -u:: - By default, the commit log message, author name and - author email are taken from the e-mail without any - charset conversion, after minimally decoding MIME - transfer encoding. This flag causes the resulting - commit to be encoded in utf-8 by transliterating them. - Note that the patch is always used as is without charset - conversion, even with this flag. + The commit log message, author name and author email are + taken from the e-mail, and after minimally decoding MIME + transfer encoding, re-coded in UTF-8 by transliterating + them. This used to be optional but now it is the default. ++ +Note that the patch is always used as-is without charset +conversion, even with this flag. -c .dotest/<num>:: When the patch contained in an e-mail does not cleanly diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt index a7adf24fa..b4528d72b 100644 --- a/Documentation/git-commit.txt +++ b/Documentation/git-commit.txt @@ -32,7 +32,8 @@ methods: 4. by using the -a switch with the 'commit' command to automatically "add" changes from all known files i.e. files that have already been committed - before, and perform the actual commit. + before, and to automatically "rm" files that have been + removed from the working tree, and perform the actual commit. The gitlink:git-status[1] command can be used to obtain a summary of what is included by any of the above for the next @@ -72,12 +73,8 @@ OPTIONS Add Signed-off-by line at the end of the commit message. --no-verify:: - By default, the command looks for suspicious lines the - commit introduces, and aborts committing if there is one. - The definition of 'suspicious lines' is currently the - lines that has trailing whitespaces, and the lines whose - indentation has a SP character immediately followed by a - TAB character. This option turns off the check. + This option bypasses the pre-commit hook. + See also link:hooks.html[hooks]. -e|--edit:: The message taken from file with `-F`, command line with diff --git a/Documentation/git-cvsimport.txt b/Documentation/git-cvsimport.txt index d21d66bfe..5c402de26 100644 --- a/Documentation/git-cvsimport.txt +++ b/Documentation/git-cvsimport.txt @@ -90,7 +90,8 @@ If you need to pass multiple options, separate them with a comma. Print a short usage message and exit. -z <fuzz>:: - Pass the timestamp fuzz factor to cvsps. + Pass the timestamp fuzz factor to cvsps, in seconds. If unset, + cvsps defaults to 300s. -s <subst>:: Substitute the character "/" in branch names with <subst> @@ -99,6 +100,18 @@ If you need to pass multiple options, separate them with a comma. CVS by default uses the unix username when writing its commit logs. Using this option and an author-conv-file in this format + +-a:: + Import all commits, including recent ones. cvsimport by default + skips commits that have a timestamp less than 10 minutes ago. + +-S <regex>:: + Skip paths matching the regex. + +-L <limit>:: + Limit the number of commits imported. Workaround for cases where + cvsimport leaks memory. + + --------- exon=Andreas Ericsson <ae@op5.se> diff --git a/Documentation/git-init-db.txt b/Documentation/git-init-db.txt index ca7d09dc0..5412135d7 100644 --- a/Documentation/git-init-db.txt +++ b/Documentation/git-init-db.txt @@ -11,95 +11,9 @@ SYNOPSIS 'git-init-db' [--template=<template_directory>] [--shared[=<permissions>]] -OPTIONS -------- - --- - ---template=<template_directory>:: - -Provide the directory from which templates will be used. The default template -directory is `/usr/share/git-core/templates`. - -When specified, `<template_directory>` is used as the source of the template -files rather than the default. The template files include some directory -structure, some suggested "exclude patterns", and copies of non-executing -"hook" files. The suggested patterns and hook files are all modifiable and -extensible. - ---shared[={false|true|umask|group|all|world|everybody}]:: - -Specify that the git repository is to be shared amongst several users. This -allows users belonging to the same group to push into that -repository. When specified, the config variable "core.sharedRepository" is -set so that files and directories under `$GIT_DIR` are created with the -requested permissions. When not specified, git will use permissions reported -by umask(2). - -The option can have the following values, defaulting to 'group' if no value -is given: - - - 'umask' (or 'false'): Use permissions reported by umask(2). The default, - when `--shared` is not specified. - - - 'group' (or 'true'): Make the repository group-writable, (and g+sx, since - the git group may be not the primary group of all users). - - - 'all' (or 'world' or 'everybody'): Same as 'group', but make the repository - readable by all users. - -By default, the configuration flag receive.denyNonFastforward is enabled -in shared repositories, so that you cannot force a non fast-forwarding push -into it. - --- - - DESCRIPTION ----------- -This command creates an empty git repository - basically a `.git` directory -with subdirectories for `objects`, `refs/heads`, `refs/tags`, and -template files. -An initial `HEAD` file that references the HEAD of the master branch -is also created. - -If the `$GIT_DIR` environment variable is set then it specifies a path -to use instead of `./.git` for the base of the repository. - -If the object storage directory is specified via the `$GIT_OBJECT_DIRECTORY` -environment variable then the sha1 directories are created underneath - -otherwise the default `$GIT_DIR/objects` directory is used. - -Running `git-init-db` in an existing repository is safe. It will not overwrite -things that are already there. The primary reason for rerunning `git-init-db` -is to pick up newly added templates. - - - -EXAMPLES --------- - -Start a new git repository for an existing code base:: -+ ----------------- -$ cd /path/to/my/codebase -$ git-init-db <1> -$ git-add . <2> ----------------- -+ -<1> prepare /path/to/my/codebase/.git directory -<2> add all existing file to the index - - -Author ------- -Written by Linus Torvalds <torvalds@osdl.org> - -Documentation --------------- -Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>. -GIT ---- -Part of the gitlink:git[7] suite +This is a synonym for gitlink:git-init[1]. Please refer to the +documentation of that command. diff --git a/Documentation/git-init.txt b/Documentation/git-init.txt new file mode 100644 index 000000000..596b567c9 --- /dev/null +++ b/Documentation/git-init.txt @@ -0,0 +1,111 @@ +git-init(1) +=========== + +NAME +---- +git-init - Creates an empty git repository + + +SYNOPSIS +-------- +'git-init' [--template=<template_directory>] [--shared[=<permissions>]] + + +OPTIONS +------- + +-- + +--template=<template_directory>:: + +Provide the directory from which templates will be used. The default template +directory is `/usr/share/git-core/templates`. + +When specified, `<template_directory>` is used as the source of the template +files rather than the default. The template files include some directory +structure, some suggested "exclude patterns", and copies of non-executing +"hook" files. The suggested patterns and hook files are all modifiable and +extensible. + +--shared[={false|true|umask|group|all|world|everybody}]:: + +Specify that the git repository is to be shared amongst several users. This +allows users belonging to the same group to push into that +repository. When specified, the config variable "core.sharedRepository" is +set so that files and directories under `$GIT_DIR` are created with the +requested permissions. When not specified, git will use permissions reported +by umask(2). + +The option can have the following values, defaulting to 'group' if no value +is given: + + - 'umask' (or 'false'): Use permissions reported by umask(2). The default, + when `--shared` is not specified. + + - 'group' (or 'true'): Make the repository group-writable, (and g+sx, since + the git group may be not the primary group of all users). + + - 'all' (or 'world' or 'everybody'): Same as 'group', but make the repository + readable by all users. + +By default, the configuration flag receive.denyNonFastforward is enabled +in shared repositories, so that you cannot force a non fast-forwarding push +into it. + +-- + + +DESCRIPTION +----------- +This command creates an empty git repository - basically a `.git` directory +with subdirectories for `objects`, `refs/heads`, `refs/tags`, and +template files. +An initial `HEAD` file that references the HEAD of the master branch +is also created. + +If the `$GIT_DIR` environment variable is set then it specifies a path +to use instead of `./.git` for the base of the repository. + +If the object storage directory is specified via the `$GIT_OBJECT_DIRECTORY` +environment variable then the sha1 directories are created underneath - +otherwise the default `$GIT_DIR/objects` directory is used. + +Running `git-init` in an existing repository is safe. It will not overwrite +things that are already there. The primary reason for rerunning `git-init` +is to pick up newly added templates. + +Note that `git-init` is the same as `git-init-db`. The command +was primarily meant to initialize the object database, but over +time it has become responsible for setting up the other aspects +of the repository, such as installing the default hooks and +setting the configuration variables. The old name is retained +for backward compatibility reasons. + + +EXAMPLES +-------- + +Start a new git repository for an existing code base:: ++ +---------------- +$ cd /path/to/my/codebase +$ git-init <1> +$ git-add . <2> +---------------- ++ +<1> prepare /path/to/my/codebase/.git directory +<2> add all existing file to the index + + +Author +------ +Written by Linus Torvalds <torvalds@osdl.org> + +Documentation +-------------- +Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>. + +GIT +--- +Part of the gitlink:git[7] suite + diff --git a/Documentation/git-mailinfo.txt b/Documentation/git-mailinfo.txt index ea0a06557..5088bbea8 100644 --- a/Documentation/git-mailinfo.txt +++ b/Documentation/git-mailinfo.txt @@ -33,15 +33,13 @@ OPTIONS format-patch --mbox' output. -u:: - By default, the commit log message, author name and - author email are taken from the e-mail without any - charset conversion, after minimally decoding MIME - transfer encoding. This flag causes the resulting - commit to be encoded in the encoding specified by - i18n.commitencoding configuration (defaults to utf-8) by - transliterating them. - Note that the patch is always used as is without charset - conversion, even with this flag. + The commit log message, author name and author email are + taken from the e-mail, and after minimally decoding MIME + transfer encoding, re-coded in UTF-8 by transliterating + them. This used to be optional but now it is the default. ++ +Note that the patch is always used as-is without charset +conversion, even with this flag. --encoding=<encoding>:: Similar to -u but if the local convention is different diff --git a/Documentation/git-p4import.txt b/Documentation/git-p4import.txt index ee9e8fa90..6edb9f12b 100644 --- a/Documentation/git-p4import.txt +++ b/Documentation/git-p4import.txt @@ -93,7 +93,7 @@ perforce branch into a branch named "jammy", like so: ------------ $ mkdir -p /home/sean/import/jam $ cd /home/sean/import/jam -$ git init-db +$ git init $ git p4import //public/jam jammy ------------ diff --git a/Documentation/git-pack-refs.txt b/Documentation/git-pack-refs.txt index 5da510577..464269fbb 100644 --- a/Documentation/git-pack-refs.txt +++ b/Documentation/git-pack-refs.txt @@ -7,7 +7,7 @@ git-pack-refs - Pack heads and tags for efficient repository access SYNOPSIS -------- -'git-pack-refs' [--all] [--prune] +'git-pack-refs' [--all] [--no-prune] DESCRIPTION ----------- @@ -40,10 +40,11 @@ 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:: +\--no-prune:: + +The command usually removes loose refs under `$GIT_DIR/refs` +hierarchy after packing them. This option tells it not to. -After packing the refs, remove loose refs under `$GIT_DIR/refs` -hierarchy. This should probably become default. Author ------ diff --git a/Documentation/git-prune-packed.txt b/Documentation/git-prune-packed.txt index 234882685..a79193fb0 100644 --- a/Documentation/git-prune-packed.txt +++ b/Documentation/git-prune-packed.txt @@ -9,7 +9,7 @@ residing in a pack file. SYNOPSIS -------- -'git-prune-packed' [-n] +'git-prune-packed' [-n] [-q] DESCRIPTION @@ -32,6 +32,9 @@ OPTIONS Don't actually remove any objects, only show those that would have been removed. +-q:: + Squelch the progress indicator. + Author ------ Written by Linus Torvalds <torvalds@osdl.org> diff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt new file mode 100644 index 000000000..5b93a8c8b --- /dev/null +++ b/Documentation/git-remote.txt @@ -0,0 +1,76 @@ +git-remote(1) +============ + +NAME +---- +git-remote - manage set of tracked repositories + + +SYNOPSIS +-------- +[verse] +'git-remote' +'git-remote' add <name> <url> +'git-remote' show <name> + +DESCRIPTION +----------- + +Manage the set of repositories ("remotes") whose branches you track. + +With no arguments, shows a list of existing remotes. + +In the second form, adds a remote named <name> for the repository at +<url>. The command `git fetch <name>` can then be used to create and +update remote-tracking branches <name>/<branch>. + +In the third form, gives some information about the remote <name>. + +The remote configuration is achieved using the `remote.origin.url` and +`remote.origin.fetch` configuration variables. (See +gitlink:git-repo-config[1]). + +Examples +-------- + +Add a new remote, fetch, and check out a branch from it: + +------------ +$ git remote +origin +$ git branch -r +origin/master +$ git remote add linux-nfs git://linux-nfs.org/pub/nfs-2.6.git +$ git remote +linux-nfs +origin +$ git fetch +* refs/remotes/linux-nfs/master: storing branch 'master' ... + commit: bf81b46 +$ git branch -r +origin/master +linux-nfs/master +$ git checkout -b nfs linux-nfs/master +... +------------ + +See Also +-------- +gitlink:git-fetch[1] +gitlink:git-branch[1] +gitlink:git-repo-config[1] + +Author +------ +Written by Junio Hamano + + +Documentation +-------------- +Documentation by J. Bruce Fields and the git-list <git@vger.kernel.org>. + + +GIT +--- +Part of the gitlink:git[7] suite + diff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt index ce63defff..9ed721118 100644 --- a/Documentation/git-svn.txt +++ b/Documentation/git-svn.txt @@ -139,6 +139,24 @@ manually joining branches on commit. where the repository URL ends and where the repository path begins. +-T<trunk_subdir>:: +--trunk=<trunk_subdir>:: +-t<tags_subdir>:: +--tags=<tags_subdir>:: +-b<branches_subdir>:: +--branches=<branches_subdir>:: + These are the command-line options for multi-init. Each of + these flags can point to a relative repository path + (--tags=project/tags') or a full url + (--tags=https://foo.org/project/tags) + +--prefix=<prefix> + This allows one to specify a prefix which is prepended to the + names of remotes. The prefix does not automatically include a + trailing slash, so be sure you include one in the argument if + that is what you want. This is useful if you wish to track + multiple projects that share a common repository. + 'multi-fetch':: This runs fetch on all known SVN branches we're tracking. This will NOT discover new branches (unlike git-svnimport), so @@ -153,7 +171,7 @@ OPTIONS --shared:: --template=<template_directory>:: Only used with the 'init' command. - These are passed directly to gitlink:git-init-db[1]. + These are passed directly to gitlink:git-init[1]. -r <ARG>:: --revision <ARG>:: @@ -231,8 +249,7 @@ repo-config key: svn.authorsfile -q:: --quiet:: - Make git-svn less verbose. This only affects git-svn if you - have the SVN::* libraries installed and are using them. + Make git-svn less verbose. --repack[=<n>]:: --repack-flags=<flags> @@ -303,8 +320,6 @@ for more information on using GIT_SVN_ID. started tracking a branch and never tracked the trunk it was descended from. - This relies on the SVN::* libraries to work. - repo-config key: svn.followparent --no-metadata:: @@ -332,25 +347,6 @@ Run this if you used an old version of git-svn that used "git-svn-HEAD" instead of "remotes/git-svn" as the branch for tracking the remote. ---no-ignore-externals:: -Only used with the 'fetch' and 'rebuild' command. - -This command has no effect when you are using the SVN::* -libraries with git, svn:externals are always avoided. - -By default, git-svn passes --ignore-externals to svn to avoid -fetching svn:external trees into git. Pass this flag to enable -externals tracking directly via git. - -Versions of svn that do not support --ignore-externals are -automatically detected and this flag will be automatically -enabled for them. - -Otherwise, do not enable this flag unless you know what you're -doing. - -repo-config key: svn.noignoreexternals - --ignore-nodate:: Only used with the 'fetch' command. @@ -371,7 +367,7 @@ Basic Examples Tracking and contributing to a the trunk of a Subversion-managed project: ------------------------------------------------------------------------ -# Initialize a repo (like git init-db): +# Initialize a repo (like git init): git-svn init http://svn.foo.org/project/trunk # Fetch remote revisions: git-svn fetch @@ -392,7 +388,7 @@ See also: '<<tracking-multiple-repos,Tracking Multiple Repositories or Branches>>' ------------------------------------------------------------------------ -# Initialize a repo (like git init-db): +# Initialize a repo (like git init): git-svn multi-init http://svn.foo.org/project \ -T trunk -b branches -t tags # Fetch remote revisions: @@ -468,49 +464,18 @@ This allows you to tie unfetched SVN revision 375 to your current HEAD: git-svn fetch 375=$(git-rev-parse HEAD) ------------------------------------------------ -Advanced Example: Tracking a Reorganized Repository -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Note: this example is now obsolete if you have SVN::* libraries -installed. Simply use --follow-parent when fetching. - If you're tracking a directory that has moved, or otherwise been branched or tagged off of another directory in the repository and you -care about the full history of the project, then you can read this -section. - -This is how Yann Dirson tracked the trunk of the ufoai directory when -the /trunk directory of his repository was moved to /ufoai/trunk and -he needed to continue tracking /ufoai/trunk where /trunk left off. +care about the full history of the project, then you can use +the --follow-parent option. ------------------------------------------------------------------------- - # This log message shows when the repository was reorganized: - r166 | ydirson | 2006-03-02 01:36:55 +0100 (Thu, 02 Mar 2006) | 1 line - Changed paths: - D /trunk - A /ufoai/trunk (from /trunk:165) - - # First we start tracking the old revisions: - GIT_SVN_ID=git-oldsvn git-svn init \ - https://svn.sourceforge.net/svnroot/ufoai/trunk - GIT_SVN_ID=git-oldsvn git-svn fetch -r1:165 - - # And now, we continue tracking the new revisions: - GIT_SVN_ID=git-newsvn git-svn init \ - https://svn.sourceforge.net/svnroot/ufoai/ufoai/trunk - GIT_SVN_ID=git-newsvn git-svn fetch \ - 166=`git-rev-parse refs/remotes/git-oldsvn` ------------------------------------------------------------------------- +------------------------------------------------ + git-svn fetch --follow-parent +------------------------------------------------ BUGS ---- -If you are not using the SVN::* Perl libraries and somebody commits a -conflicting changeset to SVN at a bad moment (right before you commit) -causing a conflict and your commit to fail, your svn working tree -($GIT_DIR/git-svn/tree) may be dirtied. The easiest thing to do is -probably just to rm -rf $GIT_DIR/git-svn/tree and run 'rebuild'. You -can avoid this problem entirely by using 'dcommit'. - We ignore all SVN properties except svn:executable. Too difficult to map them since we rely heavily on git write-tree being _exactly_ the same on both the SVN and git working trees and I prefer not to clutter diff --git a/Documentation/git.txt b/Documentation/git.txt index 36b2126d8..f89d745ef 100644 --- a/Documentation/git.txt +++ b/Documentation/git.txt @@ -353,8 +353,8 @@ gitlink:git-hash-object[1]:: gitlink:git-index-pack[1]:: Build pack idx file for an existing packed archive. -gitlink:git-init-db[1]:: - Creates an empty git object database, or reinitialize an +gitlink:git-init[1]:: + Creates an empty git repository, or reinitialize an existing one. gitlink:git-merge-file[1]:: diff --git a/Documentation/glossary.txt b/Documentation/glossary.txt index 7c1a6592c..bc917bbac 100644 --- a/Documentation/glossary.txt +++ b/Documentation/glossary.txt @@ -235,8 +235,11 @@ push:: local head, the push fails. reachable:: - An object is reachable from a ref/commit/tree/tag, if there is a - chain leading from the latter to the former. + All of the ancestors of a given commit are said to be reachable from + that commit. More generally, one object is reachable from another if + we can reach the one from the other by a chain that follows tags to + whatever they tag, commits to their parents or trees, and trees to the + trees or blobs that they contain. rebase:: To clean a branch by starting from the head of the main line of @@ -256,7 +259,7 @@ refspec:: means "grab the master branch head from the $URL and store it as my origin branch head". And `git push $URL refs/heads/master:refs/heads/to-upstream` - means "publish my master branch head as to-upstream master head + means "publish my master branch head as to-upstream branch at $URL". See also gitlink:git-push[1] repository:: diff --git a/Documentation/hooks.txt b/Documentation/hooks.txt index 161123f14..e3b76f96e 100644 --- a/Documentation/hooks.txt +++ b/Documentation/hooks.txt @@ -3,7 +3,7 @@ Hooks used by git Hooks are little scripts you can place in `$GIT_DIR/hooks` directory to trigger action at certain points. When -`git-init-db` is run, a handful example hooks are copied in the +`git-init` is run, a handful example hooks are copied in the `hooks` directory of the new repository, but by default they are all disabled. To enable a hook, make it executable with `chmod +x`. diff --git a/Documentation/howto/setup-git-server-over-http.txt b/Documentation/howto/setup-git-server-over-http.txt index ba191569a..a202f3a46 100644 --- a/Documentation/howto/setup-git-server-over-http.txt +++ b/Documentation/howto/setup-git-server-over-http.txt @@ -70,7 +70,7 @@ DocumentRoot /where/ever/httpd.conf" to find your root: Initialize a bare repository $ cd my-new-repo.git - $ git --bare init-db + $ git --bare init Change the ownership to your web-server's credentials. Use "grep ^User diff --git a/Documentation/repository-layout.txt b/Documentation/repository-layout.txt index e20fb7e74..0fdd36614 100644 --- a/Documentation/repository-layout.txt +++ b/Documentation/repository-layout.txt @@ -102,7 +102,7 @@ branches:: hooks:: Hooks are customization scripts used by various git commands. A handful of sample hooks are installed when - `git init-db` is run, but all of them are disabled by + `git init` is run, but all of them are disabled by default. To enable, they need to be made executable. Read link:hooks.html[hooks] for more details about each hook. diff --git a/Documentation/tutorial-2.txt b/Documentation/tutorial-2.txt index 60e54777d..f48894c9a 100644 --- a/Documentation/tutorial-2.txt +++ b/Documentation/tutorial-2.txt @@ -17,7 +17,7 @@ Let's start a new project and create a small amount of history: ------------------------------------------------ $ mkdir test-project $ cd test-project -$ git init-db +$ git init Initialized empty Git repository in .git/ $ echo 'hello world' > file.txt $ git add . diff --git a/Documentation/tutorial.txt b/Documentation/tutorial.txt index 01d4a47a9..d2bf0b905 100644 --- a/Documentation/tutorial.txt +++ b/Documentation/tutorial.txt @@ -32,7 +32,7 @@ can place it under git revision control as follows. ------------------------------------------------ $ tar xzf project.tar.gz $ cd project -$ git init-db +$ git init ------------------------------------------------ Git will reply |