mirror of
https://github.com/git/git.git
synced 2026-03-13 10:23:30 +01:00
Merge branch 'master' of git://repo.or.cz/alt-git
This commit is contained in:
43
Documentation/RelNotes-1.5.4.6.txt
Normal file
43
Documentation/RelNotes-1.5.4.6.txt
Normal file
@@ -0,0 +1,43 @@
|
||||
GIT v1.5.4.6 Release Notes
|
||||
==========================
|
||||
|
||||
I personally do not think there is any reason anybody should want to
|
||||
run v1.5.4.X series these days, because 'master' version is always
|
||||
more stable than any tagged released version of git.
|
||||
|
||||
This is primarily to futureproof "git-shell" to accept requests
|
||||
without a dash between "git" and subcommand name (e.g. "git
|
||||
upload-pack") which the newer client will start to make sometime in
|
||||
the future.
|
||||
|
||||
Fixes since v1.5.4.5
|
||||
--------------------
|
||||
|
||||
* Command line option "-n" to "git-repack" was not correctly parsed.
|
||||
|
||||
* Error messages from "git-apply" when the patchfile cannot be opened
|
||||
have been improved.
|
||||
|
||||
* Error messages from "git-bisect" when given nonsense revisions have
|
||||
been improved.
|
||||
|
||||
* reflog syntax that uses time e.g. "HEAD@{10 seconds ago}:path" did not
|
||||
stop parsing at the closing "}".
|
||||
|
||||
* "git rev-parse --symbolic-full-name ^master^2" printed solitary "^",
|
||||
but it should print nothing.
|
||||
|
||||
* "git apply" did not enforce "match at the beginning" correctly.
|
||||
|
||||
* a path specification "a/b" in .gitattributes file should not match
|
||||
"sub/a/b", but it did.
|
||||
|
||||
* "git log --date-order --topo-order" did not override the earlier
|
||||
date-order with topo-order as expected.
|
||||
|
||||
* "git fast-export" did not export octopus merges correctly.
|
||||
|
||||
* "git archive --prefix=$path/" mishandled gitattributes.
|
||||
|
||||
As usual, it also comes with many documentation fixes and clarifications.
|
||||
|
||||
11
Documentation/RelNotes-1.5.5.5.txt
Normal file
11
Documentation/RelNotes-1.5.5.5.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
GIT v1.5.5.5 Release Notes
|
||||
==========================
|
||||
|
||||
I personally do not think there is any reason anybody should want to
|
||||
run v1.5.5.X series these days, because 'master' version is always
|
||||
more stable than any tagged released version of git.
|
||||
|
||||
This is primarily to futureproof "git-shell" to accept requests
|
||||
without a dash between "git" and subcommand name (e.g. "git
|
||||
upload-pack") which the newer client will start to make sometime in
|
||||
the future.
|
||||
28
Documentation/RelNotes-1.5.6.1.txt
Normal file
28
Documentation/RelNotes-1.5.6.1.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
GIT v1.5.6.1 Release Notes
|
||||
==========================
|
||||
|
||||
Fixes since v1.5.6
|
||||
------------------
|
||||
|
||||
* Last minute change broke loose object creation on AIX.
|
||||
|
||||
* (performance fix) We used to make $GIT_DIR absolute path early in the
|
||||
programs but keeping it relative to the current directory internally
|
||||
gives 1-3 per-cent performance boost.
|
||||
|
||||
* bash completion knows the new --graph option to git-log family.
|
||||
|
||||
|
||||
* git-diff -c/--cc showed unnecessary "deletion" lines at the context
|
||||
boundary.
|
||||
|
||||
* git-for-each-ref ignored %(object) and %(type) requests for tag
|
||||
objects.
|
||||
|
||||
* git-merge usage had a typo.
|
||||
|
||||
* Rebuilding of git-svn metainfo database did not take rewriteRoot
|
||||
option into account.
|
||||
|
||||
* Running "git-rebase --continue/--skip/--abort" before starting a
|
||||
rebase gave nonsense error messages.
|
||||
31
Documentation/RelNotes-1.5.6.2.txt
Normal file
31
Documentation/RelNotes-1.5.6.2.txt
Normal file
@@ -0,0 +1,31 @@
|
||||
GIT v1.5.6.2 Release Notes
|
||||
==========================
|
||||
|
||||
Futureproof
|
||||
-----------
|
||||
|
||||
* "git-shell" accepts requests without a dash between "git" and
|
||||
subcommand name (e.g. "git upload-pack") which the newer client will
|
||||
start to make sometime in the future.
|
||||
|
||||
Fixes since v1.5.6.1
|
||||
--------------------
|
||||
|
||||
* Optimization for a large import via "git-svn" introduced in v1.5.6 had a
|
||||
serious memory and temporary file leak, which made it unusable for
|
||||
moderately large import.
|
||||
|
||||
* "git-svn" mangled remote nickname used in the configuration file
|
||||
unnecessarily.
|
||||
|
||||
* "git diff --check" did not report the result via its exit status
|
||||
reliably.
|
||||
|
||||
* "git show" segfaulted when an annotated tag that points at another
|
||||
annotated tag was given to it.
|
||||
|
||||
--
|
||||
exec >/var/tmp/1
|
||||
echo O=$(git describe maint)
|
||||
O=v1.5.6.1-13-g4f3dcc2
|
||||
git shortlog --no-merges $O..maint
|
||||
134
Documentation/RelNotes-1.6.0.txt
Normal file
134
Documentation/RelNotes-1.6.0.txt
Normal file
@@ -0,0 +1,134 @@
|
||||
GIT v1.6.0 Release Notes
|
||||
========================
|
||||
|
||||
User visible changes
|
||||
--------------------
|
||||
|
||||
With the default Makefile settings, most of the programs are now
|
||||
installed outside your $PATH, except for "git", "gitk", "git-gui" and
|
||||
some server side programs that need to be accessible for technical
|
||||
reasons. Invoking a git subcommand as "git-xyzzy" from the command
|
||||
line has been deprecated since early 2006 (and officially announced in
|
||||
1.5.4 release notes); use of them from your scripts after adding
|
||||
output from "git --exec-path" to the $PATH is still supported in this
|
||||
release, but users are again strongly encouraged to adjust their
|
||||
scripts to use "git xyzzy" form, as we will stop installing
|
||||
"git-xyzzy" hardlinks for built-in commands in later releases.
|
||||
|
||||
Source changes needed for porting to MinGW environment are now all in the
|
||||
main git.git codebase.
|
||||
|
||||
By default, packfiles created with this version uses delta-base-offset
|
||||
encoding introduced in v1.4.4. Pack idx files are using version 2 that
|
||||
allows larger packs and added robustness thanks to its CRC checking,
|
||||
introduced in v1.5.2.
|
||||
|
||||
|
||||
Updates since v1.5.6
|
||||
--------------------
|
||||
|
||||
(subsystems)
|
||||
|
||||
* git-p4 in contrib learned "allowSubmit" configuration to control on
|
||||
which branch to allow "submit" subcommand.
|
||||
|
||||
(portability)
|
||||
|
||||
* Sample hook scripts shipped in templates/ are now suffixed with
|
||||
*.sample. We used to prevent them from triggering by default by
|
||||
relying on the fact that we install them as unexecutable, but on
|
||||
some filesystems this approach does not work. Instead of running
|
||||
"chmod +x" on them, the users who want to activate these samples
|
||||
as-is can now rename them dropping *.sample suffix.
|
||||
|
||||
* perl's in-place edit (-i) does not work well without backup files on Windows;
|
||||
some tests are rewritten to cope with this.
|
||||
|
||||
(documentation)
|
||||
|
||||
* Updated howto/update-hook-example
|
||||
|
||||
* Got rid of usage of "git-foo" from the tutorial.
|
||||
|
||||
* Disambiguating "--" between revs and paths is finally documented.
|
||||
|
||||
(performance, robustness, sanity etc.)
|
||||
|
||||
* even more documentation pages are now accessible via "man" and "git help".
|
||||
|
||||
* reduced excessive inlining to shrink size of the "git" binary.
|
||||
|
||||
* verify-pack checks the object CRC when using version 2 idx files.
|
||||
|
||||
* When an object is corrupt in a pack, the object became unusable even
|
||||
when the same object is available in a loose form, We now try harder to
|
||||
fall back to these redundant objects when able. In particular, "git
|
||||
repack -a -f" can be used to fix such a corruption as long as necessary
|
||||
objects are available.
|
||||
|
||||
* git-clone does not create refs in loose form anymore (it behaves as
|
||||
if you immediately ran git-pack-refs after cloning). This will help
|
||||
repositories with insanely large number of refs.
|
||||
|
||||
* core.fsyncobjectfiles configuration can be used to ensure that the loose
|
||||
objects created will be fsync'ed (this is only useful on filesystems
|
||||
that does not order data writes properly).
|
||||
|
||||
* "git commit-tree" plumbing can make Octopus with more than 16 parents.
|
||||
"git commit" has been capable of this for quite some time.
|
||||
|
||||
(usability, bells and whistles)
|
||||
|
||||
* git-apply can handle a patch that touches the same path more than once
|
||||
much better than before.
|
||||
|
||||
* git-apply can be told not to trust the line counts recorded in the input
|
||||
patch but recount, with the new --recount option.
|
||||
|
||||
* git-archive can be told to omit certain paths from its output using
|
||||
export-ignore attributes.
|
||||
|
||||
* git-clone can clone from a remote whose URL would be rewritten by
|
||||
configuration stored in $HOME/.gitconfig now.
|
||||
|
||||
* git-diff --check now checks leftover merge conflict markers.
|
||||
|
||||
* When remote side used to have branch 'foo' and git-fetch finds that now
|
||||
it has branch 'foo/bar', it refuses to lose the existing remote tracking
|
||||
branch and its reflog. The error message has been improved to suggest
|
||||
pruning the remote if the user wants to proceed and get the latest set
|
||||
of branches from the remote, including such 'foo/bar'.
|
||||
|
||||
* fast-export learned to export and import marks file; this can be used to
|
||||
interface with fast-import incrementally.
|
||||
|
||||
* Original SHA-1 value for "update-ref -d" is optional now.
|
||||
|
||||
* git-send-mail can talk not just over SSL but over TLS now.
|
||||
|
||||
* You can tell "git status -u" to even more aggressively omit checking
|
||||
untracked files with --untracked-files=no.
|
||||
|
||||
* Error codes from gitweb are made more descriptive where possible, rather
|
||||
than "403 forbidden" as we used to issue everywhere.
|
||||
|
||||
(internal)
|
||||
|
||||
|
||||
Fixes since v1.5.6
|
||||
------------------
|
||||
|
||||
All of the fixes in v1.5.6 maintenance series are included in
|
||||
this release, unless otherwise noted.
|
||||
|
||||
* diff -c/--cc showed unnecessary "deletion" lines at the context
|
||||
boundary (needs backmerge to maint).
|
||||
|
||||
* "git-clone <src> <dst>" did not create leading directories for <dst>
|
||||
like the scripted version used to do (needs backport to maint).
|
||||
|
||||
---
|
||||
exec >/var/tmp/1
|
||||
O=v1.5.6.1-155-gaa0c1f2
|
||||
echo O=$(git describe refs/heads/master)
|
||||
git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint
|
||||
@@ -419,6 +419,11 @@ settings but I haven't tried, yet.
|
||||
mail.identity.default.compose_html => false
|
||||
mail.identity.id?.compose_html => false
|
||||
|
||||
(Lukas Sandström)
|
||||
|
||||
There is a script in contrib/thunderbird-patch-inline which can help
|
||||
you include patches with Thunderbird in an easy way. To use it, do the
|
||||
steps above and then use the script as the external editor.
|
||||
|
||||
Gnus
|
||||
----
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
# the command.
|
||||
|
||||
[attributes]
|
||||
asterisk=*
|
||||
plus=+
|
||||
caret=^
|
||||
startsb=[
|
||||
|
||||
@@ -372,6 +372,14 @@ core.whitespace::
|
||||
does not trigger if the character before such a carriage-return
|
||||
is not a whitespace (not enabled by default).
|
||||
|
||||
core.fsyncobjectfiles::
|
||||
This boolean will enable 'fsync()' when writing object files.
|
||||
+
|
||||
This is a total waste of time and effort on a filesystem that orders
|
||||
data writes properly, but can be useful for filesystems that do not use
|
||||
journalling (traditional UNIX filesystems) or that only journal metadata
|
||||
and not file contents (OS X's HFS+, or Linux ext3 with "data=writeback").
|
||||
|
||||
alias.*::
|
||||
Command aliases for the linkgit:git[1] command wrapper - e.g.
|
||||
after defining "alias.last = cat-file commit HEAD", the invocation
|
||||
@@ -937,9 +945,17 @@ pack.indexVersion::
|
||||
legacy pack index used by Git versions prior to 1.5.2, and 2 for
|
||||
the new pack index with capabilities for packs larger than 4 GB
|
||||
as well as proper protection against the repacking of corrupted
|
||||
packs. Version 2 is selected and this config option ignored
|
||||
whenever the corresponding pack is larger than 2 GB. Otherwise
|
||||
the default is 1.
|
||||
packs. Version 2 is the default. Note that version 2 is enforced
|
||||
and this config option ignored whenever the corresponding pack is
|
||||
larger than 2 GB.
|
||||
+
|
||||
If you have an old git that does not understand the version 2 `{asterisk}.idx` file,
|
||||
cloning or fetching over a non native protocol (e.g. "http" and "rsync")
|
||||
that will copy both `{asterisk}.pack` file and corresponding `{asterisk}.idx` file from the
|
||||
other side may give you a repository that cannot be accessed with your
|
||||
older version of git. If the `{asterisk}.pack` file is smaller than 2 GB, however,
|
||||
you can use linkgit:git-index-pack[1] on the *.pack file to regenerate
|
||||
the `{asterisk}.idx` file.
|
||||
|
||||
pack.packSizeLimit::
|
||||
The default maximum size of a pack. This setting only affects
|
||||
@@ -996,12 +1012,12 @@ remotes.<group>::
|
||||
<group>". See linkgit:git-remote[1].
|
||||
|
||||
repack.usedeltabaseoffset::
|
||||
Allow linkgit:git-repack[1] to create packs that uses
|
||||
delta-base offset. Defaults to false.
|
||||
|
||||
show.difftree::
|
||||
The default linkgit:git-diff-tree[1] arguments to be used
|
||||
for linkgit:git-show[1].
|
||||
By default, linkgit:git-repack[1] creates packs that use
|
||||
delta-base offset. If you need to share your repository with
|
||||
git older than version 1.4.4, either directly or via a dumb
|
||||
protocol such as http, then you need to set this option to
|
||||
"false" and repack. Access from old git versions over the
|
||||
native protocol are unaffected by this option.
|
||||
|
||||
showbranch.default::
|
||||
The default set of branches for linkgit:git-show-branch[1].
|
||||
@@ -1013,6 +1029,25 @@ status.relativePaths::
|
||||
relative to the repository root (this was the default for git
|
||||
prior to v1.5.4).
|
||||
|
||||
status.showUntrackedFiles::
|
||||
By default, linkgit:git-status[1] and linkgit:git-commit[1] show
|
||||
files which are not currently tracked by Git. Directories which
|
||||
contain only untracked files, are shown with the directory name
|
||||
only. Showing untracked files means that Git needs to lstat() all
|
||||
all the files in the whole repository, which might be slow on some
|
||||
systems. So, this variable controls how the commands displays
|
||||
the untracked files. Possible values are:
|
||||
+
|
||||
--
|
||||
- 'no' - Show no untracked files
|
||||
- 'normal' - Shows untracked files and directories
|
||||
- 'all' - Shows also individual files in untracked directories.
|
||||
--
|
||||
+
|
||||
If this variable is not specified, it defaults to 'normal'.
|
||||
This variable can be overridden with the -u|--untracked-files option
|
||||
of linkgit:git-status[1] and linkgit:git-commit[1].
|
||||
|
||||
tar.umask::
|
||||
This variable can be used to restrict the permission bits of
|
||||
tar archive entries. The default is 0002, which turns off the
|
||||
@@ -1048,10 +1083,6 @@ user.signingkey::
|
||||
unchanged to gpg's --local-user parameter, so you may specify a key
|
||||
using any method that gpg supports.
|
||||
|
||||
whatchanged.difftree::
|
||||
The default linkgit:git-diff-tree[1] arguments to be used
|
||||
for linkgit:git-whatchanged[1].
|
||||
|
||||
imap::
|
||||
The configuration variables in the 'imap' section are described
|
||||
in linkgit:git-imap-send[1].
|
||||
|
||||
@@ -241,4 +241,4 @@ endif::git-format-patch[]
|
||||
Do not show any source or destination prefix.
|
||||
|
||||
For more detailed explanation on these common options, see also
|
||||
linkgit:gitdiffcore[7][diffcore documentation].
|
||||
linkgit:gitdiffcore[7].
|
||||
|
||||
@@ -8,7 +8,7 @@ git-add - Add file contents to the index
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-add' [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p]
|
||||
'git add' [-n] [-v] [--force | -f] [--interactive | -i] [--patch | -p]
|
||||
[--update | -u] [--refresh] [--ignore-errors] [--]
|
||||
<filepattern>...
|
||||
|
||||
@@ -107,7 +107,7 @@ Configuration
|
||||
The optional configuration variable 'core.excludesfile' indicates a path to a
|
||||
file containing patterns of file names to exclude from git-add, similar to
|
||||
$GIT_DIR/info/exclude. Patterns in the exclude file are used in addition to
|
||||
those in info/exclude. See linkgit:gitrepository-layout[5][repository layout].
|
||||
those in info/exclude. See linkgit:gitrepository-layout[5].
|
||||
|
||||
|
||||
EXAMPLES
|
||||
|
||||
@@ -9,11 +9,11 @@ git-am - Apply a series of patches from a mailbox
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-am' [--signoff] [--keep] [--utf8 | --no-utf8]
|
||||
'git am' [--signoff] [--keep] [--utf8 | --no-utf8]
|
||||
[--3way] [--interactive] [--binary]
|
||||
[--whitespace=<option>] [-C<n>] [-p<n>]
|
||||
<mbox>|<Maildir>...
|
||||
'git-am' [--skip | --resolved]
|
||||
'git am' [--skip | --resolved]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
@@ -7,7 +7,7 @@ git-annotate - Annotate file lines with commit info
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
git-annotate [options] file [revision]
|
||||
'git annotate' [options] file [revision]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
@@ -9,10 +9,10 @@ git-apply - Apply a patch on a git index file and a working tree
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-apply' [--stat] [--numstat] [--summary] [--check] [--index]
|
||||
'git apply' [--stat] [--numstat] [--summary] [--check] [--index]
|
||||
[--apply] [--no-add] [--build-fake-ancestor <file>] [-R | --reverse]
|
||||
[--allow-binary-replacement | --binary] [--reject] [-z]
|
||||
[-pNUM] [-CNUM] [--inaccurate-eof] [--cached]
|
||||
[-pNUM] [-CNUM] [--inaccurate-eof] [--recount] [--cached]
|
||||
[--whitespace=<nowarn|warn|fix|error|error-all>]
|
||||
[--exclude=PATH] [--verbose] [<patch>...]
|
||||
|
||||
@@ -64,7 +64,7 @@ OPTIONS
|
||||
without using the working tree. This implies '--index'.
|
||||
|
||||
--build-fake-ancestor <file>::
|
||||
Newer git-diff output has embedded 'index information'
|
||||
Newer `git-diff` output has embedded 'index information'
|
||||
for each blob to help identify the original version that
|
||||
the patch applies to. When this flag is given, and if
|
||||
the original versions of the blobs is available locally,
|
||||
@@ -78,7 +78,7 @@ the information is read from the current index instead.
|
||||
Apply the patch in reverse.
|
||||
|
||||
--reject::
|
||||
For atomicity, linkgit:git-apply[1] by default fails the whole patch and
|
||||
For atomicity, `git-apply` by default fails the whole patch and
|
||||
does not touch the working tree when some of the hunks
|
||||
do not apply. This option makes it apply
|
||||
the parts of the patch that are applicable, and leave the
|
||||
@@ -102,7 +102,7 @@ the information is read from the current index instead.
|
||||
ever ignored.
|
||||
|
||||
--unidiff-zero::
|
||||
By default, linkgit:git-apply[1] expects that the patch being
|
||||
By default, `git-apply` expects that the patch being
|
||||
applied is a unified diff with at least one line of context.
|
||||
This provides good safety measures, but breaks down when
|
||||
applying a diff generated with --unified=0. To bypass these
|
||||
@@ -113,7 +113,7 @@ discouraged.
|
||||
|
||||
--apply::
|
||||
If you use any of the options marked "Turns off
|
||||
'apply'" above, linkgit:git-apply[1] reads and outputs the
|
||||
'apply'" above, `git-apply` reads and outputs the
|
||||
information you asked without actually applying the
|
||||
patch. Give this flag after those flags to also apply
|
||||
the patch.
|
||||
@@ -147,7 +147,7 @@ discouraged.
|
||||
considered whitespace errors.
|
||||
+
|
||||
By default, the command outputs warning messages but applies the patch.
|
||||
When linkgit:git-apply[1] is used for statistics and not applying a
|
||||
When `git-apply is used for statistics and not applying a
|
||||
patch, it defaults to `nowarn`.
|
||||
+
|
||||
You can use different `<action>` to control this
|
||||
@@ -177,6 +177,11 @@ behavior:
|
||||
current patch being applied will be printed. This option will cause
|
||||
additional information to be reported.
|
||||
|
||||
--recount::
|
||||
Do not trust the line counts in the hunk headers, but infer them
|
||||
by inspecting the patch (e.g. after editing the patch without
|
||||
adjusting the hunk headers appropriately).
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
@@ -186,7 +191,7 @@ apply.whitespace::
|
||||
|
||||
Submodules
|
||||
----------
|
||||
If the patch contains any changes to submodules then linkgit:git-apply[1]
|
||||
If the patch contains any changes to submodules then `git-apply`
|
||||
treats these changes as follows.
|
||||
|
||||
If --index is specified (explicitly or implicitly), then the submodule
|
||||
|
||||
@@ -9,7 +9,7 @@ git-archimport - Import an Arch repository into git
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]
|
||||
'git archimport' [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]
|
||||
<archive/branch>[:<git-branch>] ...
|
||||
|
||||
DESCRIPTION
|
||||
@@ -34,12 +34,12 @@ Arch repository.
|
||||
Make sure you have a recent version of `tla` available in the path. `tla` must
|
||||
know about the repositories you pass to `git-archimport`.
|
||||
|
||||
For the initial import `git-archimport` expects to find itself in an empty
|
||||
For the initial import, `git-archimport` expects to find itself in an empty
|
||||
directory. To follow the development of a project that uses Arch, rerun
|
||||
`git-archimport` with the same parameters as the initial import to perform
|
||||
incremental imports.
|
||||
|
||||
While git-archimport will try to create sensible branch names for the
|
||||
While `git-archimport` will try to create sensible branch names for the
|
||||
archives that it imports, it is also possible to specify git branch names
|
||||
manually. To do so, write a git branch name after each <archive/branch>
|
||||
parameter, separated by a colon. This way, you can shorten the Arch
|
||||
@@ -84,7 +84,7 @@ OPTIONS
|
||||
|
||||
-o::
|
||||
Use this for compatibility with old-style branch names used by
|
||||
earlier versions of git-archimport. Old-style branch names
|
||||
earlier versions of `git-archimport`. Old-style branch names
|
||||
were category--branch, whereas new-style branch names are
|
||||
archive,category--branch--version. In both cases, names given
|
||||
on the command-line will override the automatically-generated
|
||||
|
||||
@@ -9,7 +9,7 @@ git-archive - Create an archive of files from a named tree
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-archive' --format=<fmt> [--list] [--prefix=<prefix>/] [<extra>]
|
||||
'git archive' --format=<fmt> [--list] [--prefix=<prefix>/] [<extra>]
|
||||
[--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish>
|
||||
[path...]
|
||||
|
||||
@@ -20,13 +20,13 @@ structure for the named tree, and writes it out to the standard
|
||||
output. If <prefix> is specified it is
|
||||
prepended to the filenames in the archive.
|
||||
|
||||
'git-archive' behaves differently when given a tree ID versus when
|
||||
`git-archive` behaves differently when given a tree ID versus when
|
||||
given a commit ID or tag ID. In the first case the current time is
|
||||
used as modification time of each file in the archive. In the latter
|
||||
case the commit time as recorded in the referenced commit object is
|
||||
used instead. Additionally the commit ID is stored in a global
|
||||
extended pax header if the tar format is used; it can be extracted
|
||||
using 'git-get-tar-commit-id'. In ZIP files it is stored as a file
|
||||
using `git-get-tar-commit-id`. In ZIP files it is stored as a file
|
||||
comment.
|
||||
|
||||
OPTIONS
|
||||
@@ -57,7 +57,7 @@ OPTIONS
|
||||
|
||||
--exec=<git-upload-archive>::
|
||||
Used with --remote to specify the path to the
|
||||
git-upload-archive executable on the remote side.
|
||||
`git-upload-archive` on the remote side.
|
||||
|
||||
<tree-ish>::
|
||||
The tree or commit to produce an archive for.
|
||||
|
||||
@@ -26,7 +26,7 @@ on the subcommand:
|
||||
git bisect log
|
||||
git bisect run <cmd>...
|
||||
|
||||
This command uses 'git-rev-list --bisect' option to help drive the
|
||||
This command uses `git rev-list --bisect` to help drive the
|
||||
binary search process to find which change introduced a bug, given an
|
||||
old "good" commit object name and a later "bad" commit object name.
|
||||
|
||||
@@ -215,13 +215,13 @@ tweaks (e.g., s/#define DEBUG 0/#define DEBUG 1/ in a header file, or
|
||||
work around other problem this bisection is not interested in")
|
||||
applied to the revision being tested.
|
||||
|
||||
To cope with such a situation, after the inner git-bisect finds the
|
||||
To cope with such a situation, after the inner `git-bisect` finds the
|
||||
next revision to test, with the "run" script, you can apply that tweak
|
||||
before compiling, run the real test, and after the test decides if the
|
||||
revision (possibly with the needed tweaks) passed the test, rewind the
|
||||
tree to the pristine state. Finally the "run" script can exit with
|
||||
the status of the real test to let "git bisect run" command loop to
|
||||
know the outcome.
|
||||
the status of the real test to let the "git bisect run" command loop to
|
||||
determine the outcome.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
|
||||
@@ -8,7 +8,7 @@ git-blame - Show what revision and author last modified each line of a file
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-blame' [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-p] [-w] [--incremental] [-L n,m]
|
||||
'git blame' [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-p] [-w] [--incremental] [-L n,m]
|
||||
[-S <revs-file>] [-M] [-C] [-C] [--since=<date>]
|
||||
[<rev> | --contents <file>] [--] <file>
|
||||
|
||||
@@ -21,7 +21,7 @@ last modified the line. Optionally, start annotating from the given revision.
|
||||
Also it can limit the range of lines annotated.
|
||||
|
||||
This report doesn't tell you anything about lines which have been deleted or
|
||||
replaced; you need to use a tool such as linkgit:git-diff[1] or the "pickaxe"
|
||||
replaced; you need to use a tool such as `git-diff` or the "pickaxe"
|
||||
interface briefly mentioned in the following paragraph.
|
||||
|
||||
Apart from supporting file annotation, git also supports searching the
|
||||
@@ -49,7 +49,7 @@ include::blame-options.txt[]
|
||||
file (see `-M`). The first number listed is the score.
|
||||
This is the number of alphanumeric characters detected
|
||||
to be moved between or within files. This must be above
|
||||
a certain threshold for git-blame to consider those lines
|
||||
a certain threshold for `git-blame` to consider those lines
|
||||
of code to have been moved.
|
||||
|
||||
-f::
|
||||
|
||||
@@ -8,12 +8,12 @@ git-branch - List, create, or delete branches
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-branch' [--color | --no-color] [-r | -a] [--merged | --no-merged]
|
||||
'git branch' [--color | --no-color] [-r | -a] [--merged | --no-merged]
|
||||
[-v [--abbrev=<length> | --no-abbrev]]
|
||||
[--contains <commit>]
|
||||
'git-branch' [--track | --no-track] [-l] [-f] <branchname> [<start-point>]
|
||||
'git-branch' (-m | -M) [<oldbranch>] <newbranch>
|
||||
'git-branch' (-d | -D) [-r] <branchname>...
|
||||
'git branch' [--track | --no-track] [-l] [-f] <branchname> [<start-point>]
|
||||
'git branch' (-m | -M) [<oldbranch>] <newbranch>
|
||||
'git branch' (-d | -D) [-r] <branchname>...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -37,7 +37,7 @@ working tree to it; use "git checkout <newbranch>" to switch to the
|
||||
new branch.
|
||||
|
||||
When a local branch is started off a remote branch, git sets up the
|
||||
branch so that linkgit:git-pull[1] will appropriately merge from
|
||||
branch so that `git-pull` will appropriately merge from
|
||||
the remote branch. This behavior may be changed via the global
|
||||
`branch.autosetupmerge` configuration flag. That setting can be
|
||||
overridden by using the `--track` and `--no-track` options.
|
||||
@@ -54,7 +54,7 @@ has a reflog then the reflog will also be deleted.
|
||||
|
||||
Use -r together with -d to delete remote-tracking branches. Note, that it
|
||||
only makes sense to delete remote-tracking branches if they no longer exist
|
||||
in remote repository or if linkgit:git-fetch[1] was configured not to fetch
|
||||
in remote repository or if `git-fetch` was configured not to fetch
|
||||
them again. See also 'prune' subcommand of linkgit:git-remote[1] for way to
|
||||
clean up all obsolete remote-tracking branches.
|
||||
|
||||
@@ -107,14 +107,14 @@ OPTIONS
|
||||
Display the full sha1s in output listing rather than abbreviating them.
|
||||
|
||||
--track::
|
||||
When creating a new branch, set up configuration so that git-pull
|
||||
When creating a new branch, set up configuration so that `git-pull`
|
||||
will automatically retrieve data from the start point, which must be
|
||||
a branch. Use this if you always pull from the same upstream branch
|
||||
into the new branch, and if you don't want to use "git pull
|
||||
<repository> <refspec>" explicitly. This behavior is the default
|
||||
when the start point is a remote branch. Set the
|
||||
branch.autosetupmerge configuration variable to `false` if you want
|
||||
git-checkout and git-branch to always behave as if '--no-track' were
|
||||
`git-checkout` and `git-branch` to always behave as if '--no-track' were
|
||||
given. Set it to `always` if you want this behavior when the
|
||||
start-point is either a local or remote branch.
|
||||
|
||||
|
||||
@@ -9,10 +9,10 @@ git-bundle - Move objects and refs by archive
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-bundle' create <file> <git-rev-list args>
|
||||
'git-bundle' verify <file>
|
||||
'git-bundle' list-heads <file> [refname...]
|
||||
'git-bundle' unbundle <file> [refname...]
|
||||
'git bundle' create <file> <git-rev-list args>
|
||||
'git bundle' verify <file>
|
||||
'git bundle' list-heads <file> [refname...]
|
||||
'git bundle' unbundle <file> [refname...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -21,9 +21,9 @@ Some workflows require that one or more branches of development on one
|
||||
machine be replicated on another machine, but the two machines cannot
|
||||
be directly connected so the interactive git protocols (git, ssh,
|
||||
rsync, http) cannot be used. This command provides support for
|
||||
git-fetch and git-pull to operate by packaging objects and references
|
||||
`git-fetch` and `git-pull` to operate by packaging objects and references
|
||||
in an archive at the originating machine, then importing those into
|
||||
another repository using linkgit:git-fetch[1] and linkgit:git-pull[1]
|
||||
another repository using `git-fetch` and `git-pull`
|
||||
after moving the archive by some means (i.e., by sneakernet). As no
|
||||
direct connection between repositories exists, the user must specify a
|
||||
basis for the bundle that is held by the destination repository: the
|
||||
@@ -35,14 +35,14 @@ OPTIONS
|
||||
|
||||
create <file>::
|
||||
Used to create a bundle named 'file'. This requires the
|
||||
git-rev-list arguments to define the bundle contents.
|
||||
`git-rev-list` arguments to define the bundle contents.
|
||||
|
||||
verify <file>::
|
||||
Used to check that a bundle file is valid and will apply
|
||||
cleanly to the current repository. This includes checks on the
|
||||
bundle format itself as well as checking that the prerequisite
|
||||
commits exist and are fully linked in the current repository.
|
||||
git-bundle prints a list of missing commits, if any, and exits
|
||||
`git-bundle` prints a list of missing commits, if any, and exits
|
||||
with non-zero status.
|
||||
|
||||
list-heads <file>::
|
||||
@@ -51,16 +51,15 @@ list-heads <file>::
|
||||
printed out.
|
||||
|
||||
unbundle <file>::
|
||||
Passes the objects in the bundle to linkgit:git-index-pack[1]
|
||||
Passes the objects in the bundle to `git-index-pack`
|
||||
for storage in the repository, then prints the names of all
|
||||
defined references. If a reflist is given, only references
|
||||
matching those in the given list are printed. This command is
|
||||
really plumbing, intended to be called only by
|
||||
linkgit:git-fetch[1].
|
||||
really plumbing, intended to be called only by `git-fetch`.
|
||||
|
||||
[git-rev-list-args...]::
|
||||
A list of arguments, acceptable to git-rev-parse and
|
||||
git-rev-list, that specify the specific objects and references
|
||||
A list of arguments, acceptable to `git-rev-parse` and
|
||||
`git-rev-list`, that specify the specific objects and references
|
||||
to transport. For example, "master~10..master" causes the
|
||||
current master reference to be packaged along with all objects
|
||||
added since its 10th ancestor commit. There is no explicit
|
||||
@@ -70,16 +69,16 @@ unbundle <file>::
|
||||
|
||||
[refname...]::
|
||||
A list of references used to limit the references reported as
|
||||
available. This is principally of use to git-fetch, which
|
||||
available. This is principally of use to `git-fetch`, which
|
||||
expects to receive only those references asked for and not
|
||||
necessarily everything in the pack (in this case, git-bundle is
|
||||
acting like linkgit:git-fetch-pack[1]).
|
||||
necessarily everything in the pack (in this case, `git-bundle` is
|
||||
acting like `git-fetch-pack`).
|
||||
|
||||
SPECIFYING REFERENCES
|
||||
---------------------
|
||||
|
||||
git-bundle will only package references that are shown by
|
||||
git-show-ref: this includes heads, tags, and remote heads. References
|
||||
`git-bundle` will only package references that are shown by
|
||||
`git-show-ref`: this includes heads, tags, and remote heads. References
|
||||
such as master~1 cannot be packaged, but are perfectly suitable for
|
||||
defining the basis. More than one reference may be packaged, and more
|
||||
than one basis can be specified. The objects packaged are those not
|
||||
@@ -116,7 +115,7 @@ We set a tag in R1 (lastR2bundle) after the previous such transport,
|
||||
and move it afterwards to help build the bundle.
|
||||
|
||||
------------
|
||||
$ git-bundle create mybundle master ^lastR2bundle
|
||||
$ git bundle create mybundle master ^lastR2bundle
|
||||
$ git tag -f lastR2bundle master
|
||||
------------
|
||||
|
||||
@@ -141,8 +140,8 @@ $ git bundle create mybundle master -n 10
|
||||
Then you move mybundle from A to B, and in R2 on B:
|
||||
|
||||
------------
|
||||
$ git-bundle verify mybundle
|
||||
$ git-fetch mybundle master:localRef
|
||||
$ git bundle verify mybundle
|
||||
$ git fetch mybundle master:localRef
|
||||
------------
|
||||
|
||||
With something like this in the config in R2:
|
||||
|
||||
@@ -9,8 +9,8 @@ git-cat-file - Provide content or type/size information for repository objects
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-cat-file' [-t | -s | -e | -p | <type>] <object>
|
||||
'git-cat-file' [--batch | --batch-check] < <list-of-objects>
|
||||
'git cat-file' [-t | -s | -e | -p | <type>] <object>
|
||||
'git cat-file' [--batch | --batch-check] < <list-of-objects>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
@@ -8,7 +8,7 @@ git-check-attr - Display gitattributes information.
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-check-attr' attr... [--] pathname...
|
||||
'git check-attr' attr... [--] pathname...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
@@ -7,7 +7,7 @@ git-check-ref-format - Make sure ref name is well formed
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-check-ref-format' <refname>
|
||||
'git check-ref-format' <refname>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -47,7 +47,7 @@ refname expressions (see linkgit:git-rev-parse[1]). Namely:
|
||||
. colon `:` is used as in `srcref:dstref` to mean "use srcref\'s
|
||||
value and store it in dstref" in fetch and push operations.
|
||||
It may also be used to select a specific object such as with
|
||||
linkgit:git-cat-file[1] "git-cat-file blob v1.3.3:refs.c".
|
||||
`git-cat-file`: "git cat-file blob v1.3.3:refs.c".
|
||||
|
||||
|
||||
GIT
|
||||
|
||||
@@ -9,7 +9,7 @@ git-checkout-index - Copy files from the index to the working tree
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-checkout-index' [-u] [-q] [-a] [-f] [-n] [--prefix=<string>]
|
||||
'git checkout-index' [-u] [-q] [-a] [-f] [-n] [--prefix=<string>]
|
||||
[--stage=<number>|all]
|
||||
[--temp]
|
||||
[-z] [--stdin]
|
||||
@@ -73,25 +73,25 @@ OPTIONS
|
||||
|
||||
The order of the flags used to matter, but not anymore.
|
||||
|
||||
Just doing `git-checkout-index` does nothing. You probably meant
|
||||
`git-checkout-index -a`. And if you want to force it, you want
|
||||
`git-checkout-index -f -a`.
|
||||
Just doing `git checkout-index` does nothing. You probably meant
|
||||
`git checkout-index -a`. And if you want to force it, you want
|
||||
`git checkout-index -f -a`.
|
||||
|
||||
Intuitiveness is not the goal here. Repeatability is. The reason for
|
||||
the "no arguments means no work" behavior is that from scripts you are
|
||||
supposed to be able to do:
|
||||
|
||||
----------------
|
||||
$ find . -name '*.h' -print0 | xargs -0 git-checkout-index -f --
|
||||
$ find . -name '*.h' -print0 | xargs -0 git checkout-index -f --
|
||||
----------------
|
||||
|
||||
which will force all existing `*.h` files to be replaced with their
|
||||
cached copies. If an empty command line implied "all", then this would
|
||||
force-refresh everything in the index, which was not the point. But
|
||||
since git-checkout-index accepts --stdin it would be faster to use:
|
||||
since `git-checkout-index` accepts --stdin it would be faster to use:
|
||||
|
||||
----------------
|
||||
$ find . -name '*.h' -print0 | git-checkout-index -f -z --stdin
|
||||
$ find . -name '*.h' -print0 | git checkout-index -f -z --stdin
|
||||
----------------
|
||||
|
||||
The `--` is just a good idea when you know the rest will be filenames;
|
||||
@@ -144,7 +144,7 @@ EXAMPLES
|
||||
To update and refresh only the files already checked out::
|
||||
+
|
||||
----------------
|
||||
$ git-checkout-index -n -f -a && git-update-index --ignore-missing --refresh
|
||||
$ git checkout-index -n -f -a && git update-index --ignore-missing --refresh
|
||||
----------------
|
||||
|
||||
Using `git-checkout-index` to "export an entire tree"::
|
||||
@@ -153,10 +153,10 @@ Using `git-checkout-index` to "export an entire tree"::
|
||||
Just read the desired tree into the index, and do:
|
||||
+
|
||||
----------------
|
||||
$ git-checkout-index --prefix=git-export-dir/ -a
|
||||
$ git checkout-index --prefix=git-export-dir/ -a
|
||||
----------------
|
||||
+
|
||||
`git-checkout-index` will "export" the index into the specified
|
||||
`git checkout-index` will "export" the index into the specified
|
||||
directory.
|
||||
+
|
||||
The final "/" is important. The exported name is literally just
|
||||
@@ -166,7 +166,7 @@ following example.
|
||||
Export files with a prefix::
|
||||
+
|
||||
----------------
|
||||
$ git-checkout-index --prefix=.merged- Makefile
|
||||
$ git checkout-index --prefix=.merged- Makefile
|
||||
----------------
|
||||
+
|
||||
This will check out the currently cached copy of `Makefile`
|
||||
|
||||
@@ -8,8 +8,8 @@ git-checkout - Checkout a branch or paths to the working tree
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-checkout' [-q] [-f] [[--track | --no-track] -b <new_branch> [-l]] [-m] [<branch>]
|
||||
'git-checkout' [<tree-ish>] <paths>...
|
||||
'git checkout' [-q] [-f] [[--track | --no-track] -b <new_branch> [-l]] [-m] [<branch>]
|
||||
'git checkout' [<tree-ish>] <paths>...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -23,7 +23,7 @@ options, which will be passed to `git branch`.
|
||||
|
||||
When <paths> are given, this command does *not* switch
|
||||
branches. It updates the named paths in the working tree from
|
||||
the index file (i.e. it runs `git-checkout-index -f -u`), or
|
||||
the index file (i.e. it runs `git checkout-index -f -u`), or
|
||||
from a named commit. In
|
||||
this case, the `-f` and `-b` options are meaningless and giving
|
||||
either of them results in an error. <tree-ish> argument can be
|
||||
@@ -49,14 +49,14 @@ OPTIONS
|
||||
|
||||
-t::
|
||||
--track::
|
||||
When creating a new branch, set up configuration so that git-pull
|
||||
When creating a new branch, set up configuration so that `git-pull`
|
||||
will automatically retrieve data from the start point, which must be
|
||||
a branch. Use this if you always pull from the same upstream branch
|
||||
into the new branch, and if you don't want to use "git pull
|
||||
<repository> <refspec>" explicitly. This behavior is the default
|
||||
when the start point is a remote branch. Set the
|
||||
branch.autosetupmerge configuration variable to `false` if you want
|
||||
git-checkout and git-branch to always behave as if '--no-track' were
|
||||
`git-checkout` and `git-branch` to always behave as if '--no-track' were
|
||||
given. Set it to `always` if you want this behavior when the
|
||||
start-point is either a local or remote branch.
|
||||
|
||||
@@ -112,7 +112,7 @@ current branch and directly point at the commit named by the tag
|
||||
(`v2.6.18` in the above example).
|
||||
|
||||
You can use usual git commands while in this state. You can use
|
||||
`git-reset --hard $othercommit` to further move around, for
|
||||
`git reset --hard $othercommit` to further move around, for
|
||||
example. You can make changes and create a new commit on top of
|
||||
a detached HEAD. You can even create a merge by using `git
|
||||
merge $othercommit`.
|
||||
|
||||
@@ -7,7 +7,7 @@ git-cherry-pick - Apply the change introduced by an existing commit
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-cherry-pick' [--edit] [-n] [-m parent-number] [-s] [-x] <commit>
|
||||
'git cherry-pick' [--edit] [-n] [-m parent-number] [-s] [-x] <commit>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -19,7 +19,7 @@ OPTIONS
|
||||
-------
|
||||
<commit>::
|
||||
Commit to cherry-pick.
|
||||
For a more complete list of ways to spell commits, see
|
||||
For a more complete list of ways to spell commits, see the
|
||||
"SPECIFYING REVISIONS" section in linkgit:git-rev-parse[1].
|
||||
|
||||
-e::
|
||||
|
||||
@@ -7,14 +7,14 @@ git-cherry - Find commits not merged upstream
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-cherry' [-v] <upstream> [<head>] [<limit>]
|
||||
'git cherry' [-v] <upstream> [<head>] [<limit>]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
The changeset (or "diff") of each commit between the fork-point and <head>
|
||||
is compared against each commit between the fork-point and <upstream>.
|
||||
The commits are compared with their 'patch id', obtained from linkgit:git-patch-id[1]
|
||||
program.
|
||||
The commits are compared with their 'patch id', obtained from
|
||||
the `git-patch-id` program.
|
||||
|
||||
Every commit that doesn't exist in the <upstream> branch
|
||||
has its id (sha1) reported, prefixed by a symbol. The ones that have
|
||||
@@ -37,8 +37,8 @@ to and including <limit> are not reported:
|
||||
\__*__*__<limit>__-__+__> <head>
|
||||
|
||||
|
||||
Because git-cherry compares the changeset rather than the commit id
|
||||
(sha1), you can use git-cherry to find out if a commit you made locally
|
||||
Because `git-cherry` compares the changeset rather than the commit id
|
||||
(sha1), you can use `git-cherry` to find out if a commit you made locally
|
||||
has been applied <upstream> under a different commit id. For example,
|
||||
this will happen if you're feeding patches <upstream> via email rather
|
||||
than pushing or pulling commits directly.
|
||||
|
||||
@@ -14,9 +14,9 @@ DESCRIPTION
|
||||
A Tcl/Tk based graphical interface to review modified files, stage
|
||||
them into the index, enter a commit message and record the new
|
||||
commit onto the current branch. This interface is an alternative
|
||||
to the less interactive linkgit:git-commit[1] program.
|
||||
to the less interactive `git-commit` program.
|
||||
|
||||
git-citool is actually a standard alias for 'git gui citool'.
|
||||
`git-citool` is actually a standard alias for `git gui citool`.
|
||||
See linkgit:git-gui[1] for more details.
|
||||
|
||||
Author
|
||||
|
||||
@@ -8,7 +8,7 @@ git-clean - Remove untracked files from the working tree
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-clean' [-d] [-f] [-n] [-q] [-x | -X] [--] <paths>...
|
||||
'git clean' [-d] [-f] [-n] [-q] [-x | -X] [--] <paths>...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -27,7 +27,7 @@ OPTIONS
|
||||
|
||||
-f::
|
||||
If the git configuration specifies clean.requireForce as true,
|
||||
git-clean will refuse to run unless given -f or -n.
|
||||
`git-clean` will refuse to run unless given -f or -n.
|
||||
|
||||
-n::
|
||||
--dry-run::
|
||||
@@ -41,7 +41,7 @@ OPTIONS
|
||||
-x::
|
||||
Don't use the ignore rules. This allows removing all untracked
|
||||
files, including build products. This can be used (possibly in
|
||||
conjunction with linkgit:git-reset[1]) to create a pristine
|
||||
conjunction with `git-reset`) to create a pristine
|
||||
working directory to test a clean build.
|
||||
|
||||
-X::
|
||||
|
||||
@@ -9,7 +9,7 @@ git-clone - Clone a repository into a new directory
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-clone' [--template=<template_directory>]
|
||||
'git clone' [--template=<template_directory>]
|
||||
[-l] [-s] [--no-hardlinks] [-q] [-n] [--bare]
|
||||
[-o <name>] [-u <upload-pack>] [--reference <repository>]
|
||||
[--depth <depth>] [--] <repository> [<directory>]
|
||||
@@ -68,10 +68,10 @@ it unless you understand what it does. If you clone your
|
||||
repository using this option and then delete branches (or use any
|
||||
other git command that makes any existing commit unreferenced) in the
|
||||
source repository, some objects may become unreferenced (or dangling).
|
||||
These objects may be removed by normal git operations (such as git-commit[1])
|
||||
which automatically call git-gc[1]. If these objects are removed and
|
||||
were referenced by the cloned repository, then the cloned repository
|
||||
will become corrupt.
|
||||
These objects may be removed by normal git operations (such as `git-commit`)
|
||||
which automatically call `git gc --auto`. (See linkgit:git-gc[1].)
|
||||
If these objects are removed and were referenced by the cloned repository,
|
||||
then the cloned repository will become corrupt.
|
||||
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ will become corrupt.
|
||||
--quiet::
|
||||
-q::
|
||||
Operate quietly. This flag is passed to "rsync" and
|
||||
"git-fetch-pack" commands when given.
|
||||
`git-fetch-pack` commands when given.
|
||||
|
||||
--no-checkout::
|
||||
-n::
|
||||
@@ -114,7 +114,7 @@ will become corrupt.
|
||||
--upload-pack <upload-pack>::
|
||||
-u <upload-pack>::
|
||||
When given, and the repository to clone from is handled
|
||||
by 'git-fetch-pack', '--exec=<upload-pack>' is passed to
|
||||
by `git-fetch-pack`, `--exec=<upload-pack>` is passed to
|
||||
the command to specify non-default path for the command
|
||||
run on the other end.
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ git-commit-tree - Create a new commit object
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-commit-tree' <tree> [-p <parent commit>]\* < changelog
|
||||
'git commit-tree' <tree> [-p <parent commit>]\* < changelog
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -70,7 +70,7 @@ is taken from the configuration items user.name and user.email, or, if not
|
||||
present, system user name and fully qualified hostname.
|
||||
|
||||
A commit comment is read from stdin. If a changelog
|
||||
entry is not provided via "<" redirection, "git-commit-tree" will just wait
|
||||
entry is not provided via "<" redirection, `git-commit-tree` will just wait
|
||||
for one to be entered and terminated with ^D.
|
||||
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ git-commit - Record changes to the repository
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-commit' [-a | --interactive] [-s] [-v] [-u] [--amend]
|
||||
'git commit' [-a | --interactive] [-s] [-v] [-u<mode>] [--amend]
|
||||
[(-c | -C) <commit>] [-F <file> | -m <msg>]
|
||||
[--allow-empty] [--no-verify] [-e] [--author=<author>]
|
||||
[--cleanup=<mode>] [--] [[-i | -o ]<file>...]
|
||||
@@ -20,11 +20,11 @@ commit along with a log message describing the changes you have made.
|
||||
|
||||
The content to be added can be specified in several ways:
|
||||
|
||||
1. by using linkgit:git-add[1] to incrementally "add" changes to the
|
||||
1. by using `git-add` to incrementally "add" changes to the
|
||||
index before using the 'commit' command (Note: even modified
|
||||
files must be "added");
|
||||
|
||||
2. by using linkgit:git-rm[1] to remove files from the working tree
|
||||
2. by using `git-rm` to remove files from the working tree
|
||||
and the index, again before using the 'commit' command;
|
||||
|
||||
3. by listing files as arguments to the 'commit' command, in which
|
||||
@@ -41,13 +41,13 @@ The content to be added can be specified in several ways:
|
||||
by one which files should be part of the commit, before finalizing the
|
||||
operation. Currently, this is done by invoking `git-add --interactive`.
|
||||
|
||||
The linkgit:git-status[1] command can be used to obtain a
|
||||
The `git-status` command can be used to obtain a
|
||||
summary of what is included by any of the above for the next
|
||||
commit by giving the same set of parameters you would give to
|
||||
this command.
|
||||
|
||||
If you make a commit and then found a mistake immediately after
|
||||
that, you can recover from it with linkgit:git-reset[1].
|
||||
If you make a commit and then find a mistake immediately after
|
||||
that, you can recover from it with `git-reset`.
|
||||
|
||||
|
||||
OPTIONS
|
||||
@@ -97,7 +97,7 @@ OPTIONS
|
||||
-n::
|
||||
--no-verify::
|
||||
This option bypasses the pre-commit and commit-msg hooks.
|
||||
See also linkgit:githooks[5][hooks].
|
||||
See also linkgit:githooks[5].
|
||||
|
||||
--allow-empty::
|
||||
Usually recording a commit that has the exact same tree as its
|
||||
@@ -162,13 +162,22 @@ but can be used to amend a merge commit.
|
||||
the last commit without committing changes that have
|
||||
already been staged.
|
||||
|
||||
-u::
|
||||
--untracked-files::
|
||||
Show all untracked files, also those in uninteresting
|
||||
directories, in the "Untracked files:" section of commit
|
||||
message template. Without this option only its name and
|
||||
a trailing slash are displayed for each untracked
|
||||
directory.
|
||||
-u[<mode>]::
|
||||
--untracked-files[=<mode>]::
|
||||
Show untracked files (Default: 'all').
|
||||
+
|
||||
The mode parameter is optional, and is used to specify
|
||||
the handling of untracked files. The possible options are:
|
||||
+
|
||||
--
|
||||
- 'no' - Show no untracked files
|
||||
- 'normal' - Shows untracked files and directories
|
||||
- 'all' - Also shows individual files in untracked directories.
|
||||
--
|
||||
+
|
||||
See linkgit:git-config[1] for configuration variable
|
||||
used to change the default for when the option is not
|
||||
specified.
|
||||
|
||||
-v::
|
||||
--verbose::
|
||||
@@ -196,9 +205,9 @@ EXAMPLES
|
||||
--------
|
||||
When recording your own work, the contents of modified files in
|
||||
your working tree are temporarily stored to a staging area
|
||||
called the "index" with linkgit:git-add[1]. A file can be
|
||||
called the "index" with `git-add`. A file can be
|
||||
reverted back, only in the index but not in the working tree,
|
||||
to that of the last commit with `git-reset HEAD -- <file>`,
|
||||
to that of the last commit with `git reset HEAD -- <file>`,
|
||||
which effectively reverts `git-add` and prevents the changes to
|
||||
this file from participating in the next commit. After building
|
||||
the state to be committed incrementally with these commands,
|
||||
@@ -255,13 +264,13 @@ $ git commit
|
||||
this second commit would record the changes to `hello.c` and
|
||||
`hello.h` as expected.
|
||||
|
||||
After a merge (initiated by either linkgit:git-merge[1] or
|
||||
linkgit:git-pull[1]) stops because of conflicts, cleanly merged
|
||||
After a merge (initiated by `git-merge` or `git-pull`) stops
|
||||
because of conflicts, cleanly merged
|
||||
paths are already staged to be committed for you, and paths that
|
||||
conflicted are left in unmerged state. You would have to first
|
||||
check which paths are conflicting with linkgit:git-status[1]
|
||||
check which paths are conflicting with `git-status`
|
||||
and after fixing them manually in your working tree, you would
|
||||
stage the result as usual with linkgit:git-add[1]:
|
||||
stage the result as usual with `git-add`:
|
||||
|
||||
------------
|
||||
$ git status | grep unmerged
|
||||
@@ -307,7 +316,7 @@ order).
|
||||
HOOKS
|
||||
-----
|
||||
This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`,
|
||||
and `post-commit` hooks. See linkgit:githooks[5][hooks] for more
|
||||
and `post-commit` hooks. See linkgit:githooks[5] for more
|
||||
information.
|
||||
|
||||
|
||||
|
||||
@@ -9,19 +9,19 @@ git-config - Get and set repository or global options
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-config' [<file-option>] [type] [-z|--null] name [value [value_regex]]
|
||||
'git-config' [<file-option>] [type] --add name value
|
||||
'git-config' [<file-option>] [type] --replace-all name [value [value_regex]]
|
||||
'git-config' [<file-option>] [type] [-z|--null] --get name [value_regex]
|
||||
'git-config' [<file-option>] [type] [-z|--null] --get-all name [value_regex]
|
||||
'git-config' [<file-option>] [type] [-z|--null] --get-regexp name_regex [value_regex]
|
||||
'git-config' [<file-option>] --unset name [value_regex]
|
||||
'git-config' [<file-option>] --unset-all name [value_regex]
|
||||
'git-config' [<file-option>] --rename-section old_name new_name
|
||||
'git-config' [<file-option>] --remove-section name
|
||||
'git-config' [<file-option>] [-z|--null] -l | --list
|
||||
'git-config' [<file-option>] --get-color name [default]
|
||||
'git-config' [<file-option>] --get-colorbool name [stdout-is-tty]
|
||||
'git config' [<file-option>] [type] [-z|--null] name [value [value_regex]]
|
||||
'git config' [<file-option>] [type] --add name value
|
||||
'git config' [<file-option>] [type] --replace-all name [value [value_regex]]
|
||||
'git config' [<file-option>] [type] [-z|--null] --get name [value_regex]
|
||||
'git config' [<file-option>] [type] [-z|--null] --get-all name [value_regex]
|
||||
'git config' [<file-option>] [type] [-z|--null] --get-regexp name_regex [value_regex]
|
||||
'git config' [<file-option>] --unset name [value_regex]
|
||||
'git config' [<file-option>] --unset-all name [value_regex]
|
||||
'git config' [<file-option>] --rename-section old_name new_name
|
||||
'git config' [<file-option>] --remove-section name
|
||||
'git config' [<file-option>] [-z|--null] -l | --list
|
||||
'git config' [<file-option>] --get-color name [default]
|
||||
'git config' [<file-option>] --get-colorbool name [stdout-is-tty]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -37,7 +37,7 @@ you want to handle the lines that do *not* match the regex, just
|
||||
prepend a single exclamation mark in front (see also <<EXAMPLES>>).
|
||||
|
||||
The type specifier can be either '--int' or '--bool', which will make
|
||||
'git-config' ensure that the variable(s) are of the given type and
|
||||
`git-config` ensure that the variable(s) are of the given type and
|
||||
convert the value to the canonical form (simple decimal number for int,
|
||||
a "true" or "false" string for bool). If no type specifier is passed,
|
||||
no checks or transformations are performed on the value.
|
||||
@@ -122,10 +122,10 @@ See also <<FILES>>.
|
||||
List all variables set in config file.
|
||||
|
||||
--bool::
|
||||
git-config will ensure that the output is "true" or "false"
|
||||
`git-config` will ensure that the output is "true" or "false"
|
||||
|
||||
--int::
|
||||
git-config will ensure that the output is a simple
|
||||
`git-config` will ensure that the output is a simple
|
||||
decimal number. An optional value suffix of 'k', 'm', or 'g'
|
||||
in the config file will cause the value to be multiplied
|
||||
by 1024, 1048576, or 1073741824 prior to output.
|
||||
@@ -162,7 +162,7 @@ FILES
|
||||
-----
|
||||
|
||||
If not set explicitly with '--file', there are three files where
|
||||
git-config will search for configuration options:
|
||||
`git-config` will search for configuration options:
|
||||
|
||||
$GIT_DIR/config::
|
||||
Repository specific configuration file. (The filename is
|
||||
@@ -179,12 +179,12 @@ $(prefix)/etc/gitconfig::
|
||||
If no further options are given, all reading options will read all of these
|
||||
files that are available. If the global or the system-wide configuration
|
||||
file are not available they will be ignored. If the repository configuration
|
||||
file is not available or readable, git-config will exit with a non-zero
|
||||
file is not available or readable, `git-config` will exit with a non-zero
|
||||
error code. However, in neither case will an error message be issued.
|
||||
|
||||
All writing options will per default write to the repository specific
|
||||
configuration file. Note that this also affects options like '--replace-all'
|
||||
and '--unset'. *git-config will only ever change one file at a time*.
|
||||
and '--unset'. *`git-config` will only ever change one file at a time*.
|
||||
|
||||
You can override these rules either by command line options or by environment
|
||||
variables. The '--global' and the '--system' options will limit the file used
|
||||
|
||||
@@ -7,7 +7,7 @@ git-count-objects - Count unpacked number of objects and their disk consumption
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-count-objects' [-v]
|
||||
'git count-objects' [-v]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -22,7 +22,7 @@ OPTIONS
|
||||
In addition to the number of loose objects and disk
|
||||
space consumed, it reports the number of in-pack
|
||||
objects, number of packs, and number of objects that can be
|
||||
removed by running `git-prune-packed`.
|
||||
removed by running `git prune-packed`.
|
||||
|
||||
|
||||
Author
|
||||
|
||||
@@ -8,7 +8,8 @@ git-cvsexportcommit - Export a single commit to a CVS checkout
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-cvsexportcommit' [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d cvsroot] [-w cvsworkdir] [-W] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID
|
||||
'git cvsexportcommit' [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d cvsroot]
|
||||
[-w cvsworkdir] [-W] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
@@ -26,8 +27,8 @@ by default.
|
||||
|
||||
Supports file additions, removals, and commits that affect binary files.
|
||||
|
||||
If the commit is a merge commit, you must tell git-cvsexportcommit what parent
|
||||
should the changeset be done against.
|
||||
If the commit is a merge commit, you must tell `git-cvsexportcommit` what
|
||||
parent the changeset should be done against.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
@@ -89,14 +90,14 @@ Merge one patch into CVS::
|
||||
------------
|
||||
$ export GIT_DIR=~/project/.git
|
||||
$ cd ~/project_cvs_checkout
|
||||
$ git-cvsexportcommit -v <commit-sha1>
|
||||
$ git cvsexportcommit -v <commit-sha1>
|
||||
$ cvs commit -F .msg <files>
|
||||
------------
|
||||
|
||||
Merge one patch into CVS (-c and -w options). The working directory is within the Git Repo::
|
||||
+
|
||||
------------
|
||||
$ git-cvsexportcommit -v -c -w ~/project_cvs_checkout <commit-sha1>
|
||||
$ git cvsexportcommit -v -c -w ~/project_cvs_checkout <commit-sha1>
|
||||
------------
|
||||
|
||||
Merge pending patches into CVS automatically -- only if you really know what you are doing::
|
||||
@@ -104,7 +105,7 @@ Merge pending patches into CVS automatically -- only if you really know what you
|
||||
------------
|
||||
$ export GIT_DIR=~/project/.git
|
||||
$ cd ~/project_cvs_checkout
|
||||
$ git-cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git-cvsexportcommit -c -p -v
|
||||
$ git cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git cvsexportcommit -c -p -v
|
||||
------------
|
||||
|
||||
Author
|
||||
|
||||
@@ -9,7 +9,7 @@ git-cvsimport - Salvage your data out of another SCM people love to hate
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-cvsimport' [-o <branch-for-HEAD>] [-h] [-v] [-d <CVSROOT>]
|
||||
'git cvsimport' [-o <branch-for-HEAD>] [-h] [-v] [-d <CVSROOT>]
|
||||
[-A <author-conv-file>] [-p <options-for-cvsps>] [-P <file>]
|
||||
[-C <git_repository>] [-z <fuzz>] [-i] [-k] [-u] [-s <subst>]
|
||||
[-a] [-m] [-M <regex>] [-S <regex>] [-L <commitlimit>]
|
||||
@@ -25,9 +25,9 @@ Splitting the CVS log into patch sets is done by 'cvsps'.
|
||||
At least version 2.1 is required.
|
||||
|
||||
You should *never* do any work of your own on the branches that are
|
||||
created by git-cvsimport. By default initial import will create and populate a
|
||||
created by `git-cvsimport`. By default initial import will create and populate a
|
||||
"master" branch from the CVS repository's main branch which you're free
|
||||
to work with; after that, you need to 'git merge' incremental imports, or
|
||||
to work with; after that, you need to `git-merge` incremental imports, or
|
||||
any CVS branches, yourself. It is advisable to specify a named remote via
|
||||
-r to separate and protect the incoming branches.
|
||||
|
||||
@@ -40,13 +40,13 @@ OPTIONS
|
||||
-d <CVSROOT>::
|
||||
The root of the CVS archive. May be local (a simple path) or remote;
|
||||
currently, only the :local:, :ext: and :pserver: access methods
|
||||
are supported. If not given, git-cvsimport will try to read it
|
||||
are supported. If not given, `git-cvsimport` will try to read it
|
||||
from `CVS/Root`. If no such file exists, it checks for the
|
||||
`CVSROOT` environment variable.
|
||||
|
||||
<CVS_module>::
|
||||
The CVS module you want to import. Relative to <CVSROOT>.
|
||||
If not given, git-cvsimport tries to read it from
|
||||
If not given, `git-cvsimport` tries to read it from
|
||||
`CVS/Repository`.
|
||||
|
||||
-C <target-dir>::
|
||||
@@ -56,14 +56,14 @@ OPTIONS
|
||||
-r <remote>::
|
||||
The git remote to import this CVS repository into.
|
||||
Moves all CVS branches into remotes/<remote>/<branch>
|
||||
akin to the git-clone --use-separate-remote option.
|
||||
akin to the `git-clone` "--use-separate-remote" option.
|
||||
|
||||
-o <branch-for-HEAD>::
|
||||
When no remote is specified (via -r) the 'HEAD' branch
|
||||
from CVS is imported to the 'origin' branch within the git
|
||||
repository, as 'HEAD' already has a special meaning for git.
|
||||
When a remote is specified the 'HEAD' branch is named
|
||||
remotes/<remote>/master mirroring git-clone behaviour.
|
||||
remotes/<remote>/master mirroring `git-clone` behaviour.
|
||||
Use this option if you want to import into a different
|
||||
branch.
|
||||
+
|
||||
@@ -136,17 +136,17 @@ This option can be used several times to provide several detection regexes.
|
||||
|
||||
---------
|
||||
+
|
||||
git-cvsimport will make it appear as those authors had
|
||||
`git-cvsimport` will make it appear as those authors had
|
||||
their GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL set properly
|
||||
all along.
|
||||
+
|
||||
For convenience, this data is saved to `$GIT_DIR/cvs-authors`
|
||||
each time the '-A' option is provided and read from that same
|
||||
file each time git-cvsimport is run.
|
||||
file each time `git-cvsimport` is run.
|
||||
+
|
||||
It is not recommended to use this feature if you intend to
|
||||
export changes back to CVS again later with
|
||||
linkgit:git-cvsexportcommit[1].
|
||||
`git-cvsexportcommit`.
|
||||
|
||||
-h::
|
||||
Print a short usage message and exit.
|
||||
|
||||
@@ -22,7 +22,7 @@ cvspserver stream tcp nowait nobody /usr/bin/git-cvsserver git-cvsserver pserver
|
||||
Usage:
|
||||
|
||||
[verse]
|
||||
'git-cvsserver' [options] [pserver|server] [<directory> ...]
|
||||
'git cvsserver' [options] [pserver|server] [<directory> ...]
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
@@ -77,7 +77,7 @@ over pserver for anonymous CVS access.
|
||||
|
||||
CVS clients cannot tag, branch or perform GIT merges.
|
||||
|
||||
git-cvsserver maps GIT branches to CVS modules. This is very different
|
||||
`git-cvsserver` maps GIT branches to CVS modules. This is very different
|
||||
from what most CVS users would expect since in CVS modules usually represent
|
||||
one or more directories.
|
||||
|
||||
@@ -103,7 +103,7 @@ looks like
|
||||
------
|
||||
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
|
||||
environment variable, you can rename git-cvsserver to cvs.
|
||||
environment variable, you can rename `git-cvsserver` to `cvs`.
|
||||
|
||||
Note: Newer CVS versions (>= 1.12.11) also support specifying
|
||||
CVS_SERVER directly in CVSROOT like
|
||||
@@ -113,9 +113,9 @@ cvs -d ":ext;CVS_SERVER=git-cvsserver:user@server/path/repo.git" co <HEAD_name>
|
||||
------
|
||||
This has the advantage that it will be saved in your 'CVS/Root' files and
|
||||
you don't need to worry about always setting the correct environment
|
||||
variable. SSH users restricted to git-shell don't need to override the default
|
||||
with CVS_SERVER (and shouldn't) as git-shell understands `cvs` to mean
|
||||
git-cvsserver and pretends that the other end runs the real cvs better.
|
||||
variable. SSH users restricted to `git-shell` don't need to override the default
|
||||
with CVS_SERVER (and shouldn't) as `git-shell` understands `cvs` to mean
|
||||
`git-cvsserver` and pretends that the other end runs the real `cvs` better.
|
||||
--
|
||||
2. For each repo that you want accessible from CVS you need to edit config in
|
||||
the repo and add the following section.
|
||||
@@ -128,7 +128,7 @@ git-cvsserver and pretends that the other end runs the real cvs better.
|
||||
logfile=/path/to/logfile
|
||||
|
||||
------
|
||||
Note: you need to ensure each user that is going to invoke git-cvsserver has
|
||||
Note: you need to ensure each user that is going to invoke `git-cvsserver` has
|
||||
write access to the log file and to the database (see
|
||||
<<dbbackend,Database Backend>>. If you want to offer write access over
|
||||
SSH, the users of course also need write access to the git repository itself.
|
||||
@@ -150,7 +150,7 @@ allowing access over SSH.
|
||||
automatically saving it in your 'CVS/Root' files, then you need to set them
|
||||
explicitly in your environment. CVSROOT should be set as per normal, but the
|
||||
directory should point at the appropriate git repo. As above, for SSH clients
|
||||
_not_ restricted to git-shell, CVS_SERVER should be set to git-cvsserver.
|
||||
_not_ restricted to `git-shell`, CVS_SERVER should be set to `git-cvsserver`.
|
||||
+
|
||||
--
|
||||
------
|
||||
@@ -178,27 +178,27 @@ allowing access over SSH.
|
||||
Database Backend
|
||||
----------------
|
||||
|
||||
git-cvsserver uses one database per git head (i.e. CVS module) to
|
||||
`git-cvsserver` uses one database per git head (i.e. CVS module) to
|
||||
store information about the repository for faster access. The
|
||||
database doesn't contain any persistent data and can be completely
|
||||
regenerated from the git repository at any time. The database
|
||||
needs to be updated (i.e. written to) after every commit.
|
||||
|
||||
If the commit is done directly by using git (as opposed to
|
||||
using git-cvsserver) the update will need to happen on the
|
||||
next repository access by git-cvsserver, independent of
|
||||
If the commit is done directly by using `git` (as opposed to
|
||||
using `git-cvsserver`) the update will need to happen on the
|
||||
next repository access by `git-cvsserver`, independent of
|
||||
access method and requested operation.
|
||||
|
||||
That means that even if you offer only read access (e.g. by using
|
||||
the pserver method), git-cvsserver should have write access to
|
||||
the pserver method), `git-cvsserver` should have write access to
|
||||
the database to work reliably (otherwise you need to make sure
|
||||
that the database is up-to-date any time git-cvsserver is executed).
|
||||
that the database is up-to-date any time `git-cvsserver` is executed).
|
||||
|
||||
By default it uses SQLite databases in the git directory, named
|
||||
`gitcvs.<module_name>.sqlite`. Note that the SQLite backend creates
|
||||
temporary files in the same directory as the database file on
|
||||
write so it might not be enough to grant the users using
|
||||
git-cvsserver write access to the database file without granting
|
||||
`git-cvsserver` write access to the database file without granting
|
||||
them write access to the directory, too.
|
||||
|
||||
You can configure the database backend with the following
|
||||
@@ -207,7 +207,7 @@ configuration variables:
|
||||
Configuring database backend
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
git-cvsserver uses the Perl DBI module. Please also read
|
||||
`git-cvsserver` uses the Perl DBI module. Please also read
|
||||
its documentation if changing these variables, especially
|
||||
about `DBI->connect()`.
|
||||
|
||||
@@ -259,7 +259,7 @@ In `dbdriver` and `dbuser` you can use the following variables:
|
||||
%a::
|
||||
access method (one of "ext" or "pserver")
|
||||
%u::
|
||||
Name of the user running git-cvsserver.
|
||||
Name of the user running `git-cvsserver`.
|
||||
If no name can be determined, the
|
||||
numeric uid is used.
|
||||
|
||||
@@ -280,13 +280,13 @@ To get a checkout with the Eclipse CVS client:
|
||||
Protocol notes: If you are using anonymous access via pserver, just select that.
|
||||
Those using SSH access should choose the 'ext' protocol, and configure 'ext'
|
||||
access on the Preferences->Team->CVS->ExtConnection pane. Set CVS_SERVER to
|
||||
'git-cvsserver'. Note that password support is not good when using 'ext',
|
||||
`git-cvsserver`. Note that password support is not good when using 'ext',
|
||||
you will definitely want to have SSH keys setup.
|
||||
|
||||
Alternatively, you can just use the non-standard extssh protocol that Eclipse
|
||||
offer. In that case CVS_SERVER is ignored, and you will have to replace
|
||||
the cvs utility on the server with git-cvsserver or manipulate your `.bashrc`
|
||||
so that calling 'cvs' effectively calls git-cvsserver.
|
||||
the cvs utility on the server with `git-cvsserver` or manipulate your `.bashrc`
|
||||
so that calling 'cvs' effectively calls `git-cvsserver`.
|
||||
|
||||
Clients known to work
|
||||
---------------------
|
||||
@@ -328,14 +328,13 @@ is left blank. But if `gitcvs.allbinary` is set to "guess", then
|
||||
the correct '-k' mode will be guessed based on the contents of
|
||||
the file.
|
||||
|
||||
For best consistency with cvs, it is probably best to override the
|
||||
For best consistency with `cvs`, it is probably best to override the
|
||||
defaults by setting `gitcvs.usecrlfattr` to true,
|
||||
and `gitcvs.allbinary` to "guess".
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
git-cvsserver depends on DBD::SQLite.
|
||||
`git-cvsserver` depends on DBD::SQLite.
|
||||
|
||||
Copyright and Authors
|
||||
---------------------
|
||||
|
||||
@@ -8,12 +8,12 @@ git-daemon - A really simple server for git repositories
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-daemon' [--verbose] [--syslog] [--export-all]
|
||||
[--timeout=n] [--init-timeout=n] [--strict-paths]
|
||||
[--base-path=path] [--user-path | --user-path=path]
|
||||
[--interpolated-path=pathtemplate]
|
||||
[--reuseaddr] [--detach] [--pid-file=file]
|
||||
[--enable=service] [--disable=service]
|
||||
'git daemon' [--verbose] [--syslog] [--export-all]
|
||||
[--timeout=n] [--init-timeout=n] [--strict-paths]
|
||||
[--base-path=path] [--user-path | --user-path=path]
|
||||
[--interpolated-path=pathtemplate]
|
||||
[--reuseaddr] [--detach] [--pid-file=file]
|
||||
[--enable=service] [--disable=service]
|
||||
[--allow-override=service] [--forbid-override=service]
|
||||
[--inetd | [--listen=host_or_ipaddr] [--port=n] [--user=user [--group=group]]
|
||||
[directory...]
|
||||
@@ -27,7 +27,7 @@ that service if it is enabled.
|
||||
It verifies that the directory has the magic file "git-daemon-export-ok", and
|
||||
it will refuse to export any git directory that hasn't explicitly been marked
|
||||
for export this way (unless the '--export-all' parameter is specified). If you
|
||||
pass some directory paths as 'git-daemon' arguments, you can further restrict
|
||||
pass some directory paths as `git-daemon` arguments, you can further restrict
|
||||
the offers to a whitelist comprising of those.
|
||||
|
||||
By default, only `upload-pack` service is enabled, which serves
|
||||
@@ -44,12 +44,12 @@ OPTIONS
|
||||
--strict-paths::
|
||||
Match paths exactly (i.e. don't allow "/foo/repo" when the real path is
|
||||
"/foo/repo.git" or "/foo/repo/.git") and don't do user-relative paths.
|
||||
git-daemon will refuse to start when this option is enabled and no
|
||||
`git-daemon` will refuse to start when this option is enabled and no
|
||||
whitelist is specified.
|
||||
|
||||
--base-path::
|
||||
Remap all the path requests as relative to the given path.
|
||||
This is sort of "GIT root" - if you run git-daemon with
|
||||
This is sort of "GIT root" - if you run `git-daemon` with
|
||||
'--base-path=/srv/git' on example.com, then if you later try to pull
|
||||
'git://example.com/hello.git', `git-daemon` will interpret the path
|
||||
as '/srv/git/hello.git'.
|
||||
@@ -199,28 +199,28 @@ $ grep 9418 /etc/services
|
||||
git 9418/tcp # Git Version Control System
|
||||
------------
|
||||
|
||||
git-daemon as inetd server::
|
||||
`git-daemon` as inetd server::
|
||||
To set up `git-daemon` as an inetd service that handles any
|
||||
repository under the whitelisted set of directories, /pub/foo
|
||||
and /pub/bar, place an entry like the following into
|
||||
/etc/inetd all on one line:
|
||||
+
|
||||
------------------------------------------------
|
||||
git stream tcp nowait nobody /usr/bin/git-daemon
|
||||
git-daemon --inetd --verbose --export-all
|
||||
git stream tcp nowait nobody /usr/bin/git
|
||||
git daemon --inetd --verbose --export-all
|
||||
/pub/foo /pub/bar
|
||||
------------------------------------------------
|
||||
|
||||
|
||||
git-daemon as inetd server for virtual hosts::
|
||||
`git-daemon` as inetd server for virtual hosts::
|
||||
To set up `git-daemon` as an inetd service that handles
|
||||
repositories for different virtual hosts, `www.example.com`
|
||||
and `www.example.org`, place an entry like the following into
|
||||
`/etc/inetd` all on one line:
|
||||
+
|
||||
------------------------------------------------
|
||||
git stream tcp nowait nobody /usr/bin/git-daemon
|
||||
git-daemon --inetd --verbose --export-all
|
||||
git stream tcp nowait nobody /usr/bin/git
|
||||
git daemon --inetd --verbose --export-all
|
||||
--interpolated-path=/pub/%H%D
|
||||
/pub/www.example.org/software
|
||||
/pub/www.example.com/software
|
||||
@@ -235,13 +235,13 @@ clients, a symlink from `/software` into the appropriate
|
||||
default repository could be made as well.
|
||||
|
||||
|
||||
git-daemon as regular daemon for virtual hosts::
|
||||
`git-daemon` as regular daemon for virtual hosts::
|
||||
To set up `git-daemon` as a regular, non-inetd service that
|
||||
handles repositories for multiple virtual hosts based on
|
||||
their IP addresses, start the daemon like this:
|
||||
+
|
||||
------------------------------------------------
|
||||
git-daemon --verbose --export-all
|
||||
git daemon --verbose --export-all
|
||||
--interpolated-path=/pub/%IP/%D
|
||||
/pub/192.168.1.200/software
|
||||
/pub/10.10.220.23/software
|
||||
|
||||
@@ -8,7 +8,7 @@ git-describe - Show the most recent tag that is reachable from a commit
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-describe' [--all] [--tags] [--contains] [--abbrev=<n>] <committish>...
|
||||
'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] <committish>...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -78,7 +78,7 @@ EXAMPLES
|
||||
|
||||
With something like git.git current tree, I get:
|
||||
|
||||
[torvalds@g5 git]$ git-describe parent
|
||||
[torvalds@g5 git]$ git describe parent
|
||||
v1.0.4-14-g2414721
|
||||
|
||||
i.e. the current head of my "parent" branch is based on v1.0.4,
|
||||
@@ -92,9 +92,9 @@ of commits which would be displayed by "git log v1.0.4..parent".
|
||||
The hash suffix is "-g" + 7-char abbreviation for the tip commit
|
||||
of parent (which was `2414721b194453f058079d897d13c4e377f92dc6`).
|
||||
|
||||
Doing a "git-describe" on a tag-name will just show the tag name:
|
||||
Doing a `git-describe` on a tag-name will just show the tag name:
|
||||
|
||||
[torvalds@g5 git]$ git-describe v1.0.4
|
||||
[torvalds@g5 git]$ git describe v1.0.4
|
||||
v1.0.4
|
||||
|
||||
With --all, the command can use branch heads as references, so
|
||||
@@ -115,13 +115,13 @@ closest tagname without any suffix:
|
||||
SEARCH STRATEGY
|
||||
---------------
|
||||
|
||||
For each committish supplied "git describe" will first look for
|
||||
For each committish supplied, `git-describe` will first look for
|
||||
a tag which tags exactly that commit. Annotated tags will always
|
||||
be preferred over lightweight tags, and tags with newer dates will
|
||||
always be preferred over tags with older dates. If an exact match
|
||||
is found, its name will be output and searching will stop.
|
||||
|
||||
If an exact match was not found "git describe" will walk back
|
||||
If an exact match was not found, `git-describe` will walk back
|
||||
through the commit history to locate an ancestor commit which
|
||||
has been tagged. The ancestor's tag will be output along with an
|
||||
abbreviation of the input committish's SHA1.
|
||||
@@ -129,7 +129,7 @@ abbreviation of the input committish's SHA1.
|
||||
If multiple tags were found during the walk then the tag which
|
||||
has the fewest commits different from the input committish will be
|
||||
selected and output. Here fewest commits different is defined as
|
||||
the number of commits which would be shown by "git log tag..input"
|
||||
the number of commits which would be shown by `git log tag..input`
|
||||
will be the smallest number of commits possible.
|
||||
|
||||
|
||||
|
||||
@@ -8,14 +8,14 @@ git-diff-files - Compares files in the working tree and the index
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-diff-files' [-q] [-0|-1|-2|-3|-c|--cc] [<common diff options>] [<path>...]
|
||||
'git diff-files' [-q] [-0|-1|-2|-3|-c|--cc] [<common diff options>] [<path>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Compares the files in the working tree and the index. When paths
|
||||
are specified, compares only those named paths. Otherwise all
|
||||
entries in the index are compared. The output format is the
|
||||
same as "git-diff-index" and "git-diff-tree".
|
||||
same as for `git-diff-index` and `git-diff-tree`.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
|
||||
@@ -8,7 +8,7 @@ git-diff-index - Compares content and mode of blobs between the index and reposi
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-diff-index' [-m] [--cached] [<common diff options>] <tree-ish> [<path>...]
|
||||
'git diff-index' [-m] [--cached] [<common diff options>] <tree-ish> [<path>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -31,7 +31,7 @@ include::diff-options.txt[]
|
||||
-m::
|
||||
By default, files recorded in the index but not checked
|
||||
out are reported as deleted. This flag makes
|
||||
"git-diff-index" say that all non-checked-out files are up
|
||||
`git-diff-index` say that all non-checked-out files are up
|
||||
to date.
|
||||
|
||||
Output format
|
||||
@@ -50,31 +50,31 @@ Cached Mode
|
||||
If '--cached' is specified, it allows you to ask:
|
||||
|
||||
show me the differences between HEAD and the current index
|
||||
contents (the ones I'd write with a "git-write-tree")
|
||||
contents (the ones I'd write using `git-write-tree`)
|
||||
|
||||
For example, let's say that you have worked on your working directory, updated
|
||||
some files in the index and are ready to commit. You want to see exactly
|
||||
*what* you are going to commit, without having to write a new tree
|
||||
object and compare it that way, and to do that, you just do
|
||||
|
||||
git-diff-index --cached HEAD
|
||||
git diff-index --cached HEAD
|
||||
|
||||
Example: let's say I had renamed `commit.c` to `git-commit.c`, and I had
|
||||
done an "git-update-index" to make that effective in the index file.
|
||||
"git-diff-files" wouldn't show anything at all, since the index file
|
||||
matches my working directory. But doing a "git-diff-index" does:
|
||||
done an `update-index` to make that effective in the index file.
|
||||
`git diff-files` wouldn't show anything at all, since the index file
|
||||
matches my working directory. But doing a `git-diff-index` does:
|
||||
|
||||
torvalds@ppc970:~/git> git-diff-index --cached HEAD
|
||||
torvalds@ppc970:~/git> git diff-index --cached HEAD
|
||||
-100644 blob 4161aecc6700a2eb579e842af0b7f22b98443f74 commit.c
|
||||
+100644 blob 4161aecc6700a2eb579e842af0b7f22b98443f74 git-commit.c
|
||||
|
||||
You can see easily that the above is a rename.
|
||||
|
||||
In fact, "git-diff-index --cached" *should* always be entirely equivalent to
|
||||
actually doing a "git-write-tree" and comparing that. Except this one is much
|
||||
In fact, `git diff-index --cached` *should* always be entirely equivalent to
|
||||
actually doing a `git-write-tree` and comparing that. Except this one is much
|
||||
nicer for the case where you just want to check where you are.
|
||||
|
||||
So doing a "git-diff-index --cached" is basically very useful when you are
|
||||
So doing a `git-diff-index --cached` is basically very useful when you are
|
||||
asking yourself "what have I already marked for being committed, and
|
||||
what's the difference to a previous tree".
|
||||
|
||||
@@ -82,23 +82,23 @@ Non-cached Mode
|
||||
---------------
|
||||
The "non-cached" mode takes a different approach, and is potentially
|
||||
the more useful of the two in that what it does can't be emulated with
|
||||
a "git-write-tree" + "git-diff-tree". Thus that's the default mode.
|
||||
a `git-write-tree` + `git-diff-tree`. Thus that's the default mode.
|
||||
The non-cached version asks the question:
|
||||
|
||||
show me the differences between HEAD and the currently checked out
|
||||
tree - index contents _and_ files that aren't up-to-date
|
||||
|
||||
which is obviously a very useful question too, since that tells you what
|
||||
you *could* commit. Again, the output matches the "git-diff-tree -r"
|
||||
you *could* commit. Again, the output matches the `git-diff-tree -r`
|
||||
output to a tee, but with a twist.
|
||||
|
||||
The twist is that if some file doesn't match the index, we don't have
|
||||
a backing store thing for it, and we use the magic "all-zero" sha1 to
|
||||
show that. So let's say that you have edited `kernel/sched.c`, but
|
||||
have not actually done a "git-update-index" on it yet - there is no
|
||||
have not actually done a `git-update-index` on it yet - there is no
|
||||
"object" associated with the new state, and you get:
|
||||
|
||||
torvalds@ppc970:~/v2.6/linux> git-diff-index HEAD
|
||||
torvalds@ppc970:~/v2.6/linux> git diff-index HEAD
|
||||
*100644->100664 blob 7476bb......->000000...... kernel/sched.c
|
||||
|
||||
i.e., it shows that the tree has changed, and that `kernel/sched.c` has is
|
||||
@@ -106,11 +106,11 @@ not up-to-date and may contain new stuff. The all-zero sha1 means that to
|
||||
get the real diff, you need to look at the object in the working directory
|
||||
directly rather than do an object-to-object diff.
|
||||
|
||||
NOTE: As with other commands of this type, "git-diff-index" does not
|
||||
NOTE: As with other commands of this type, `git-diff-index` does not
|
||||
actually look at the contents of the file at all. So maybe
|
||||
`kernel/sched.c` hasn't actually changed, and it's just that you
|
||||
touched it. In either case, it's a note that you need to
|
||||
"git-update-index" it to make the index be in sync.
|
||||
`git-update-index` it to make the index be in sync.
|
||||
|
||||
NOTE: You can have a mixture of files show up as "has been updated"
|
||||
and "is still dirty in the working directory" together. You can always
|
||||
|
||||
@@ -9,7 +9,7 @@ git-diff-tree - Compares the content and mode of blobs found via two tree object
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty]
|
||||
'git diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty]
|
||||
[-t] [-r] [-c | --cc] [--root] [<common diff options>]
|
||||
<tree-ish> [<tree-ish>] [<path>...]
|
||||
|
||||
@@ -20,7 +20,7 @@ Compares the content and mode of the blobs found via two tree objects.
|
||||
If there is only one <tree-ish> given, the commit is compared with its parents
|
||||
(see --stdin below).
|
||||
|
||||
Note that "git-diff-tree" can use the tree encapsulated in a commit object.
|
||||
Note that `git-diff-tree` can use the tree encapsulated in a commit object.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
@@ -58,25 +58,25 @@ behavior. This does not apply to the case where two <tree-ish>
|
||||
separated with a single space are given.
|
||||
|
||||
-m::
|
||||
By default, "git-diff-tree --stdin" does not show
|
||||
By default, `git-diff-tree --stdin` does not show
|
||||
differences for merge commits. With this flag, it shows
|
||||
differences to that commit from all of its parents. See
|
||||
also '-c'.
|
||||
|
||||
-s::
|
||||
By default, "git-diff-tree --stdin" shows differences,
|
||||
By default, `git-diff-tree --stdin` shows differences,
|
||||
either in machine-readable form (without '-p') or in patch
|
||||
form (with '-p'). This output can be suppressed. It is
|
||||
only useful with '-v' flag.
|
||||
|
||||
-v::
|
||||
This flag causes "git-diff-tree --stdin" to also show
|
||||
This flag causes `git-diff-tree --stdin` to also show
|
||||
the commit message before the differences.
|
||||
|
||||
include::pretty-options.txt[]
|
||||
|
||||
--no-commit-id::
|
||||
git-diff-tree outputs a line with the commit ID when
|
||||
`git-diff-tree` outputs a line with the commit ID when
|
||||
applicable. This flag suppressed the commit ID output.
|
||||
|
||||
-c::
|
||||
@@ -112,13 +112,13 @@ Limiting Output
|
||||
If you're only interested in differences in a subset of files, for
|
||||
example some architecture-specific files, you might do:
|
||||
|
||||
git-diff-tree -r <tree-ish> <tree-ish> arch/ia64 include/asm-ia64
|
||||
git diff-tree -r <tree-ish> <tree-ish> arch/ia64 include/asm-ia64
|
||||
|
||||
and it will only show you what changed in those two directories.
|
||||
|
||||
Or if you are searching for what changed in just `kernel/sched.c`, just do
|
||||
|
||||
git-diff-tree -r <tree-ish> <tree-ish> kernel/sched.c
|
||||
git diff-tree -r <tree-ish> <tree-ish> kernel/sched.c
|
||||
|
||||
and it will ignore all differences to other files.
|
||||
|
||||
@@ -129,7 +129,7 @@ so it can be used to name subdirectories.
|
||||
|
||||
An example of normal usage is:
|
||||
|
||||
torvalds@ppc970:~/git> git-diff-tree 5319e4......
|
||||
torvalds@ppc970:~/git> git diff-tree 5319e4......
|
||||
*100664->100664 blob ac348b.......->a01513....... git-fsck-objects.c
|
||||
|
||||
which tells you that the last commit changed just one file (it's from
|
||||
|
||||
@@ -8,14 +8,14 @@ git-diff - Show changes between commits, commit and working tree, etc
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-diff' [<common diff options>] <commit>{0,2} [--] [<path>...]
|
||||
'git diff' [<common diff options>] <commit>{0,2} [--] [<path>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Show changes between two trees, a tree and the working tree, a
|
||||
tree and the index file, or the index file and the working tree.
|
||||
|
||||
'git-diff' [--options] [--] [<path>...]::
|
||||
'git diff' [--options] [--] [<path>...]::
|
||||
|
||||
This form is to view the changes you made relative to
|
||||
the index (staging area for the next commit). In other
|
||||
@@ -27,14 +27,14 @@ If exactly two paths are given, and at least one is untracked,
|
||||
compare the two files / directories. This behavior can be
|
||||
forced by --no-index.
|
||||
|
||||
'git-diff' [--options] --cached [<commit>] [--] [<path>...]::
|
||||
'git diff' [--options] --cached [<commit>] [--] [<path>...]::
|
||||
|
||||
This form is to view the changes you staged for the next
|
||||
commit relative to the named <commit>. Typically you
|
||||
would want comparison with the latest commit, so if you
|
||||
do not give <commit>, it defaults to HEAD.
|
||||
|
||||
'git-diff' [--options] <commit> [--] [<path>...]::
|
||||
'git diff' [--options] <commit> [--] [<path>...]::
|
||||
|
||||
This form is to view the changes you have in your
|
||||
working tree relative to the named <commit>. You can
|
||||
@@ -42,23 +42,23 @@ forced by --no-index.
|
||||
branch name to compare with the tip of a different
|
||||
branch.
|
||||
|
||||
'git-diff' [--options] <commit> <commit> [--] [<path>...]::
|
||||
'git diff' [--options] <commit> <commit> [--] [<path>...]::
|
||||
|
||||
This is to view the changes between two arbitrary
|
||||
<commit>.
|
||||
|
||||
'git-diff' [--options] <commit>..<commit> [--] [<path>...]::
|
||||
'git diff' [--options] <commit>..<commit> [--] [<path>...]::
|
||||
|
||||
This is synonymous to the previous form. If <commit> on
|
||||
one side is omitted, it will have the same effect as
|
||||
using HEAD instead.
|
||||
|
||||
'git-diff' [--options] <commit>\...<commit> [--] [<path>...]::
|
||||
'git diff' [--options] <commit>\...<commit> [--] [<path>...]::
|
||||
|
||||
This form is to view the changes on the branch containing
|
||||
and up to the second <commit>, starting at a common ancestor
|
||||
of both <commit>. "git-diff A\...B" is equivalent to
|
||||
"git-diff $(git-merge-base A B) B". You can omit any one
|
||||
of both <commit>. "git diff A\...B" is equivalent to
|
||||
"git diff $(git-merge-base A B) B". You can omit any one
|
||||
of <commit>, which has the same effect as using HEAD instead.
|
||||
|
||||
Just in case if you are doing something exotic, it should be
|
||||
|
||||
@@ -8,23 +8,23 @@ git-fast-export - Git data exporter
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-fast-export [options]' | 'git-fast-import'
|
||||
'git fast-export [options]' | 'git fast-import'
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
This program dumps the given revisions in a form suitable to be piped
|
||||
into linkgit:git-fast-import[1].
|
||||
into `git-fast-import`.
|
||||
|
||||
You can use it as a human readable bundle replacement (see
|
||||
linkgit:git-bundle[1]), or as a kind of an interactive
|
||||
linkgit:git-filter-branch[1].
|
||||
`git-filter-branch`.
|
||||
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
--progress=<n>::
|
||||
Insert 'progress' statements every <n> objects, to be shown by
|
||||
linkgit:git-fast-import[1] during import.
|
||||
`git-fast-import` during import.
|
||||
|
||||
--signed-tags=(verbatim|warn|strip|abort)::
|
||||
Specify how to handle signed tags. Since any transformation
|
||||
@@ -36,6 +36,26 @@ when encountering a signed tag. With 'strip', the tags will be made
|
||||
unsigned, with 'verbatim', they will be silently exported
|
||||
and with 'warn', they will be exported, but you will see a warning.
|
||||
|
||||
--export-marks=<file>::
|
||||
Dumps the internal marks table to <file> when complete.
|
||||
Marks are written one per line as `:markid SHA-1`. Only marks
|
||||
for revisions are dumped; marks for blobs are ignored.
|
||||
Backends can use this file to validate imports after they
|
||||
have been completed, or to save the marks table across
|
||||
incremental runs. As <file> is only opened and truncated
|
||||
at completion, the same path can also be safely given to
|
||||
\--import-marks.
|
||||
|
||||
--import-marks=<file>::
|
||||
Before processing any input, load the marks specified in
|
||||
<file>. The input file must exist, must be readable, and
|
||||
must use the same format as produced by \--export-marks.
|
||||
+
|
||||
Any commits that have already been marked will not be exported again.
|
||||
If the backend uses a similar \--import-marks file, this allows for
|
||||
incremental bidirectional exporting of the repository by keeping the
|
||||
marks the same across runs.
|
||||
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
@@ -65,7 +85,7 @@ referenced by that revision range contains the string
|
||||
Limitations
|
||||
-----------
|
||||
|
||||
Since linkgit:git-fast-import[1] cannot tag trees, you will not be
|
||||
Since `git-fast-import` cannot tag trees, you will not be
|
||||
able to export the linux-2.6.git repository completely, as it contains
|
||||
a tag referencing a tree instead of a commit.
|
||||
|
||||
|
||||
@@ -8,14 +8,14 @@ git-fast-import - Backend for fast Git data importers
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
frontend | 'git-fast-import' [options]
|
||||
frontend | 'git fast-import' [options]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
This program is usually not what the end user wants to run directly.
|
||||
Most end users want to use one of the existing frontend programs,
|
||||
which parses a specific type of foreign source and feeds the contents
|
||||
stored there to git-fast-import.
|
||||
stored there to `git-fast-import`.
|
||||
|
||||
fast-import reads a mixed command/data stream from standard input and
|
||||
writes one or more packfiles directly into the current repository.
|
||||
@@ -24,7 +24,7 @@ updated branch and tag refs, fully updating the current repository
|
||||
with the newly imported data.
|
||||
|
||||
The fast-import backend itself can import into an empty repository (one that
|
||||
has already been initialized by linkgit:git-init[1]) or incrementally
|
||||
has already been initialized by `git-init`) or incrementally
|
||||
update an existing populated repository. Whether or not incremental
|
||||
imports are supported from a particular foreign source depends on
|
||||
the frontend program in use.
|
||||
@@ -82,7 +82,7 @@ OPTIONS
|
||||
This information may be useful after importing projects
|
||||
whose total object set exceeds the 4 GiB packfile limit,
|
||||
as these commits can be used as edge points during calls
|
||||
to linkgit:git-pack-objects[1].
|
||||
to `git-pack-objects`.
|
||||
|
||||
--quiet::
|
||||
Disable all non-fatal output, making fast-import silent when it
|
||||
@@ -126,7 +126,7 @@ Parallel Operation
|
||||
------------------
|
||||
Like `git-push` or `git-fetch`, imports handled by fast-import are safe to
|
||||
run alongside parallel `git repack -a -d` or `git gc` invocations,
|
||||
or any other Git operation (including `git prune`, as loose objects
|
||||
or any other Git operation (including `git-prune`, as loose objects
|
||||
are never used by fast-import).
|
||||
|
||||
fast-import does not lock the branch or tag refs it is actively importing.
|
||||
@@ -220,7 +220,7 @@ variation in formatting will cause fast-import to reject the value.
|
||||
+
|
||||
An example value is ``Tue Feb 6 11:22:18 2007 -0500''. The Git
|
||||
parser is accurate, but a little on the lenient side. It is the
|
||||
same parser used by linkgit:git-am[1] when applying patches
|
||||
same parser used by `git-am` when applying patches
|
||||
received from email.
|
||||
+
|
||||
Some malformed strings may be accepted as valid dates. In some of
|
||||
@@ -256,7 +256,7 @@ timezone.
|
||||
This particular format is supplied as its short to implement and
|
||||
may be useful to a process that wants to create a new commit
|
||||
right now, without needing to use a working directory or
|
||||
linkgit:git-update-index[1].
|
||||
`git-update-index`.
|
||||
+
|
||||
If separate `author` and `committer` commands are used in a `commit`
|
||||
the timestamps may not match, as the system clock will be polled
|
||||
@@ -654,7 +654,7 @@ recommended, as the frontend does not (easily) have access to the
|
||||
complete set of bytes which normally goes into such a signature.
|
||||
If signing is required, create lightweight tags from within fast-import with
|
||||
`reset`, then create the annotated versions of those tags offline
|
||||
with the standard linkgit:git-tag[1] process.
|
||||
with the standard `git-tag` process.
|
||||
|
||||
`reset`
|
||||
~~~~~~~
|
||||
@@ -803,7 +803,7 @@ Callers may wish to process the output through a tool such as sed to
|
||||
remove the leading part of the line, for example:
|
||||
|
||||
====
|
||||
frontend | git-fast-import | sed 's/^progress //'
|
||||
frontend | git fast-import | sed 's/^progress //'
|
||||
====
|
||||
|
||||
Placing a `progress` command immediately after a `checkpoint` will
|
||||
@@ -851,7 +851,7 @@ An example crash:
|
||||
M 777 inline bob
|
||||
END_OF_INPUT
|
||||
|
||||
$ git-fast-import <in
|
||||
$ git fast-import <in
|
||||
fatal: Corrupt mode: M 777 inline bob
|
||||
fast-import: dumping crash report to .git/fast_import_crash_8434
|
||||
|
||||
@@ -955,7 +955,7 @@ is not `refs/heads/TAG_FIXUP`).
|
||||
|
||||
When committing fixups, consider using `merge` to connect the
|
||||
commit(s) which are supplying file revisions to the fixup branch.
|
||||
Doing so will allow tools such as linkgit:git-blame[1] to track
|
||||
Doing so will allow tools such as `git-blame` to track
|
||||
through the real commit history and properly annotate the source
|
||||
files.
|
||||
|
||||
@@ -984,7 +984,7 @@ Repacking Historical Data
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
If you are repacking very old imported data (e.g. older than the
|
||||
last year), consider expending some extra CPU time and supplying
|
||||
\--window=50 (or higher) when you run linkgit:git-repack[1].
|
||||
\--window=50 (or higher) when you run `git-repack`.
|
||||
This will take longer, but will also produce a smaller packfile.
|
||||
You only need to expend the effort once, and everyone using your
|
||||
project will benefit from the smaller repository.
|
||||
|
||||
@@ -8,18 +8,18 @@ git-fetch-pack - Receive missing objects from another repository
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag] [--upload-pack=<git-upload-pack>] [--depth=<n>] [--no-progress] [-v] [<host>:]<directory> [<refs>...]
|
||||
'git fetch-pack' [--all] [--quiet|-q] [--keep|-k] [--thin] [--include-tag] [--upload-pack=<git-upload-pack>] [--depth=<n>] [--no-progress] [-v] [<host>:]<directory> [<refs>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Usually you would want to use linkgit:git-fetch[1] which is a
|
||||
higher level wrapper of this command instead.
|
||||
Usually you would want to use `git-fetch`, which is a
|
||||
higher level wrapper of this command, instead.
|
||||
|
||||
Invokes 'git-upload-pack' on a potentially remote repository,
|
||||
Invokes `git-upload-pack` on a possibly remote repository
|
||||
and asks it to send objects missing from this repository, to
|
||||
update the named heads. The list of commits available locally
|
||||
is found out by scanning local $GIT_DIR/refs/ and sent to
|
||||
'git-upload-pack' running on the other end.
|
||||
`git-upload-pack` running on the other end.
|
||||
|
||||
This command degenerates to download everything to complete the
|
||||
asked refs from the remote side when the local side does not
|
||||
@@ -33,12 +33,12 @@ OPTIONS
|
||||
|
||||
-q::
|
||||
--quiet::
|
||||
Pass '-q' flag to 'git-unpack-objects'; this makes the
|
||||
Pass '-q' flag to `git-unpack-objects`; this makes the
|
||||
cloning process less verbose.
|
||||
|
||||
-k::
|
||||
--keep::
|
||||
Do not invoke 'git-unpack-objects' on received data, but
|
||||
Do not invoke `git-unpack-objects` on received data, but
|
||||
create a single packfile out of it instead, and store it
|
||||
in the object database. If provided twice then the pack is
|
||||
locked against repacking.
|
||||
@@ -54,7 +54,7 @@ OPTIONS
|
||||
otherwise determine the tags this option made available.
|
||||
|
||||
--upload-pack=<git-upload-pack>::
|
||||
Use this to specify the path to 'git-upload-pack' on the
|
||||
Use this to specify the path to `git-upload-pack` on the
|
||||
remote side, if is not found on your $PATH.
|
||||
Installations of sshd ignores the user's environment
|
||||
setup scripts for login shells (e.g. .bash_profile) and
|
||||
@@ -79,7 +79,7 @@ OPTIONS
|
||||
|
||||
<host>::
|
||||
A remote host that houses the repository. When this
|
||||
part is specified, 'git-upload-pack' is invoked via
|
||||
part is specified, `git-upload-pack` is invoked via
|
||||
ssh.
|
||||
|
||||
<directory>::
|
||||
|
||||
@@ -8,7 +8,7 @@ git-fetch - Download objects and refs from another repository
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-fetch' <options> <repository> <refspec>...
|
||||
'git fetch' <options> <repository> <refspec>...
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
@@ -18,7 +18,7 @@ the objects necessary to complete them.
|
||||
|
||||
The ref names and their object names of fetched refs are stored
|
||||
in `.git/FETCH_HEAD`. This information is left for a later merge
|
||||
operation done by "git merge".
|
||||
operation done by `git-merge`.
|
||||
|
||||
When <refspec> stores the fetched result in tracking branches,
|
||||
the tags that point at these branches are automatically
|
||||
|
||||
@@ -8,7 +8,7 @@ git-filter-branch - Rewrite branches
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-filter-branch' [--env-filter <command>] [--tree-filter <command>]
|
||||
'git filter-branch' [--env-filter <command>] [--tree-filter <command>]
|
||||
[--index-filter <command>] [--parent-filter <command>]
|
||||
[--msg-filter <command>] [--commit-filter <command>]
|
||||
[--tag-name-filter <command>] [--subdirectory-filter <directory>]
|
||||
@@ -95,7 +95,7 @@ OPTIONS
|
||||
This is the filter for rewriting the commit's parent list.
|
||||
It will receive the parent string on stdin and shall output
|
||||
the new parent string on stdout. The parent string is in
|
||||
a format accepted by linkgit:git-commit-tree[1]: empty for
|
||||
the format described in linkgit:git-commit-tree[1]: empty for
|
||||
the initial commit, "-p parent" for a normal commit and
|
||||
"-p parent1 -p parent2 -p parent3 ..." for a merge commit.
|
||||
|
||||
@@ -108,7 +108,7 @@ OPTIONS
|
||||
--commit-filter <command>::
|
||||
This is the filter for performing the commit.
|
||||
If this filter is specified, it will be called instead of the
|
||||
linkgit:git-commit-tree[1] command, with arguments of the form
|
||||
`git-commit-tree` command, with arguments of the form
|
||||
"<TREE_ID> [-p <PARENT_COMMIT_ID>]..." and the log message on
|
||||
stdin. The commit id is expected on stdout.
|
||||
+
|
||||
@@ -119,7 +119,7 @@ have all of them as parents.
|
||||
You can use the 'map' convenience function in this filter, and other
|
||||
convenience functions, too. For example, calling 'skip_commit "$@"'
|
||||
will leave out the current commit (but not its changes! If you want
|
||||
that, use linkgit:git-rebase[1] instead).
|
||||
that, use `git-rebase` instead).
|
||||
|
||||
--tag-name-filter <command>::
|
||||
This is the filter for rewriting tag names. When passed,
|
||||
@@ -169,7 +169,7 @@ to other tags will be rewritten to point to the underlying commit.
|
||||
|
||||
<rev-list-options>::
|
||||
When options are given after the new branch name, they will
|
||||
be passed to linkgit:git-rev-list[1]. Only commits in the resulting
|
||||
be passed to `git-rev-list`. Only commits in the resulting
|
||||
output will be filtered, although the filtered commits can still
|
||||
reference parents which are outside of that set.
|
||||
|
||||
@@ -266,13 +266,13 @@ git filter-branch --msg-filter '
|
||||
|
||||
To restrict rewriting to only part of the history, specify a revision
|
||||
range in addition to the new branch name. The new branch name will
|
||||
point to the top-most revision that a 'git rev-list' of this range
|
||||
point to the top-most revision that a `git-rev-list` of this range
|
||||
will print.
|
||||
|
||||
*NOTE* the changes introduced by the commits, and which are not reverted
|
||||
by subsequent commits, will still be in the rewritten branch. If you want
|
||||
to throw out _changes_ together with the commits, you should use the
|
||||
interactive mode of linkgit:git-rebase[1].
|
||||
interactive mode of `git-rebase`.
|
||||
|
||||
|
||||
Consider this history:
|
||||
|
||||
@@ -9,8 +9,8 @@ git-fmt-merge-msg - Produce a merge commit message
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
git-fmt-merge-msg [--log | --no-log] <$GIT_DIR/FETCH_HEAD
|
||||
git-fmt-merge-msg [--log | --no-log] -F <file>
|
||||
'git fmt-merge-msg' [--log | --no-log] <$GIT_DIR/FETCH_HEAD
|
||||
'git fmt-merge-msg' [--log | --no-log] -F <file>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
@@ -8,7 +8,7 @@ git-for-each-ref - Output information on each ref
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-for-each-ref' [--count=<count>] [--shell|--perl|--python|--tcl]
|
||||
'git for-each-ref' [--count=<count>] [--shell|--perl|--python|--tcl]
|
||||
[--sort=<key>]\* [--format=<format>] [<pattern>...]
|
||||
|
||||
DESCRIPTION
|
||||
@@ -119,7 +119,7 @@ An example directly producing formatted text. Show the most recent
|
||||
------------
|
||||
#!/bin/sh
|
||||
|
||||
git-for-each-ref --count=3 --sort='-*authordate' \
|
||||
git for-each-ref --count=3 --sort='-*authordate' \
|
||||
--format='From: %(*authorname) %(*authoremail)
|
||||
Subject: %(*subject)
|
||||
Date: %(*authordate)
|
||||
@@ -135,7 +135,7 @@ demonstrating the use of --shell. List the prefixes of all heads::
|
||||
------------
|
||||
#!/bin/sh
|
||||
|
||||
git-for-each-ref --shell --format="ref=%(refname)" refs/heads | \
|
||||
git for-each-ref --shell --format="ref=%(refname)" refs/heads | \
|
||||
while read entry
|
||||
do
|
||||
eval "$entry"
|
||||
@@ -189,7 +189,7 @@ Its message reads as:
|
||||
fi
|
||||
'
|
||||
|
||||
eval=`git-for-each-ref --shell --format="$fmt" \
|
||||
eval=`git for-each-ref --shell --format="$fmt" \
|
||||
--sort='*objecttype' \
|
||||
--sort=-taggerdate \
|
||||
refs/tags`
|
||||
|
||||
@@ -9,7 +9,7 @@ git-format-patch - Prepare patches for e-mail submission
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-format-patch' [-k] [-o <dir> | --stdout] [--thread]
|
||||
'git format-patch' [-k] [-o <dir> | --stdout] [--thread]
|
||||
[--attach[=<boundary>] | --inline[=<boundary>]]
|
||||
[-s | --signoff] [<common diff options>]
|
||||
[-n | --numbered | -N | --no-numbered]
|
||||
@@ -27,7 +27,7 @@ DESCRIPTION
|
||||
Prepare each commit with its patch in
|
||||
one file per commit, formatted to resemble UNIX mailbox format.
|
||||
The output of this command is convenient for e-mail submission or
|
||||
for use with linkgit:git-am[1].
|
||||
for use with `git-am`.
|
||||
|
||||
There are two ways to specify which commits to operate on.
|
||||
|
||||
@@ -61,7 +61,7 @@ they are created in the current working directory.
|
||||
If -n is specified, instead of "[PATCH] Subject", the first line
|
||||
is formatted as "[PATCH n/m] Subject".
|
||||
|
||||
If given --thread, git-format-patch will generate In-Reply-To and
|
||||
If given --thread, `git-format-patch` will generate In-Reply-To and
|
||||
References headers to make the second and subsequent patch mails appear
|
||||
as replies to the first mail; this also generates a Message-Id header to
|
||||
reference.
|
||||
|
||||
@@ -8,7 +8,7 @@ git-fsck-objects - Verifies the connectivity and validity of the objects in the
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-fsck-objects' ...
|
||||
'git fsck-objects' ...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
@@ -9,7 +9,7 @@ git-fsck - Verifies the connectivity and validity of the objects in the database
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-fsck' [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]
|
||||
'git fsck' [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]
|
||||
[--full] [--strict] [--verbose] [--lost-found] [<object>*]
|
||||
|
||||
DESCRIPTION
|
||||
@@ -21,7 +21,7 @@ OPTIONS
|
||||
<object>::
|
||||
An object to treat as the head of an unreachability trace.
|
||||
+
|
||||
If no objects are given, git-fsck defaults to using the
|
||||
If no objects are given, `git-fsck` defaults to using the
|
||||
index file, all SHA1 references in .git/refs/*, and all reflogs (unless
|
||||
--no-reflogs is given) as heads.
|
||||
|
||||
@@ -79,15 +79,15 @@ that aren't readable from any of the specified head nodes.
|
||||
|
||||
So for example
|
||||
|
||||
git-fsck --unreachable HEAD $(cat .git/refs/heads/*)
|
||||
git fsck --unreachable HEAD $(cat .git/refs/heads/*)
|
||||
|
||||
will do quite a _lot_ of verification on the tree. There are a few
|
||||
extra validity tests to be added (make sure that tree objects are
|
||||
sorted properly etc), but on the whole if "git-fsck" is happy, you
|
||||
sorted properly etc), but on the whole if `git-fsck` is happy, you
|
||||
do have a valid tree.
|
||||
|
||||
Any corrupt objects you will have to find in backups or other archives
|
||||
(i.e., you can just remove them and do an "rsync" with some other site in
|
||||
(i.e., you can just remove them and do an `rsync` with some other site in
|
||||
the hopes that somebody else has the object you have corrupted).
|
||||
|
||||
Of course, "valid tree" doesn't mean that it wasn't generated by some
|
||||
|
||||
@@ -8,14 +8,14 @@ git-gc - Cleanup unnecessary files and optimize the local repository
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-gc' [--aggressive] [--auto] [--quiet]
|
||||
'git gc' [--aggressive] [--auto] [--quiet]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Runs a number of housekeeping tasks within the current repository,
|
||||
such as compressing file revisions (to reduce disk space and increase
|
||||
performance) and removing unreachable objects which may have been
|
||||
created from prior invocations of linkgit:git-add[1].
|
||||
created from prior invocations of `git-add`.
|
||||
|
||||
Users are encouraged to run this task on a regular basis within
|
||||
each repository to maintain good disk space utilization and good
|
||||
@@ -33,15 +33,15 @@ OPTIONS
|
||||
-------
|
||||
|
||||
--aggressive::
|
||||
Usually 'git-gc' runs very quickly while providing good disk
|
||||
Usually `git-gc` runs very quickly while providing good disk
|
||||
space utilization and performance. This option will cause
|
||||
git-gc to more aggressively optimize the repository at the expense
|
||||
`git-gc` to more aggressively optimize the repository at the expense
|
||||
of taking much more time. The effects of this optimization are
|
||||
persistent, so this option only needs to be used occasionally; every
|
||||
few hundred changesets or so.
|
||||
|
||||
--auto::
|
||||
With this option, `git gc` checks whether any housekeeping is
|
||||
With this option, `git-gc` checks whether any housekeeping is
|
||||
required; if not, it exits without performing any work.
|
||||
Some git commands run `git gc --auto` after performing
|
||||
operations that could create many loose objects.
|
||||
@@ -89,7 +89,7 @@ how long records of conflicted merge you have not resolved are
|
||||
kept. This defaults to 15 days.
|
||||
|
||||
The optional configuration variable 'gc.packrefs' determines if
|
||||
`git gc` runs `git-pack-refs`. This can be set to "nobare" to enable
|
||||
`git-gc` runs `git-pack-refs`. This can be set to "nobare" to enable
|
||||
it within all non-bare repos or it can be set to a boolean value.
|
||||
This defaults to true.
|
||||
|
||||
@@ -108,10 +108,10 @@ default is "2 weeks ago".
|
||||
Notes
|
||||
-----
|
||||
|
||||
git-gc tries very hard to be safe about the garbage it collects. In
|
||||
`git-gc` tries very hard to be safe about the garbage it collects. In
|
||||
particular, it will keep not only objects referenced by your current set
|
||||
of branches and tags, but also objects referenced by the index, remote
|
||||
tracking branches, refs saved by linkgit:git-filter-branch[1] in
|
||||
tracking branches, refs saved by `git-filter-branch` in
|
||||
refs/original/, or reflogs (which may references commits in branches
|
||||
that were later amended or rewound).
|
||||
|
||||
|
||||
@@ -8,18 +8,18 @@ git-get-tar-commit-id - Extract commit ID from an archive created using git-arch
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-get-tar-commit-id' < <tarfile>
|
||||
'git get-tar-commit-id' < <tarfile>
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Acts as a filter, extracting the commit ID stored in archives created by
|
||||
linkgit:git-archive[1]. It reads only the first 1024 bytes of input, thus its
|
||||
`git-archive`. It reads only the first 1024 bytes of input, thus its
|
||||
runtime is not influenced by the size of <tarfile> very much.
|
||||
|
||||
If no commit ID is found, git-get-tar-commit-id quietly exists with a
|
||||
If no commit ID is found, `git-get-tar-commit-id` quietly exists with a
|
||||
return code of 1. This can happen if <tarfile> had not been created
|
||||
using git-archive or if the first parameter of git-archive had been
|
||||
using `git-archive` or if the first parameter of `git-archive` had been
|
||||
a tree ID instead of a commit ID or tag.
|
||||
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ git-grep - Print lines matching a pattern
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-grep' [--cached]
|
||||
'git grep' [--cached]
|
||||
[-a | --text] [-I] [-i | --ignore-case] [-w | --word-regexp]
|
||||
[-v | --invert-match] [-h|-H] [--full-name]
|
||||
[-E | --extended-regexp] [-G | --basic-regexp]
|
||||
@@ -91,7 +91,7 @@ OPTIONS
|
||||
--files-without-match::
|
||||
Instead of showing every matched line, show only the
|
||||
names of files that contain (or do not contain) matches.
|
||||
For better compatibility with git-diff, --name-only is a
|
||||
For better compatibility with `git-diff`, --name-only is a
|
||||
synonym for --files-with-matches.
|
||||
|
||||
-c::
|
||||
|
||||
@@ -11,19 +11,19 @@ SYNOPSIS
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
A Tcl/Tk based graphical user interface to Git. git-gui focuses
|
||||
A Tcl/Tk based graphical user interface to Git. `git-gui` focuses
|
||||
on allowing users to make changes to their repository by making
|
||||
new commits, amending existing ones, creating branches, performing
|
||||
local merges, and fetching/pushing to remote repositories.
|
||||
|
||||
Unlike linkgit:gitk[1], git-gui focuses on commit generation
|
||||
and single file annotation, and does not show project history.
|
||||
It does however supply menu actions to start a gitk session from
|
||||
within git-gui.
|
||||
Unlike `gitk`, `git-gui` focuses on commit generation
|
||||
and single file annotation and does not show project history.
|
||||
It does however supply menu actions to start a `gitk` session from
|
||||
within `git-gui`.
|
||||
|
||||
git-gui is known to work on all popular UNIX systems, Mac OS X,
|
||||
`git-gui` is known to work on all popular UNIX systems, Mac OS X,
|
||||
and Windows (under both Cygwin and MSYS). To the extent possible
|
||||
OS specific user interface guidelines are followed, making git-gui
|
||||
OS specific user interface guidelines are followed, making `git-gui`
|
||||
a fairly native interface for users.
|
||||
|
||||
COMMANDS
|
||||
@@ -38,13 +38,13 @@ browser::
|
||||
browser are opened in the blame viewer.
|
||||
|
||||
citool::
|
||||
Start git-gui and arrange to make exactly one commit before
|
||||
Start `git-gui` and arrange to make exactly one commit before
|
||||
exiting and returning to the shell. The interface is limited
|
||||
to only commit actions, slightly reducing the application's
|
||||
startup time and simplifying the menubar.
|
||||
|
||||
version::
|
||||
Display the currently running version of git-gui.
|
||||
Display the currently running version of `git-gui`.
|
||||
|
||||
|
||||
Examples
|
||||
@@ -84,15 +84,15 @@ SEE ALSO
|
||||
linkgit:gitk[1]::
|
||||
The git repository browser. Shows branches, commit history
|
||||
and file differences. gitk is the utility started by
|
||||
git-gui's Repository Visualize actions.
|
||||
`git-gui`'s Repository Visualize actions.
|
||||
|
||||
Other
|
||||
-----
|
||||
git-gui is actually maintained as an independent project, but stable
|
||||
`git-gui` is actually maintained as an independent project, but stable
|
||||
versions are distributed as part of the Git suite for the convenience
|
||||
of end users.
|
||||
|
||||
A git-gui development repository can be obtained from:
|
||||
A `git-gui` development repository can be obtained from:
|
||||
|
||||
git clone git://repo.or.cz/git-gui.git
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ git-hash-object - Compute object ID and optionally creates a blob from a file
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-hash-object' [-t <type>] [-w] [--stdin | --stdin-paths] [--] <file>...
|
||||
'git hash-object' [-t <type>] [-w] [--stdin | --stdin-paths] [--] <file>...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -16,7 +16,7 @@ Computes the object ID value for an object with specified type
|
||||
with the contents of the named file (which can be outside of the
|
||||
work tree), and optionally writes the resulting object into the
|
||||
object database. Reports its object ID to its standard output.
|
||||
This is used by "git-cvsimport" to update the index
|
||||
This is used by `git-cvsimport` to update the index
|
||||
without modifying files in the work tree. When <type> is not
|
||||
specified, it defaults to "blob".
|
||||
|
||||
|
||||
@@ -55,8 +55,8 @@ other display programs (see below).
|
||||
+
|
||||
The web browser can be specified using the configuration variable
|
||||
'help.browser', or 'web.browser' if the former is not set. If none of
|
||||
these config variables is set, the 'git-web--browse' helper script
|
||||
(called by 'git-help') will pick a suitable default. See
|
||||
these config variables is set, the `git-web--browse` helper script
|
||||
(called by `git-help`) will pick a suitable default. See
|
||||
linkgit:git-web--browse[1] for more information about this.
|
||||
|
||||
CONFIGURATION VARIABLES
|
||||
@@ -67,7 +67,7 @@ help.format
|
||||
|
||||
If no command line option is passed, the 'help.format' configuration
|
||||
variable will be checked. The following values are supported for this
|
||||
variable; they make 'git-help' behave as their corresponding command
|
||||
variable; they make `git-help` behave as their corresponding command
|
||||
line option:
|
||||
|
||||
* "man" corresponds to '-m|--man',
|
||||
|
||||
@@ -8,7 +8,7 @@ git-http-fetch - Download from a remote git repository via HTTP
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-http-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] [--stdin] <commit> <url>
|
||||
'git http-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] [--stdin] <commit> <url>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -35,7 +35,7 @@ commit-id::
|
||||
|
||||
--stdin::
|
||||
Instead of a commit id on the command line (which is not expected in this
|
||||
case), 'git-http-fetch' expects lines on stdin in the format
|
||||
case), `git-http-fetch` expects lines on stdin in the format
|
||||
|
||||
<commit-id>['\t'<filename-as-in--w>]
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ git-http-push - Push objects over HTTP/DAV to another repository
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-http-push' [--all] [--dry-run] [--force] [--verbose] <url> <ref> [<ref>...]
|
||||
'git http-push' [--all] [--dry-run] [--force] [--verbose] <url> <ref> [<ref>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
@@ -8,7 +8,7 @@ git-imap-send - Dump a mailbox from stdin into an imap folder
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-imap-send'
|
||||
'git imap-send'
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
@@ -20,13 +20,13 @@ files directly.
|
||||
|
||||
Typical usage is something like:
|
||||
|
||||
git-format-patch --signoff --stdout --attach origin | git-imap-send
|
||||
git format-patch --signoff --stdout --attach origin | git imap-send
|
||||
|
||||
|
||||
CONFIGURATION
|
||||
-------------
|
||||
|
||||
git-imap-send requires the following values in the repository
|
||||
`git-imap-send` requires the following values in the repository
|
||||
configuration file (shown with examples):
|
||||
|
||||
..........................
|
||||
|
||||
@@ -9,8 +9,8 @@ git-index-pack - Build pack index file for an existing packed archive
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-index-pack' [-v] [-o <index-file>] <pack-file>
|
||||
'git-index-pack' --stdin [--fix-thin] [--keep] [-v] [-o <index-file>]
|
||||
'git index-pack' [-v] [-o <index-file>] <pack-file>
|
||||
'git index-pack' --stdin [--fix-thin] [--keep] [-v] [-o <index-file>]
|
||||
[<pack-file>]
|
||||
|
||||
|
||||
@@ -43,10 +43,10 @@ OPTIONS
|
||||
a default name determined from the pack content. If
|
||||
<pack-file> is not specified consider using --keep to
|
||||
prevent a race condition between this process and
|
||||
linkgit:git-repack[1].
|
||||
`git-repack`.
|
||||
|
||||
--fix-thin::
|
||||
It is possible for linkgit:git-pack-objects[1] to build
|
||||
It is possible for `git-pack-objects` to build
|
||||
"thin" pack, which records objects in deltified form based on
|
||||
objects not included in the pack to reduce network traffic.
|
||||
Those objects are expected to be present on the receiving end
|
||||
@@ -59,7 +59,7 @@ OPTIONS
|
||||
Before moving the index into its final destination
|
||||
create an empty .keep file for the associated pack file.
|
||||
This option is usually necessary with --stdin to prevent a
|
||||
simultaneous linkgit:git-repack[1] process from deleting
|
||||
simultaneous `git-repack` process from deleting
|
||||
the newly constructed pack and index before refs can be
|
||||
updated to use objects contained in the pack.
|
||||
|
||||
@@ -86,7 +86,7 @@ Once the index has been created, the list of object names is sorted
|
||||
and the SHA1 hash of that list is printed to stdout. If --stdin was
|
||||
also used then this is prefixed by either "pack\t", or "keep\t" if a
|
||||
new .keep file was successfully created. This is useful to remove a
|
||||
.keep file used as a lock to prevent the race with linkgit:git-repack[1]
|
||||
.keep file used as a lock to prevent the race with `git-repack`
|
||||
mentioned above.
|
||||
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ git-init-db - Creates an empty git repository
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-init-db' [-q | --quiet] [--template=<template_directory>] [--shared[=<permissions>]]
|
||||
'git init-db' [-q | --quiet] [--template=<template_directory>] [--shared[=<permissions>]]
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
|
||||
@@ -8,7 +8,7 @@ git-init - Create an empty git repository or reinitialize an existing one
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-init' [-q | --quiet] [--bare] [--template=<template_directory>] [--shared[=<permissions>]]
|
||||
'git init' [-q | --quiet] [--bare] [--template=<template_directory>] [--shared[=<permissions>]]
|
||||
|
||||
|
||||
OPTIONS
|
||||
@@ -105,8 +105,8 @@ Start a new git repository for an existing code base::
|
||||
+
|
||||
----------------
|
||||
$ cd /path/to/my/codebase
|
||||
$ git-init <1>
|
||||
$ git-add . <2>
|
||||
$ git init <1>
|
||||
$ git add . <2>
|
||||
----------------
|
||||
+
|
||||
<1> prepare /path/to/my/codebase/.git directory
|
||||
|
||||
@@ -8,13 +8,13 @@ git-instaweb - Instantly browse your working repository in gitweb
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-instaweb' [--local] [--httpd=<httpd>] [--port=<port>]
|
||||
'git instaweb' [--local] [--httpd=<httpd>] [--port=<port>]
|
||||
[--browser=<browser>]
|
||||
'git-instaweb' [--start] [--stop] [--restart]
|
||||
'git instaweb' [--start] [--stop] [--restart]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
A simple script to setup gitweb and a web server for browsing the local
|
||||
A simple script to set up `gitweb` and a web server for browsing the local
|
||||
repository.
|
||||
|
||||
OPTIONS
|
||||
@@ -44,7 +44,7 @@ OPTIONS
|
||||
-b::
|
||||
--browser::
|
||||
The web browser that should be used to view the gitweb
|
||||
page. This will be passed to the 'git-web--browse' helper
|
||||
page. This will be passed to the `git-web--browse` helper
|
||||
script along with the URL of the gitweb instance. See
|
||||
linkgit:git-web--browse[1] for more information about this. If
|
||||
the script fails, the URL will be printed to stdout.
|
||||
|
||||
@@ -8,15 +8,15 @@ git-log - Show commit logs
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-log' <option>...
|
||||
'git log' <option>...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Shows the commit logs.
|
||||
|
||||
The command takes options applicable to the linkgit:git-rev-list[1]
|
||||
The command takes options applicable to the `git-rev-list`
|
||||
command to control what is shown and how, and options applicable to
|
||||
the linkgit:git-diff-tree[1] commands to control how the changes
|
||||
the `git-diff-*` commands to control how the changes
|
||||
each commit introduces are shown.
|
||||
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ git-lost-found - Recover lost refs that luckily have not yet been pruned
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-lost-found'
|
||||
'git lost-found'
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
@@ -9,7 +9,7 @@ git-ls-files - Show information about files in the index and the working tree
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-ls-files' [-z] [-t] [-v]
|
||||
'git ls-files' [-z] [-t] [-v]
|
||||
(--[cached|deleted|others|ignored|stage|unmerged|killed|modified])\*
|
||||
(-[c|d|o|i|s|u|k|m])\*
|
||||
[-x <pattern>|--exclude=<pattern>]
|
||||
@@ -143,14 +143,14 @@ which case it outputs:
|
||||
|
||||
[<tag> ]<mode> <object> <stage> <file>
|
||||
|
||||
"git-ls-files --unmerged" and "git-ls-files --stage" can be used to examine
|
||||
`git-ls-files --unmerged` and `git-ls-files --stage` can be used to examine
|
||||
detailed information on unmerged paths.
|
||||
|
||||
For an unmerged path, instead of recording a single mode/SHA1 pair,
|
||||
the index records up to three such pairs; one from tree O in stage
|
||||
1, A in stage 2, and B in stage 3. This information can be used by
|
||||
the user (or the porcelain) to see what should eventually be recorded at the
|
||||
path. (see git-read-tree for more information on state)
|
||||
path. (see linkgit:git-read-tree[1] for more information on state)
|
||||
|
||||
When `-z` option is not used, TAB, LF, and backslash characters
|
||||
in pathnames are represented as `\t`, `\n`, and `\\`,
|
||||
@@ -160,7 +160,7 @@ respectively.
|
||||
Exclude Patterns
|
||||
----------------
|
||||
|
||||
'git-ls-files' can use a list of "exclude patterns" when
|
||||
`git-ls-files` can use a list of "exclude patterns" when
|
||||
traversing the directory tree and finding files to show when the
|
||||
flags --others or --ignored are specified. linkgit:gitignore[5]
|
||||
specifies the format of exclude patterns.
|
||||
@@ -176,7 +176,7 @@ These exclude patterns come from these places, in order:
|
||||
in the same order they appear in the file.
|
||||
|
||||
3. command line flag --exclude-per-directory=<name> specifies
|
||||
a name of the file in each directory 'git-ls-files'
|
||||
a name of the file in each directory `git-ls-files`
|
||||
examines, normally `.gitignore`. Files in deeper
|
||||
directories take precedence. Patterns are ordered in the
|
||||
same order they appear in the files.
|
||||
|
||||
@@ -9,7 +9,7 @@ git-ls-remote - List references in a remote repository
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-ls-remote' [--heads] [--tags] [-u <exec> | --upload-pack <exec>]
|
||||
'git ls-remote' [--heads] [--tags] [-u <exec> | --upload-pack <exec>]
|
||||
<repository> <refs>...
|
||||
|
||||
DESCRIPTION
|
||||
@@ -31,7 +31,7 @@ OPTIONS
|
||||
|
||||
-u <exec>::
|
||||
--upload-pack=<exec>::
|
||||
Specify the full path of linkgit:git-upload-pack[1] on the remote
|
||||
Specify the full path of `git-upload-pack` on the remote
|
||||
host. This allows listing references from repositories accessed via
|
||||
SSH and where the SSH daemon does not use the PATH configured by the
|
||||
user.
|
||||
|
||||
@@ -9,7 +9,7 @@ git-ls-tree - List the contents of a tree object
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-ls-tree' [-d] [-r] [-t] [-l] [-z]
|
||||
'git ls-tree' [-d] [-r] [-t] [-l] [-z]
|
||||
[--name-only] [--name-status] [--full-name] [--abbrev=[<n>]]
|
||||
<tree-ish> [paths...]
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ git-mailinfo - Extracts patch and authorship from a single e-mail message
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-mailinfo' [-k] [-u | --encoding=<encoding>] <msg> <patch>
|
||||
'git mailinfo' [-k] [-u | --encoding=<encoding>] <msg> <patch>
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
@@ -16,7 +16,7 @@ DESCRIPTION
|
||||
Reading a single e-mail message from the standard input, and
|
||||
writes the commit log message in <msg> file, and the patches in
|
||||
<patch> file. The author name, e-mail and e-mail subject are
|
||||
written out to the standard output to be used by git-am
|
||||
written out to the standard output to be used by `git-am`
|
||||
to create a commit. It is usually not necessary to use this
|
||||
command directly. See linkgit:git-am[1] instead.
|
||||
|
||||
@@ -29,8 +29,8 @@ OPTIONS
|
||||
among which (1) remove 'Re:' or 're:', (2) leading
|
||||
whitespaces, (3) '[' up to ']', typically '[PATCH]', and
|
||||
then prepends "[PATCH] ". This flag forbids this
|
||||
munging, and is most useful when used to read back 'git
|
||||
format-patch -k' output.
|
||||
munging, and is most useful when used to read back
|
||||
`git-format-patch -k` output.
|
||||
|
||||
-u::
|
||||
The commit log message, author name and author email are
|
||||
|
||||
@@ -7,7 +7,7 @@ git-mailsplit - Simple UNIX mbox splitter program
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-mailsplit' [-b] [-f<nn>] [-d<prec>] -o<directory> [--] [<mbox>|<Maildir>...]
|
||||
'git mailsplit' [-b] [-f<nn>] [-d<prec>] -o<directory> [--] [<mbox>|<Maildir>...]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
@@ -8,20 +8,20 @@ git-merge-base - Find as good common ancestors as possible for a merge
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-merge-base' [--all] <commit> <commit>
|
||||
'git merge-base' [--all] <commit> <commit>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
"git-merge-base" finds as good a common ancestor as possible between
|
||||
the two commits. That is, given two commits A and B 'git-merge-base A
|
||||
B' will output a commit which is reachable from both A and B through
|
||||
`git-merge-base` finds as good a common ancestor as possible between
|
||||
the two commits. That is, given two commits A and B, `git merge-base A
|
||||
B` will output a commit which is reachable from both A and B through
|
||||
the parent relationship.
|
||||
|
||||
Given a selection of equally good common ancestors it should not be
|
||||
relied on to decide in any particular way.
|
||||
|
||||
The "git-merge-base" algorithm is still in flux - use the source...
|
||||
The `git-merge-base` algorithm is still in flux - use the source...
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
|
||||
@@ -9,21 +9,21 @@ git-merge-file - Run a three-way file merge
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-merge-file' [-L <current-name> [-L <base-name> [-L <other-name>]]]
|
||||
'git merge-file' [-L <current-name> [-L <base-name> [-L <other-name>]]]
|
||||
[-p|--stdout] [-q|--quiet] <current-file> <base-file> <other-file>
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
git-file-merge incorporates all changes that lead from the `<base-file>`
|
||||
`git-file-merge` incorporates all changes that lead from the `<base-file>`
|
||||
to `<other-file>` into `<current-file>`. The result ordinarily goes into
|
||||
`<current-file>`. git-merge-file is useful for combining separate changes
|
||||
`<current-file>`. `git-merge-file` is useful for combining separate changes
|
||||
to an original. Suppose `<base-file>` is the original, and both
|
||||
`<current-file>` and `<other-file>` are modifications of `<base-file>`.
|
||||
Then git-merge-file combines both changes.
|
||||
Then `git-merge-file` combines both changes.
|
||||
|
||||
A conflict occurs if both `<current-file>` and `<other-file>` have changes
|
||||
in a common segment of lines. If a conflict is found, git-merge-file
|
||||
in a common segment of lines. If a conflict is found, `git-merge-file`
|
||||
normally outputs a warning and brackets the conflict with <<<<<<< and
|
||||
>>>>>>> lines. A typical conflict will look like this:
|
||||
|
||||
@@ -39,7 +39,7 @@ the alternatives.
|
||||
The exit value of this program is negative on error, and the number of
|
||||
conflicts otherwise. If the merge was clean, the exit value is 0.
|
||||
|
||||
git-merge-file is designed to be a minimal clone of RCS merge, that is, it
|
||||
`git-merge-file` is designed to be a minimal clone of RCS `merge`; that is, it
|
||||
implements all of RCS merge's functionality which is needed by
|
||||
linkgit:git[1].
|
||||
|
||||
@@ -51,7 +51,7 @@ OPTIONS
|
||||
This option may be given up to three times, and
|
||||
specifies labels to be used in place of the
|
||||
corresponding file names in conflict reports. That is,
|
||||
`git-merge-file -L x -L y -L z a b c` generates output that
|
||||
`git merge-file -L x -L y -L z a b c` generates output that
|
||||
looks like it came from files x, y and z instead of
|
||||
from files a, b and c.
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ git-merge-index - Run a merge for files needing merging
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-merge-index' [-o] [-q] <merge-program> (-a | [--] <file>\*)
|
||||
'git merge-index' [-o] [-q] <merge-program> (-a | [--] <file>\*)
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -36,24 +36,24 @@ OPTIONS
|
||||
failure usually indicates conflicts during merge). This is for
|
||||
porcelains which might want to emit custom messages.
|
||||
|
||||
If "git-merge-index" is called with multiple <file>s (or -a) then it
|
||||
If `git-merge-index` is called with multiple <file>s (or -a) then it
|
||||
processes them in turn only stopping if merge returns a non-zero exit
|
||||
code.
|
||||
|
||||
Typically this is run with a script calling git's imitation of
|
||||
the merge command from the RCS package.
|
||||
|
||||
A sample script called "git-merge-one-file" is included in the
|
||||
A sample script called `git-merge-one-file` is included in the
|
||||
distribution.
|
||||
|
||||
ALERT ALERT ALERT! The git "merge object order" is different from the
|
||||
RCS "merge" program merge object order. In the above ordering, the
|
||||
RCS `merge` program merge object order. In the above ordering, the
|
||||
original is first. But the argument order to the 3-way merge program
|
||||
"merge" is to have the original in the middle. Don't ask me why.
|
||||
`merge` is to have the original in the middle. Don't ask me why.
|
||||
|
||||
Examples:
|
||||
|
||||
torvalds@ppc970:~/merge-test> git-merge-index cat MM
|
||||
torvalds@ppc970:~/merge-test> git merge-index cat MM
|
||||
This is MM from the original tree. # original
|
||||
This is modified MM in the branch A. # merge1
|
||||
This is modified MM in the branch B. # merge2
|
||||
@@ -61,17 +61,17 @@ Examples:
|
||||
|
||||
or
|
||||
|
||||
torvalds@ppc970:~/merge-test> git-merge-index cat AA MM
|
||||
torvalds@ppc970:~/merge-test> git merge-index cat AA MM
|
||||
cat: : No such file or directory
|
||||
This is added AA in the branch A.
|
||||
This is added AA in the branch B.
|
||||
This is added AA in the branch B.
|
||||
fatal: merge program failed
|
||||
|
||||
where the latter example shows how "git-merge-index" will stop trying to
|
||||
merge once anything has returned an error (i.e., "cat" returned an error
|
||||
where the latter example shows how `git-merge-index` will stop trying to
|
||||
merge once anything has returned an error (i.e., `cat` returned an error
|
||||
for the AA file, because it didn't exist in the original, and thus
|
||||
"git-merge-index" didn't even try to merge the MM thing).
|
||||
`git-merge-index` didn't even try to merge the MM thing).
|
||||
|
||||
Author
|
||||
------
|
||||
|
||||
@@ -12,8 +12,8 @@ SYNOPSIS
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
This is the standard helper program to use with "git-merge-index"
|
||||
to resolve a merge after the trivial merge done with "git-read-tree -m".
|
||||
This is the standard helper program to use with `git-merge-index`
|
||||
to resolve a merge after the trivial merge done with `git-read-tree -m`.
|
||||
|
||||
Author
|
||||
------
|
||||
|
||||
@@ -8,7 +8,7 @@ git-merge-tree - Show three-way merge without touching index
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-merge-tree' <base-tree> <branch1> <branch2>
|
||||
'git merge-tree' <base-tree> <branch1> <branch2>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
@@ -9,9 +9,9 @@ git-merge - Join two or more development histories together
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-merge' [-n] [--stat] [--no-commit] [--squash] [-s <strategy>]...
|
||||
'git merge' [-n] [--stat] [--no-commit] [--squash] [-s <strategy>]...
|
||||
[-m <msg>] <remote> <remote>...
|
||||
'git-merge' <msg> HEAD <remote>...
|
||||
'git merge' <msg> HEAD <remote>...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -41,8 +41,7 @@ include::merge-strategies.txt[]
|
||||
|
||||
|
||||
If you tried a merge which resulted in a complex conflicts and
|
||||
would want to start over, you can recover with
|
||||
linkgit:git-reset[1].
|
||||
would want to start over, you can recover with `git-reset`.
|
||||
|
||||
CONFIGURATION
|
||||
-------------
|
||||
@@ -50,7 +49,7 @@ include::merge-config.txt[]
|
||||
|
||||
branch.<name>.mergeoptions::
|
||||
Sets default options for merging into branch <name>. The syntax and
|
||||
supported options are equal to that of git-merge, but option values
|
||||
supported options are equal to that of `git-merge`, but option values
|
||||
containing whitespace characters are currently not supported.
|
||||
|
||||
HOW MERGE WORKS
|
||||
@@ -60,7 +59,7 @@ A merge is always between the current `HEAD` and one or more
|
||||
commits (usually, branch head or tag), and the index file must
|
||||
exactly match the
|
||||
tree of `HEAD` commit (i.e. the contents of the last commit) when
|
||||
it happens. In other words, `git-diff --cached HEAD` must
|
||||
it happens. In other words, `git diff --cached HEAD` must
|
||||
report no changes.
|
||||
|
||||
[NOTE]
|
||||
@@ -128,7 +127,7 @@ When there are conflicts, these things happen:
|
||||
3. For conflicting paths, the index file records up to three
|
||||
versions; stage1 stores the version from the common ancestor,
|
||||
stage2 from `HEAD`, and stage3 from the remote branch (you
|
||||
can inspect the stages with `git-ls-files -u`). The working
|
||||
can inspect the stages with `git ls-files -u`). The working
|
||||
tree files have the result of "merge" program; i.e. 3-way
|
||||
merge result with familiar conflict markers `<<< === >>>`.
|
||||
|
||||
@@ -144,8 +143,8 @@ After seeing a conflict, you can do two things:
|
||||
up working tree changes made by 2. and 3.; `git-reset` can
|
||||
be used for this.
|
||||
|
||||
* Resolve the conflicts. `git-diff` would report only the
|
||||
conflicting paths because of the above 2. and 3.. Edit the
|
||||
* Resolve the conflicts. `git diff` would report only the
|
||||
conflicting paths because of the above 2. and 3. Edit the
|
||||
working tree files into a desirable shape, `git-add` or `git-rm`
|
||||
them, to make the index file contain what the merge result
|
||||
should be, and run `git-commit` to commit the result.
|
||||
@@ -154,8 +153,11 @@ After seeing a conflict, you can do two things:
|
||||
SEE ALSO
|
||||
--------
|
||||
linkgit:git-fmt-merge-msg[1], linkgit:git-pull[1],
|
||||
linkgit:gitattributes[5]
|
||||
|
||||
linkgit:gitattributes[5],
|
||||
linkgit:git-reset[1],
|
||||
linkgit:git-diff[1], linkgit:git-ls-files[1],
|
||||
linkgit:git-add[1], linkgit:git-rm[1],
|
||||
linkgit:git-mergetool[1]
|
||||
|
||||
Author
|
||||
------
|
||||
|
||||
@@ -7,17 +7,17 @@ git-mergetool - Run merge conflict resolution tools to resolve merge conflicts
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-mergetool' [--tool=<tool>] [<file>]...
|
||||
'git mergetool' [--tool=<tool>] [<file>]...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
Use `git mergetool` to run one of several merge utilities to resolve
|
||||
merge conflicts. It is typically run after linkgit:git-merge[1].
|
||||
merge conflicts. It is typically run after `git-merge`.
|
||||
|
||||
If one or more <file> parameters are given, the merge tool program will
|
||||
be run to resolve differences on each file. If no <file> names are
|
||||
specified, `git mergetool` will run the merge tool program on every file
|
||||
specified, `git-mergetool` will run the merge tool program on every file
|
||||
with merge conflicts.
|
||||
|
||||
OPTIONS
|
||||
@@ -27,23 +27,23 @@ OPTIONS
|
||||
Valid merge tools are:
|
||||
kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, and opendiff
|
||||
+
|
||||
If a merge resolution program is not specified, `git mergetool`
|
||||
If a merge resolution program is not specified, `git-mergetool`
|
||||
will use the configuration variable `merge.tool`. If the
|
||||
configuration variable `merge.tool` is not set, `git mergetool`
|
||||
configuration variable `merge.tool` is not set, `git-mergetool`
|
||||
will pick a suitable default.
|
||||
+
|
||||
You can explicitly provide a full path to the tool by setting the
|
||||
configuration variable `mergetool.<tool>.path`. For example, you
|
||||
can configure the absolute path to kdiff3 by setting
|
||||
`mergetool.kdiff3.path`. Otherwise, `git mergetool` assumes the
|
||||
`mergetool.kdiff3.path`. Otherwise, `git-mergetool` assumes the
|
||||
tool is available in PATH.
|
||||
+
|
||||
Instead of running one of the known merge tool programs
|
||||
`git mergetool` can be customized to run an alternative program
|
||||
`git-mergetool` can be customized to run an alternative program
|
||||
by specifying the command line to invoke in a configration
|
||||
variable `mergetool.<tool>.cmd`.
|
||||
+
|
||||
When `git mergetool` is invoked with this tool (either through the
|
||||
When `git-mergetool` is invoked with this tool (either through the
|
||||
`-t` or `--tool` option or the `merge.tool` configuration
|
||||
variable) the configured command line will be invoked with `$BASE`
|
||||
set to the name of a temporary file containing the common base for
|
||||
@@ -57,7 +57,7 @@ merge resolution.
|
||||
If the custom merge tool correctly indicates the success of a
|
||||
merge resolution with its exit code then the configuration
|
||||
variable `mergetool.<tool>.trustExitCode` can be set to `true`.
|
||||
Otherwise, `git mergetool` will prompt the user to indicate the
|
||||
Otherwise, `git-mergetool` will prompt the user to indicate the
|
||||
success of the resolution after the custom tool has exited.
|
||||
|
||||
Author
|
||||
|
||||
@@ -8,7 +8,7 @@ git-mktag - Creates a tag object
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-mktag' < signature_file
|
||||
'git mktag' < signature_file
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
@@ -8,7 +8,7 @@ git-mktree - Build a tree-object from ls-tree formatted text
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-mktree' [-z]
|
||||
'git mktree' [-z]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
@@ -8,14 +8,14 @@ git-mv - Move or rename a file, a directory, or a symlink
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-mv' <options>... <args>...
|
||||
'git mv' <options>... <args>...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
This script is used to move or rename a file, directory or symlink.
|
||||
|
||||
git-mv [-f] [-n] <source> <destination>
|
||||
git-mv [-f] [-n] [-k] <source> ... <destination directory>
|
||||
git mv [-f] [-n] <source> <destination>
|
||||
git mv [-f] [-n] [-k] <source> ... <destination directory>
|
||||
|
||||
In the first form, it renames <source>, which must exist and be either
|
||||
a file, symlink or directory, to <destination>.
|
||||
|
||||
@@ -9,13 +9,13 @@ git-name-rev - Find symbolic names for given revs
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-name-rev' [--tags] [--refs=<pattern>]
|
||||
'git name-rev' [--tags] [--refs=<pattern>]
|
||||
( --all | --stdin | <committish>... )
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Finds symbolic names suitable for human digestion for revisions given in any
|
||||
format parsable by git-rev-parse.
|
||||
format parsable by `git-rev-parse`.
|
||||
|
||||
|
||||
OPTIONS
|
||||
@@ -38,7 +38,7 @@ OPTIONS
|
||||
Instead of printing both the SHA-1 and the name, print only
|
||||
the name. If given with --tags the usual tag prefix of
|
||||
"tags/" is also omitted from the name, matching the output
|
||||
of linkgit:git-describe[1] more closely. This option
|
||||
of `git-describe` more closely. This option
|
||||
cannot be combined with --stdin.
|
||||
|
||||
--no-undefined::
|
||||
@@ -56,7 +56,7 @@ wrote you about that fantastic commit 33db5f4d9027a10e477ccf054b2c1ab94f74c85a.
|
||||
Of course, you look into the commit, but that only tells you what happened, but
|
||||
not the context.
|
||||
|
||||
Enter git-name-rev:
|
||||
Enter `git-name-rev`:
|
||||
|
||||
------------
|
||||
% git name-rev 33db5f4d9027a10e477ccf054b2c1ab94f74c85a
|
||||
|
||||
@@ -9,7 +9,7 @@ git-pack-objects - Create a packed archive of objects
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-pack-objects' [-q] [--no-reuse-delta] [--delta-base-offset] [--non-empty]
|
||||
'git pack-objects' [-q] [--no-reuse-delta] [--delta-base-offset] [--non-empty]
|
||||
[--local] [--incremental] [--window=N] [--depth=N] [--all-progress]
|
||||
[--revs [--unpacked | --all]*] [--stdout | base-name] < object-list
|
||||
|
||||
@@ -30,7 +30,7 @@ Placing both in the pack/ subdirectory of $GIT_OBJECT_DIRECTORY (or
|
||||
any of the directories on $GIT_ALTERNATE_OBJECT_DIRECTORIES)
|
||||
enables git to read from such an archive.
|
||||
|
||||
'git-unpack-objects' command can read the packed archive and
|
||||
The `git-unpack-objects` command can read the packed archive and
|
||||
expand the objects contained in the pack into "one-file
|
||||
one-object" format; this is typically done by the smart-pull
|
||||
commands when a pack is created on-the-fly for efficient network
|
||||
@@ -59,7 +59,7 @@ base-name::
|
||||
--revs::
|
||||
Read the revision arguments from the standard input, instead of
|
||||
individual object names. The revision arguments are processed
|
||||
the same way as linkgit:git-rev-list[1] with `--objects` flag
|
||||
the same way as `git-rev-list` with the `--objects` flag
|
||||
uses its `commit` arguments to build the list of objects it
|
||||
outputs. The objects on the resulting list are packed.
|
||||
|
||||
@@ -163,14 +163,14 @@ base-name::
|
||||
generated pack. If not specified, pack compression level is
|
||||
determined first by pack.compression, then by core.compression,
|
||||
and defaults to -1, the zlib default, if neither is set.
|
||||
Add \--no-reuse-object if you want to force a uniform compression
|
||||
Add --no-reuse-object if you want to force a uniform compression
|
||||
level on all data no matter the source.
|
||||
|
||||
--delta-base-offset::
|
||||
A packed archive can express base object of a delta as
|
||||
either 20-byte object name or as an offset in the
|
||||
stream, but older version of git does not understand the
|
||||
latter. By default, git-pack-objects only uses the
|
||||
latter. By default, `git-pack-objects` only uses the
|
||||
former format for better compatibility. This option
|
||||
allows the command to use the latter format for
|
||||
compactness. Depending on the average delta chain
|
||||
|
||||
@@ -8,21 +8,21 @@ git-pack-redundant - Find redundant pack files
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-pack-redundant' [ --verbose ] [ --alt-odb ] < --all | .pack filename ... >
|
||||
'git pack-redundant' [ --verbose ] [ --alt-odb ] < --all | .pack filename ... >
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
This program computes which packs in your repository
|
||||
are redundant. The output is suitable for piping to
|
||||
'xargs rm' if you are in the root of the repository.
|
||||
`xargs rm` if you are in the root of the repository.
|
||||
|
||||
git-pack-redundant accepts a list of objects on standard input. Any objects
|
||||
`git-pack-redundant` accepts a list of objects on standard input. Any objects
|
||||
given will be ignored when checking which packs are required. This makes the
|
||||
following command useful when wanting to remove packs which contain unreachable
|
||||
objects.
|
||||
|
||||
git-fsck --full --unreachable | cut -d ' ' -f3 | \
|
||||
git-pack-redundant --all | xargs rm
|
||||
git fsck --full --unreachable | cut -d ' ' -f3 | \
|
||||
git pack-redundant --all | xargs rm
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
|
||||
@@ -7,7 +7,7 @@ git-pack-refs - Pack heads and tags for efficient repository access
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-pack-refs' [--all] [--no-prune]
|
||||
'git pack-refs' [--all] [--no-prune]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -31,7 +31,7 @@ Subsequent updates to branches always creates new file under
|
||||
|
||||
A recommended practice to deal with a repository with too many
|
||||
refs is to pack its refs with `--all --prune` once, and
|
||||
occasionally run `git-pack-refs \--prune`. Tags are by
|
||||
occasionally run `git pack-refs \--prune`. Tags are by
|
||||
definition stationary and are not expected to change. Branch
|
||||
heads will be packed with the initial `pack-refs --all`, but
|
||||
only the currently active branch heads will become unpacked,
|
||||
|
||||
@@ -8,7 +8,7 @@ git-parse-remote - Routines to help parsing remote repository access parameters
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'. git-parse-remote'
|
||||
'. "$(git --exec-path)/git-parse-remote"'
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
@@ -7,7 +7,7 @@ git-patch-id - Compute unique ID for a patch
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-patch-id' < <patch>
|
||||
'git patch-id' < <patch>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -18,7 +18,7 @@ ID" are almost guaranteed to be the same thing.
|
||||
|
||||
IOW, you can use this thing to look for likely duplicate commits.
|
||||
|
||||
When dealing with git-diff-tree output, it takes advantage of
|
||||
When dealing with `git-diff-tree` output, it takes advantage of
|
||||
the fact that the patch is prefixed with the object name of the
|
||||
commit, and outputs two 40-byte hexadecimal string. The first
|
||||
string is the patch ID, and the second string is the commit ID.
|
||||
|
||||
@@ -8,7 +8,7 @@ git-peek-remote - List the references in a remote repository
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-peek-remote' [--upload-pack=<git-upload-pack>] [<host>:]<directory>
|
||||
'git peek-remote' [--upload-pack=<git-upload-pack>] [<host>:]<directory>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -17,7 +17,7 @@ This command is deprecated; use `git-ls-remote` instead.
|
||||
OPTIONS
|
||||
-------
|
||||
--upload-pack=<git-upload-pack>::
|
||||
Use this to specify the path to 'git-upload-pack' on the
|
||||
Use this to specify the path to `git-upload-pack` on the
|
||||
remote side, if it is not found on your $PATH. Some
|
||||
installations of sshd ignores the user's environment
|
||||
setup scripts for login shells (e.g. .bash_profile) and
|
||||
@@ -30,7 +30,7 @@ OPTIONS
|
||||
|
||||
<host>::
|
||||
A remote host that houses the repository. When this
|
||||
part is specified, 'git-upload-pack' is invoked via
|
||||
part is specified, `git-upload-pack` is invoked via
|
||||
ssh.
|
||||
|
||||
<directory>::
|
||||
|
||||
@@ -8,7 +8,7 @@ git-prune-packed - Remove extra objects that are already in pack files
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-prune-packed' [-n] [-q]
|
||||
'git prune-packed' [-n] [-q]
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
|
||||
@@ -13,8 +13,8 @@ SYNOPSIS
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
NOTE: In most cases, users should run linkgit:git-gc[1], which calls
|
||||
git-prune. See the section "NOTES", below.
|
||||
NOTE: In most cases, users should run `git-gc`, which calls
|
||||
`git-prune`. See the section "NOTES", below.
|
||||
|
||||
This runs `git-fsck --unreachable` using all the refs
|
||||
available in `$GIT_DIR/refs`, optionally with additional set of
|
||||
@@ -22,7 +22,7 @@ objects specified on the command line, and prunes all unpacked
|
||||
objects unreachable from any of these head objects from the object database.
|
||||
In addition, it
|
||||
prunes the unpacked objects that are also found in packs by
|
||||
running `git prune-packed`.
|
||||
running `git-prune-packed`.
|
||||
|
||||
Note that unreachable, packed objects will remain. If this is
|
||||
not desired, see linkgit:git-repack[1].
|
||||
@@ -53,18 +53,18 @@ borrows from your repository via its
|
||||
`.git/objects/info/alternates`:
|
||||
|
||||
------------
|
||||
$ git prune $(cd ../another && $(git-rev-parse --all))
|
||||
$ git prune $(cd ../another && $(git rev-parse --all))
|
||||
------------
|
||||
|
||||
Notes
|
||||
-----
|
||||
|
||||
In most cases, users will not need to call git-prune directly, but
|
||||
should instead call linkgit:git-gc[1], which handles pruning along with
|
||||
In most cases, users will not need to call `git-prune` directly, but
|
||||
should instead call `git-gc`, which handles pruning along with
|
||||
many other housekeeping tasks.
|
||||
|
||||
For a description of which objects are considered for pruning, see
|
||||
git-fsck's --unreachable option.
|
||||
`git-fsck`'s --unreachable option.
|
||||
|
||||
SEE ALSO
|
||||
--------
|
||||
|
||||
@@ -8,7 +8,7 @@ git-pull - Fetch from and merge with another repository or a local branch
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-pull' <options> <repository> <refspec>...
|
||||
'git pull' <options> <repository> <refspec>...
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
@@ -182,8 +182,7 @@ The final command then merges the newly fetched `tmp` into master.
|
||||
|
||||
|
||||
If you tried a pull which resulted in a complex conflicts and
|
||||
would want to start over, you can recover with
|
||||
linkgit:git-reset[1].
|
||||
would want to start over, you can recover with `git-reset`.
|
||||
|
||||
|
||||
SEE ALSO
|
||||
|
||||
@@ -9,7 +9,7 @@ git-push - Update remote refs along with associated objects
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-push' [--all] [--dry-run] [--tags] [--receive-pack=<git-receive-pack>]
|
||||
'git push' [--all] [--dry-run] [--tags] [--receive-pack=<git-receive-pack>]
|
||||
[--repo=all] [-f | --force] [-v | --verbose] [<repository> <refspec>...]
|
||||
|
||||
DESCRIPTION
|
||||
@@ -67,7 +67,8 @@ nor in any Push line of the corresponding remotes file---see below).
|
||||
|
||||
--mirror::
|
||||
Instead of naming each ref to push, specifies that all
|
||||
refs under `$GIT_DIR/refs/heads/` and `$GIT_DIR/refs/tags/`
|
||||
refs under `$GIT_DIR/refs/` (which includes but is not
|
||||
limited to `refs/heads/`, `refs/remotes/`, and `refs/tags/`)
|
||||
be mirrored to the remote repository. Newly created local
|
||||
refs will be pushed to the remote end, locally updated refs
|
||||
will be force updated on the remote end, and deleted refs
|
||||
@@ -84,7 +85,7 @@ nor in any Push line of the corresponding remotes file---see below).
|
||||
line.
|
||||
|
||||
--receive-pack=<git-receive-pack>::
|
||||
Path to the 'git-receive-pack' program on the remote
|
||||
Path to the `git-receive-pack` program on the remote
|
||||
end. Sometimes useful when pushing to a remote
|
||||
repository over ssh, and you do not have the program in
|
||||
a directory on the default $PATH.
|
||||
|
||||
@@ -9,7 +9,7 @@ git-quiltimport - Applies a quilt patchset onto the current branch
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-quiltimport' [--dry-run] [--author <author>] [--patches <dir>]
|
||||
'git quiltimport' [--dry-run] [--author <author>] [--patches <dir>]
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
|
||||
@@ -8,7 +8,7 @@ git-read-tree - Reads tree information into the index
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-read-tree' (<tree-ish> | [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] [-u | -i]] [--exclude-per-directory=<gitignore>] [--index-output=<file>] <tree-ish1> [<tree-ish2> [<tree-ish3>]])
|
||||
'git read-tree' (<tree-ish> | [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] [-u | -i]] [--exclude-per-directory=<gitignore>] [--index-output=<file>] <tree-ish1> [<tree-ish2> [<tree-ish3>]])
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
@@ -121,14 +121,14 @@ provided.
|
||||
|
||||
Single Tree Merge
|
||||
~~~~~~~~~~~~~~~~~
|
||||
If only 1 tree is specified, git-read-tree operates as if the user did not
|
||||
If only 1 tree is specified, `git-read-tree` operates as if the user did not
|
||||
specify `-m`, except that if the original index has an entry for a
|
||||
given pathname, and the contents of the path matches with the tree
|
||||
being read, the stat info from the index is used. (In other words, the
|
||||
index's stat()s take precedence over the merged tree's).
|
||||
|
||||
That means that if you do a `git-read-tree -m <newtree>` followed by a
|
||||
`git-checkout-index -f -u -a`, the `git-checkout-index` only checks out
|
||||
That means that if you do a `git read-tree -m <newtree>` followed by a
|
||||
`git checkout-index -f -u -a`, the `git-checkout-index` only checks out
|
||||
the stuff that really changed.
|
||||
|
||||
This is used to avoid unnecessary false hits when `git-diff-files` is
|
||||
@@ -138,12 +138,12 @@ run after `git-read-tree`.
|
||||
Two Tree Merge
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
Typically, this is invoked as `git-read-tree -m $H $M`, where $H
|
||||
Typically, this is invoked as `git read-tree -m $H $M`, where $H
|
||||
is the head commit of the current repository, and $M is the head
|
||||
of a foreign tree, which is simply ahead of $H (i.e. we are in a
|
||||
fast forward situation).
|
||||
|
||||
When two trees are specified, the user is telling git-read-tree
|
||||
When two trees are specified, the user is telling `git-read-tree`
|
||||
the following:
|
||||
|
||||
1. The current index and work tree is derived from $H, but
|
||||
@@ -151,7 +151,7 @@ the following:
|
||||
|
||||
2. The user wants to fast-forward to $M.
|
||||
|
||||
In this case, the `git-read-tree -m $H $M` command makes sure
|
||||
In this case, the `git read-tree -m $H $M` command makes sure
|
||||
that no local change is lost as the result of this "merge".
|
||||
Here are the "carry forward" rules:
|
||||
|
||||
@@ -193,18 +193,18 @@ Here are the "carry forward" rules:
|
||||
|
||||
In all "keep index" cases, the index entry stays as in the
|
||||
original index file. If the entry were not up to date,
|
||||
git-read-tree keeps the copy in the work tree intact when
|
||||
`git-read-tree` keeps the copy in the work tree intact when
|
||||
operating under the -u flag.
|
||||
|
||||
When this form of git-read-tree returns successfully, you can
|
||||
When this form of `git-read-tree` returns successfully, you can
|
||||
see what "local changes" you made are carried forward by running
|
||||
`git-diff-index --cached $M`. Note that this does not
|
||||
necessarily match `git-diff-index --cached $H` would have
|
||||
`git diff-index --cached $M`. Note that this does not
|
||||
necessarily match `git diff-index --cached $H` would have
|
||||
produced before such a two tree merge. This is because of cases
|
||||
18 and 19 --- if you already had the changes in $M (e.g. maybe
|
||||
you picked it up via e-mail in a patch form), `git-diff-index
|
||||
you picked it up via e-mail in a patch form), `git diff-index
|
||||
--cached $H` would have told you about the change before this
|
||||
merge, but it would not show in `git-diff-index --cached $M`
|
||||
merge, but it would not show in `git diff-index --cached $M`
|
||||
output after two-tree merge.
|
||||
|
||||
|
||||
@@ -219,7 +219,7 @@ starts out at 1.
|
||||
This means that you can do
|
||||
|
||||
----------------
|
||||
$ git-read-tree -m <tree1> <tree2> <tree3>
|
||||
$ git read-tree -m <tree1> <tree2> <tree3>
|
||||
----------------
|
||||
|
||||
and you will end up with an index with all of the <tree1> entries in
|
||||
@@ -261,7 +261,7 @@ start a 3-way merge with an index file that is already
|
||||
populated. Here is an outline of how the algorithm works:
|
||||
|
||||
- if a file exists in identical format in all three trees, it will
|
||||
automatically collapse to "merged" state by git-read-tree.
|
||||
automatically collapse to "merged" state by `git-read-tree`.
|
||||
|
||||
- a file that has _any_ difference what-so-ever in the three trees
|
||||
will stay as separate entries in the index. It's up to "porcelain
|
||||
@@ -304,16 +304,16 @@ commit. To illustrate, suppose you start from what has been
|
||||
committed last to your repository:
|
||||
|
||||
----------------
|
||||
$ JC=`git-rev-parse --verify "HEAD^0"`
|
||||
$ git-checkout-index -f -u -a $JC
|
||||
$ JC=`git rev-parse --verify "HEAD^0"`
|
||||
$ git checkout-index -f -u -a $JC
|
||||
----------------
|
||||
|
||||
You do random edits, without running git-update-index. And then
|
||||
You do random edits, without running `git-update-index`. And then
|
||||
you notice that the tip of your "upstream" tree has advanced
|
||||
since you pulled from him:
|
||||
|
||||
----------------
|
||||
$ git-fetch git://.... linus
|
||||
$ git fetch git://.... linus
|
||||
$ LT=`cat .git/FETCH_HEAD`
|
||||
----------------
|
||||
|
||||
@@ -323,10 +323,10 @@ added or modified index entries since $JC, and if you haven't,
|
||||
then does the right thing. So with the following sequence:
|
||||
|
||||
----------------
|
||||
$ git-read-tree -m -u `git-merge-base $JC $LT` $JC $LT
|
||||
$ git-merge-index git-merge-one-file -a
|
||||
$ git read-tree -m -u `git merge-base $JC $LT` $JC $LT
|
||||
$ git merge-index git-merge-one-file -a
|
||||
$ echo "Merge with Linus" | \
|
||||
git-commit-tree `git-write-tree` -p $JC -p $LT
|
||||
git commit-tree `git write-tree` -p $JC -p $LT
|
||||
----------------
|
||||
|
||||
what you would commit is a pure merge between $JC and $LT without
|
||||
@@ -334,7 +334,7 @@ your work-in-progress changes, and your work tree would be
|
||||
updated to the result of the merge.
|
||||
|
||||
However, if you have local changes in the working tree that
|
||||
would be overwritten by this merge,`git-read-tree` will refuse
|
||||
would be overwritten by this merge, `git-read-tree` will refuse
|
||||
to run to prevent your changes from being lost.
|
||||
|
||||
In other words, there is no need to worry about what exists only
|
||||
|
||||
@@ -8,15 +8,15 @@ git-rebase - Forward-port local commits to the updated upstream head
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-rebase' [-i | --interactive] [-v | --verbose] [-m | --merge]
|
||||
'git rebase' [-i | --interactive] [-v | --verbose] [-m | --merge]
|
||||
[-s <strategy> | --strategy=<strategy>]
|
||||
[-C<n>] [ --whitespace=<option>] [-p | --preserve-merges]
|
||||
[--onto <newbase>] <upstream> [<branch>]
|
||||
'git-rebase' --continue | --skip | --abort
|
||||
'git rebase' --continue | --skip | --abort
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
If <branch> is specified, git-rebase will perform an automatic
|
||||
If <branch> is specified, `git-rebase` will perform an automatic
|
||||
`git checkout <branch>` before doing anything else. Otherwise
|
||||
it remains on the current branch.
|
||||
|
||||
@@ -52,8 +52,8 @@ Assume the following history exists and the current branch is "topic":
|
||||
From this point, the result of either of the following commands:
|
||||
|
||||
|
||||
git-rebase master
|
||||
git-rebase master topic
|
||||
git rebase master
|
||||
git rebase master topic
|
||||
|
||||
would be:
|
||||
|
||||
@@ -68,7 +68,7 @@ followed by `git rebase master`.
|
||||
|
||||
If the upstream branch already contains a change you have made (e.g.,
|
||||
because you mailed a patch which was applied upstream), then that commit
|
||||
will be skipped. For example, running `git-rebase master` on the
|
||||
will be skipped. For example, running `git rebase master` on the
|
||||
following history (in which A' and A introduce the same set of changes,
|
||||
but have different committer information):
|
||||
|
||||
@@ -116,7 +116,7 @@ got merged into more stable 'master' branch, like this:
|
||||
|
||||
We can get this using the following command:
|
||||
|
||||
git-rebase --onto master next topic
|
||||
git rebase --onto master next topic
|
||||
|
||||
|
||||
Another example of --onto option is to rebase part of a
|
||||
@@ -132,7 +132,7 @@ branch. If we have the following situation:
|
||||
|
||||
then the command
|
||||
|
||||
git-rebase --onto master topicA topicB
|
||||
git rebase --onto master topicA topicB
|
||||
|
||||
would result in:
|
||||
|
||||
@@ -155,7 +155,7 @@ the following situation:
|
||||
|
||||
then the command
|
||||
|
||||
git-rebase --onto topicA~5 topicA~3 topicA
|
||||
git rebase --onto topicA~5 topicA~3 topicA
|
||||
|
||||
would result in the removal of commits F and G:
|
||||
|
||||
@@ -167,8 +167,8 @@ This is useful if F and G were flawed in some way, or should not be
|
||||
part of topicA. Note that the argument to --onto and the <upstream>
|
||||
parameter can be any valid commit-ish.
|
||||
|
||||
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
|
||||
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
|
||||
file you edit, you need to tell git that the conflict has been resolved,
|
||||
typically this would be done with
|
||||
@@ -184,7 +184,7 @@ desired resolution, you can continue the rebasing process with
|
||||
git rebase --continue
|
||||
|
||||
|
||||
Alternatively, you can undo the git-rebase with
|
||||
Alternatively, you can undo the `git-rebase` with
|
||||
|
||||
|
||||
git rebase --abort
|
||||
@@ -364,34 +364,34 @@ SPLITTING COMMITS
|
||||
-----------------
|
||||
|
||||
In interactive mode, you can mark commits with the action "edit". However,
|
||||
this does not necessarily mean that 'git rebase' expects the result of this
|
||||
this does not necessarily mean that `git-rebase` expects the result of this
|
||||
edit to be exactly one commit. Indeed, you can undo the commit, or you can
|
||||
add other commits. This can be used to split a commit into two:
|
||||
|
||||
- Start an interactive rebase with 'git rebase -i <commit>^', where
|
||||
- Start an interactive rebase with `git rebase -i <commit>^`, where
|
||||
<commit> is the commit you want to split. In fact, any commit range
|
||||
will do, as long as it contains that commit.
|
||||
|
||||
- Mark the commit you want to split with the action "edit".
|
||||
|
||||
- When it comes to editing that commit, execute 'git reset HEAD^'. The
|
||||
- When it comes to editing that commit, execute `git reset HEAD^`. The
|
||||
effect is that the HEAD is rewound by one, and the index follows suit.
|
||||
However, the working tree stays the same.
|
||||
|
||||
- Now add the changes to the index that you want to have in the first
|
||||
commit. You can use linkgit:git-add[1] (possibly interactively) and/or
|
||||
linkgit:git-gui[1] to do that.
|
||||
commit. You can use `git add` (possibly interactively) or
|
||||
`git-gui` (or both) to do that.
|
||||
|
||||
- Commit the now-current index with whatever commit message is appropriate
|
||||
now.
|
||||
|
||||
- Repeat the last two steps until your working tree is clean.
|
||||
|
||||
- Continue the rebase with 'git rebase --continue'.
|
||||
- Continue the rebase with `git rebase --continue`.
|
||||
|
||||
If you are not absolutely sure that the intermediate revisions are
|
||||
consistent (they compile, pass the testsuite, etc.) you should use
|
||||
linkgit:git-stash[1] to stash away the not-yet-committed changes
|
||||
`git-stash` to stash away the not-yet-committed changes
|
||||
after each commit, test, and amend the commit if fixes are necessary.
|
||||
|
||||
|
||||
|
||||
@@ -8,27 +8,27 @@ git-receive-pack - Receive what is pushed into the repository
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-receive-pack' <directory>
|
||||
'git receive-pack' <directory>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
Invoked by 'git-send-pack' and updates the repository with the
|
||||
Invoked by `git-send-pack` and updates the repository with the
|
||||
information fed from the remote end.
|
||||
|
||||
This command is usually not invoked directly by the end user.
|
||||
The UI for the protocol is on the 'git-send-pack' side, and the
|
||||
The UI for the protocol is on the `git-send-pack` side, and the
|
||||
program pair is meant to be used to push updates to remote
|
||||
repository. For pull operations, see 'git-fetch-pack'.
|
||||
repository. For pull operations, see linkgit:git-fetch-pack[1].
|
||||
|
||||
The command allows for creation and fast forwarding of sha1 refs
|
||||
(heads/tags) on the remote end (strictly speaking, it is the
|
||||
local end receive-pack runs, but to the user who is sitting at
|
||||
local end `git-receive-pack` runs, but to the user who is sitting at
|
||||
the send-pack end, it is updating the remote. Confused?)
|
||||
|
||||
There are other real-world examples of using update and
|
||||
post-update hooks found in the Documentation/howto directory.
|
||||
|
||||
git-receive-pack honours the receive.denyNonFastForwards config
|
||||
`git-receive-pack` honours the receive.denyNonFastForwards config
|
||||
option, which tells it if updates to a ref should be denied if they
|
||||
are not fast-forwards.
|
||||
|
||||
@@ -111,10 +111,10 @@ ref listing the commits pushed to the repository:
|
||||
if expr "$oval" : '0*$' >/dev/null
|
||||
then
|
||||
echo "Created a new ref, with the following commits:"
|
||||
git-rev-list --pretty "$nval"
|
||||
git rev-list --pretty "$nval"
|
||||
else
|
||||
echo "New commits:"
|
||||
git-rev-list --pretty "$nval" "^$oval"
|
||||
git rev-list --pretty "$nval" "^$oval"
|
||||
fi |
|
||||
mail -s "Changes to ref $ref" commit-list@mydomain
|
||||
done
|
||||
@@ -125,7 +125,7 @@ non-zero exit code will generate an error message.
|
||||
|
||||
Note that it is possible for refname to not have sha1-new when this
|
||||
hook runs. This can easily occur if another user modifies the ref
|
||||
after it was updated by receive-pack, but before the hook was able
|
||||
after it was updated by `git-receive-pack`, but before the hook was able
|
||||
to evaluate it. It is recommended that hooks rely on sha1-new
|
||||
rather than the current value of refname.
|
||||
|
||||
@@ -137,14 +137,14 @@ post-update will called with the list of refs that have been updated.
|
||||
This can be used to implement any repository wide cleanup tasks.
|
||||
|
||||
The exit code from this hook invocation is ignored; the only thing
|
||||
left for git-receive-pack to do at that point is to exit itself
|
||||
left for `git-receive-pack` to do at that point is to exit itself
|
||||
anyway.
|
||||
|
||||
This hook can be used, for example, to run "git-update-server-info"
|
||||
This hook can be used, for example, to run `git update-server-info`
|
||||
if the repository is packed and is served via a dumb transport.
|
||||
|
||||
#!/bin/sh
|
||||
exec git-update-server-info
|
||||
exec git update-server-info
|
||||
|
||||
|
||||
SEE ALSO
|
||||
|
||||
@@ -7,7 +7,7 @@ git-relink - Hardlink common objects in local repositories
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-relink' [--safe] <dir> [<dir>]\* <master_dir>
|
||||
'git relink' [--safe] <dir> [<dir>]\* <master_dir>
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
@@ -9,12 +9,12 @@ git-remote - manage set of tracked repositories
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git-remote' [-v | --verbose]
|
||||
'git-remote' add [-t <branch>] [-m <master>] [-f] [--mirror] <name> <url>
|
||||
'git-remote' rm <name>
|
||||
'git-remote' show [-n] <name>
|
||||
'git-remote' prune [-n | --dry-run] <name>
|
||||
'git-remote' update [group]
|
||||
'git remote' [-v | --verbose]
|
||||
'git remote' add [-t <branch>] [-m <master>] [-f] [--mirror] <name> <url>
|
||||
'git remote' rm <name>
|
||||
'git remote' show [-n] <name>
|
||||
'git remote' prune [-n | --dry-run] <name>
|
||||
'git remote' update [group]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
@@ -8,7 +8,7 @@ git-repack - Pack unpacked objects in a repository
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
'git-repack' [-a] [-A] [-d] [-f] [-l] [-n] [-q] [--window=N] [--depth=N]
|
||||
'git repack' [-a] [-A] [-d] [-f] [-l] [-n] [-q] [--window=N] [--depth=N]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
@@ -47,28 +47,29 @@ OPTIONS
|
||||
deleted by way of being left in the old pack and then
|
||||
removed. Instead, the loose unreachable objects
|
||||
will be pruned according to normal expiry rules
|
||||
with the next linkgit:git-gc[1].
|
||||
with the next `git-gc` invocation. See linkgit:git-gc[1].
|
||||
|
||||
-d::
|
||||
After packing, if the newly created packs make some
|
||||
existing packs redundant, remove the redundant packs.
|
||||
Also runs linkgit:git-prune-packed[1].
|
||||
Also run `git-prune-packed` to remove redundant
|
||||
loose object files.
|
||||
|
||||
-l::
|
||||
Pass the `--local` option to `git pack-objects`, see
|
||||
Pass the `--local` option to `git-pack-objects`. See
|
||||
linkgit:git-pack-objects[1].
|
||||
|
||||
-f::
|
||||
Pass the `--no-reuse-delta` option to `git pack-objects`, see
|
||||
Pass the `--no-reuse-delta` option to `git-pack-objects`. See
|
||||
linkgit:git-pack-objects[1].
|
||||
|
||||
-q::
|
||||
Pass the `-q` option to `git pack-objects`, see
|
||||
Pass the `-q` option to `git-pack-objects`. See
|
||||
linkgit:git-pack-objects[1].
|
||||
|
||||
-n::
|
||||
Do not update the server information with
|
||||
`git update-server-info`. This option skips
|
||||
`git-update-server-info`. This option skips
|
||||
updating local catalog files needed to publish
|
||||
this repository (or a direct copy of it)
|
||||
over HTTP or FTP. See gitlink:git-update-server-info[1].
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user