提交 215a7ad1 编写于 作者: J Junio C Hamano

Big tool rename.

As promised, this is the "big tool rename" patch.  The primary differences
since 0.99.6 are:

  (1) git-*-script are no more.  The commands installed do not
      have any such suffix so users do not have to remember if
      something is implemented as a shell script or not.

  (2) Many command names with 'cache' in them are renamed with
      'index' if that is what they mean.

There are backward compatibility symblic links so that you and
Porcelains can keep using the old names, but the backward
compatibility support  is expected to be removed in the near
future.
Signed-off-by: NJunio C Hamano <junkio@cox.net>
上级 99977bd5
git-apply
git-build-rev-cache
git-cat-file
git-checkout-cache
git-checkout-index
git-clone-pack
git-commit-tree
git-convert-cache
git-convert-objects
git-daemon
git-diff-cache
git-diff-index
git-diff-files
git-diff-helper
git-diff-stages
git-diff-tree
git-export
git-fetch-pack
git-fsck-cache
git-fsck-objects
git-get-tar-commit-id
git-hash-object
git-http-pull
git-http-fetch
git-init-db
git-local-pull
git-local-fetch
git-ls-files
git-ls-tree
git-merge-base
git-merge-cache
git-merge-index
git-mktag
git-pack-objects
git-patch-id
......@@ -37,13 +37,13 @@ git-send-pack
git-show-branch
git-show-index
git-show-rev-cache
git-ssh-pull
git-ssh-push
git-ssh-fetch
git-ssh-upload
git-stripspace
git-tar-tree
git-unpack-file
git-unpack-objects
git-update-cache
git-update-index
git-update-server-info
git-upload-pack
git-var
......
The output format from "git-diff-cache", "git-diff-tree" and
The output format from "git-diff-index", "git-diff-tree" and
"git-diff-files" are very similar.
These commands all compare two sets of things; what are
compared are different:
git-diff-cache <tree-ish>::
git-diff-index <tree-ish>::
compares the <tree-ish> and the files on the filesystem.
git-diff-cache --cached <tree-ish>::
git-diff-index --cached <tree-ish>::
compares the <tree-ish> and the cache.
git-diff-tree [-r] <tree-ish-1> <tree-ish-2> [<pattern>...]::
......@@ -58,7 +58,7 @@ Example:
Generating patches with -p
--------------------------
When "git-diff-cache", "git-diff-tree", or "git-diff-files" are run
When "git-diff-index", "git-diff-tree", or "git-diff-files" are run
with a '-p' option, they do not produce the output described above;
instead they produce a patch file.
......@@ -77,7 +77,7 @@ The "diff" formatting options can be customized via the
environment variable 'GIT_DIFF_OPTS'. For example, if you
prefer context diff:
GIT_DIFF_OPTS=-c git-diff-cache -p $(cat .git/HEAD)
GIT_DIFF_OPTS=-c git-diff-index -p $(cat .git/HEAD)
2. When the environment variable 'GIT_EXTERNAL_DIFF' is set, the
......
......@@ -6,7 +6,7 @@ June 2005
Introduction
------------
The diff commands git-diff-cache, git-diff-files, and
The diff commands git-diff-index, git-diff-files, and
git-diff-tree can be told to manipulate differences they find
in unconventional ways before showing diff(1) output. The
manipulation is collectively called "diffcore transformation".
......@@ -21,7 +21,7 @@ The chain of operation
The git-diff-* family works by first comparing two sets of
files:
- git-diff-cache compares contents of a "tree" object and the
- git-diff-index compares contents of a "tree" object and the
working directory (when '--cached' flag is not used) or a
"tree" object and the index file (when '--cached' flag is
used);
......
git-add-script(1)
=================
git-add(1)
==========
NAME
----
git-add-script - Add files to the cache.
git-add - Add files to the cache.
SYNOPSIS
--------
'git-add-script' <file>...
'git-add' <file>...
DESCRIPTION
-----------
A simple wrapper to git-update-cache to add files to the cache for people used
A simple wrapper to git-update-index to add files to the cache for people used
to do "cvs add".
OPTIONS
......
git-archimport-script(1)
========================
git-archimport(1)
=================
NAME
----
git-archimport-script - Import an arch repository into git
git-archimport - Import an arch repository into git
SYNOPSIS
--------
`git-archimport-script` [--option...] <args>
`git-archimport` [--option...] <args>
DESCRIPTION
-----------
......
git-bisect-script(1)
====================
git-bisect(1)
=============
NAME
----
git-bisect-script - Find the change that introduced a bug
git-bisect - Find the change that introduced a bug
SYNOPSIS
......
git-branch-script(1)
====================
git-branch(1)
=============
NAME
----
git-branch-script - Create a new branch.
git-branch - Create a new branch.
SYNOPSIS
--------
'git-branch-script' [<branchname> [start-point]]
'git-branch' [<branchname> [start-point]]
DESCRIPTION
-----------
......
git-checkout-cache(1)
git-checkout-index(1)
=====================
v0.1, May 2005
NAME
----
git-checkout-cache - Copy files from the cache to the working directory
git-checkout-index - Copy files from the cache to the working directory
SYNOPSIS
--------
'git-checkout-cache' [-u] [-q] [-a] [-f] [-n] [--prefix=<string>]
'git-checkout-index' [-u] [-q] [-a] [-f] [-n] [--prefix=<string>]
[--] <file>...
DESCRIPTION
......@@ -46,21 +46,21 @@ OPTIONS
Note that the order of the flags matters:
git-checkout-cache -a -f file.c
git-checkout-index -a -f file.c
will first check out all files listed in the cache (but not overwrite
any old ones), and then force-checkout `file.c` a second time (ie that
one *will* overwrite any old contents with the same filename).
Also, just doing "git-checkout-cache" does nothing. You probably meant
"git-checkout-cache -a". And if you want to force it, you want
"git-checkout-cache -f -a".
Also, 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" thing is that from scripts you are
supposed to be able to do things like:
find . -name '*.h' -print0 | xargs -0 git-checkout-cache -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
......@@ -68,7 +68,7 @@ force-refresh everything in the cache, which was not the point.
To update and refresh only the files already checked out:
git-checkout-cache -n -f -a && git-update-cache --ignore-missing --refresh
git-checkout-index -n -f -a && git-update-index --ignore-missing --refresh
Oh, and the "--" is just a good idea when you know the rest will be
filenames. Just so that you wouldn't have a filename of "-a" causing
......@@ -76,18 +76,18 @@ problems (not possible in the above example, but get used to it in
scripting!).
The prefix ability basically makes it trivial to use
git-checkout-cache as an "export as tree" function. Just read the
git-checkout-index as an "export as tree" function. Just read the
desired tree into the index, and do a
git-checkout-cache --prefix=git-export-dir/ -a
git-checkout-index --prefix=git-export-dir/ -a
and git-checkout-cache will "export" the cache into the specified
and git-checkout-index will "export" the cache into the specified
directory.
NOTE The final "/" is important. The exported name is literally just
prefixed with the specified string, so you can also do something like
git-checkout-cache --prefix=.merged- Makefile
git-checkout-index --prefix=.merged- Makefile
to check out the currently cached copy of `Makefile` into the file
`.merged-Makefile`
......
git-checkout-script(1)
======================
git-checkout(1)
===============
NAME
----
git-checkout-script - Checkout and switch to a branch.
git-checkout - Checkout and switch to a branch.
SYNOPSIS
--------
'git-checkout-script' [-f] [-b <new_branch>] [<branch>]
'git-checkout' [-f] [-b <new_branch>] [<branch>]
DESCRIPTION
-----------
......
git-cherry-pick-script(1)
=========================
git-cherry-pick(1)
==================
v0.99.5 Aug 2005
NAME
----
git-cherry-pick-script - Apply the change introduced by an existing commit.
git-cherry-pick - Apply the change introduced by an existing commit.
SYNOPSIS
--------
'git-cherry-pick-script' [-n] [-r] <commit>
'git-cherry-pick' [-n] [-r] <commit>
DESCRIPTION
-----------
......
git-clone-script(1)
===================
git-clone(1)
============
v0.1, July 2005
NAME
----
git-clone-script - Clones a repository.
git-clone - Clones a repository.
SYNOPSIS
......
git-commit-script(1)
====================
git-commit(1)
=============
v0.99.4, Aug 2005
NAME
----
git-commit-script - Record your changes
git-commit - Record your changes
SYNOPSIS
--------
......
git-convert-cache(1)
====================
git-convert-objects(1)
======================
v0.1, May 2005
NAME
----
git-convert-cache - Converts old-style GIT repository
git-convert-objects - Converts old-style GIT repository
SYNOPSIS
--------
'git-convert-cache'
'git-convert-objects'
DESCRIPTION
-----------
......
git-count-objects-script(1)
===========================
git-count-objects(1)
====================
NAME
----
git-count-objects-script - Reports on unpacked objects.
git-count-objects - Reports on unpacked objects.
SYNOPSIS
--------
'git-count-objects-script'
'git-count-objects'
DESCRIPTION
-----------
......
git-cvsimport-script(1)
=======================
git-cvsimport(1)
================
v0.1, July 2005
NAME
----
git-cvsimport-script - Import a CVS repository into git
git-cvsimport - Import a CVS repository into git
SYNOPSIS
--------
'git-cvsimport-script' [ -o <branch-for-HEAD> ] [ -h ] [ -v ]
'git-cvsimport' [ -o <branch-for-HEAD> ] [ -h ] [ -v ]
[ -d <CVSROOT> ] [ -p <options-for-cvsps> ]
[ -C <GIT_repository> ] [ -i ] [ -k ]
[ -s <subst> ] [ -m ] [ -M regex ] [ <CVS_module> ]
......
......@@ -16,7 +16,7 @@ DESCRIPTION
Compares the files in the working tree and the cache. When paths
are specified, compares only those named paths. Otherwise all
entries in the cache are compared. The output format is the
same as "git-diff-cache" and "git-diff-tree".
same as "git-diff-index" and "git-diff-tree".
OPTIONS
-------
......
......@@ -13,7 +13,7 @@ SYNOPSIS
DESCRIPTION
-----------
Reads output from "git-diff-cache", "git-diff-tree" and "git-diff-files" and
Reads output from "git-diff-index", "git-diff-tree" and "git-diff-files" and
generates patch format output.
OPTIONS
......@@ -35,7 +35,7 @@ OPTIONS
See Also
--------
The section on generating patches in link:git-diff-cache.html[git-diff-cache]
The section on generating patches in link:git-diff-index.html[git-diff-index]
Author
......
git-diff-cache(1)
git-diff-index(1)
=================
v0.1, May 2005
NAME
----
git-diff-cache - Compares content and mode of blobs between the cache and repository
git-diff-index - Compares content and mode of blobs between the cache and repository
SYNOPSIS
--------
'git-diff-cache' [-m] [--cached] [<common diff options>] <tree-ish> [<path>...]
'git-diff-index' [-m] [--cached] [<common diff options>] <tree-ish> [<path>...]
DESCRIPTION
-----------
......@@ -32,7 +32,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-cache" 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
......@@ -58,24 +58,24 @@ some files in the cache and are ready to commit. You want to see eactly
*what* you are going to commit is without having to write a new tree
object and compare it that way, and to do that, you just do
git-diff-cache --cached $(cat .git/HEAD)
git-diff-index --cached $(cat .git/HEAD)
Example: let's say I had renamed `commit.c` to `git-commit.c`, and I had
done an "git-update-cache" to make that effective in the index file.
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-cache" does:
matches my working directory. But doing a "git-diff-index" does:
torvalds@ppc970:~/git> git-diff-cache --cached $(cat .git/HEAD)
torvalds@ppc970:~/git> git-diff-index --cached $(cat .git/HEAD)
-100644 blob 4161aecc6700a2eb579e842af0b7f22b98443f74 commit.c
+100644 blob 4161aecc6700a2eb579e842af0b7f22b98443f74 git-commit.c
You can trivially see that the above is a rename.
In fact, "git-diff-cache --cached" *should* always be entirely equivalent to
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-cache --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".
......@@ -96,10 +96,10 @@ output to a tee, but with a twist.
The twist is that if some file doesn't match the cache, 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-cache" 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-cache $(cat .git/HEAD )
torvalds@ppc970:~/v2.6/linux> git-diff-index $(cat .git/HEAD )
*100644->100664 blob 7476bb......->000000...... kernel/sched.c
ie it shows that the tree has changed, and that `kernel/sched.c` has is
......@@ -107,7 +107,7 @@ 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-cache" 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
......
......@@ -93,7 +93,7 @@ so it can be used to name subdirectories.
An example of normal usage is:
torvalds@ppc970:~/git> git-diff-tree 5319e4......
*100664->100664 blob ac348b.......->a01513....... git-fsck-cache.c
*100664->100664 blob ac348b.......->a01513....... git-fsck-objects.c
which tells you that the last commit changed just one file (it's from
this one:
......@@ -104,7 +104,7 @@ this one:
author Linus Torvalds <torvalds@ppc970.osdl.org> Sat Apr 9 12:02:30 2005
committer Linus Torvalds <torvalds@ppc970.osdl.org> Sat Apr 9 12:02:30 2005
Make "git-fsck-cache" print out all the root commits it finds.
Make "git-fsck-objects" print out all the root commits it finds.
Once I do the reference tracking, I'll also make it print out all the
HEAD commits it finds, which is even more interesting.
......
git-diff-script(1)
==================
git-diff(1)
===========
NAME
----
git-diff-script - Some git command not yet documented.
git-diff - Some git command not yet documented.
SYNOPSIS
--------
'git-diff-script' [ --option ] <args>...
'git-diff' [ --option ] <args>...
DESCRIPTION
-----------
......
git-fetch-script(1)
===================
git-fetch(1)
============
v0.99.5, Aug 2005
NAME
----
git-fetch-script - Download objects and a head from another repository.
git-fetch - Download objects and a head from another repository.
SYNOPSIS
--------
'git-fetch-script' <repository> <refspec>...
'git-fetch' <repository> <refspec>...
DESCRIPTION
......
git-format-patch-script(1)
==========================
git-format-patch(1)
===================
NAME
----
git-format-patch-script - Some git command not yet documented.
git-format-patch - Some git command not yet documented.
SYNOPSIS
--------
'git-format-patch-script' [ --option ] <args>...
'git-format-patch' [ --option ] <args>...
DESCRIPTION
-----------
......
git-fsck-cache(1)
=================
git-fsck-objects(1)
===================
v0.1, May 2005
NAME
----
git-fsck-cache - Verifies the connectivity and validity of the objects in the database
git-fsck-objects - Verifies the connectivity and validity of the objects in the database
SYNOPSIS
--------
'git-fsck-cache' [--tags] [--root] [--unreachable] [--cache] [--standalone | --full] [--strict] [<object>*]
'git-fsck-objects' [--tags] [--root] [--unreachable] [--cache] [--standalone | --full] [--strict] [<object>*]
DESCRIPTION
-----------
......@@ -20,7 +20,7 @@ OPTIONS
<object>::
An object to treat as the head of an unreachability trace.
If no objects are given, git-fsck-cache defaults to using the
If no objects are given, git-fsck-objects defaults to using the
index file and all SHA1 references in .git/refs/* as heads.
--unreachable::
......@@ -69,11 +69,11 @@ that aren't readable from any of the specified head nodes.
So for example
git-fsck-cache --unreachable $(cat .git/HEAD .git/refs/heads/*)
git-fsck-objects --unreachable $(cat .git/HEAD .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-cache" is happy, you
sorted properly etc), but on the whole if "git-fsck-objects" is happy, you
do have a valid tree.
Any corrupt objects you will have to find in backups or other archives
......@@ -111,7 +111,7 @@ dangling <type> <object>::
The <type> object <object>, is present in the database but never
'directly' used. A dangling commit could be a root node.
warning: git-fsck-cache: tree <tree> has full pathnames in it::
warning: git-fsck-objects: tree <tree> has full pathnames in it::
And it shouldn't...
sha1 mismatch <object>::
......
......@@ -17,7 +17,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-script" to update the cache
This is used by "git-cvsimport" to update the cache
without modifying files in the work tree. When <type> is not
specified, it defaults to "blob".
......
git-http-pull(1)
================
git-http-fetch(1)
=================
v0.1, May 2005
NAME
----
git-http-pull - Downloads a remote GIT repository via HTTP
git-http-fetch - Downloads a remote GIT repository via HTTP
SYNOPSIS
--------
'git-http-pull' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] commit-id url
'git-http-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] commit-id url
DESCRIPTION
-----------
......
git-local-pull(1)
=================
git-local-fetch(1)
==================
v0.1, May 2005
NAME
----
git-local-pull - Duplicates another GIT repository on a local system
git-local-fetch - Duplicates another GIT repository on a local system
SYNOPSIS
--------
'git-local-pull' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] [-l] [-s] [-n] commit-id path
'git-local-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] [-l] [-s] [-n] commit-id path
DESCRIPTION
-----------
......
git-log-script(1)
=================
git-log(1)
==========
v0.99.4, Aug 2005
NAME
----
git-log-script - Show commit logs
git-log - Show commit logs
SYNOPSIS
......
git-ls-remote-script(1)
=======================
git-ls-remote(1)
================
v0.1, May 2005
NAME
----
git-ls-remote-script - Look at references other repository has.
git-ls-remote - Look at references other repository has.
SYNOPSIS
......
git-merge-cache(1)
git-merge-index(1)
==================
v0.1, May 2005
NAME
----
git-merge-cache - Runs a merge for files needing merging
git-merge-index - Runs a merge for files needing merging
SYNOPSIS
--------
'git-merge-cache' [-o] [-q] <merge-program> (-a | -- | <file>\*)
'git-merge-index' [-o] [-q] <merge-program> (-a | -- | <file>\*)
DESCRIPTION
-----------
......@@ -37,14 +37,14 @@ OPTIONS
failure usually indicates conflicts during merge). This is for
porcelains which might want to emit custom messages.
If "git-merge-cache" 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 the a script calling the merge command from
the RCS package.
A sample script called "git-merge-one-file-script" 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
......@@ -54,7 +54,7 @@ original is first. But the argument order to the 3-way merge program
Examples:
torvalds@ppc970:~/merge-test> git-merge-cache 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
......@@ -62,17 +62,17 @@ Examples:
or
torvalds@ppc970:~/merge-test> git-merge-cache 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-cache" will stop trying to
where the latter example shows how "git-merge-index" will stop trying to
merge once anything has returned an error (ie "cat" returned an error
for the AA file, because it didn't exist in the original, and thus
"git-merge-cache" didn't even try to merge the MM thing).
"git-merge-index" didn't even try to merge the MM thing).
Author
------
......
git-merge-one-file-script(1)
============================
git-merge-one-file(1)
=====================
v0.99.4, Aug 2005
NAME
----
git-merge-one-file-script - The standard helper program to use with "git-merge-cache"
git-merge-one-file - The standard helper program to use with "git-merge-index"
SYNOPSIS
--------
'git-merge-one-file-script'
'git-merge-one-file'
DESCRIPTION
-----------
This is the standard helper program to use with "git-merge-cache"
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
......
git-octopus-script(1)
=====================
git-octopus(1)
==============
v0.99.5, Aug 2005
NAME
----
git-octopus-script - Merge more than two commits.
git-octopus - Merge more than two commits.
SYNOPSIS
......
......@@ -76,7 +76,7 @@ Documentation by Junio C Hamano
See-Also
--------
git-repack-script(1) git-prune-packed(1)
git-repack(1) git-prune-packed(1)
GIT
---
......
git-parse-remote-script(1)
==========================
git-parse-remote(1)
===================
NAME
----
git-parse-remote-script - Routines to help parsing $GIT_DIR/remotes/
git-parse-remote - Routines to help parsing $GIT_DIR/remotes/
SYNOPSIS
--------
'. git-parse-remote-script'
'. git-parse-remote'
DESCRIPTION
-----------
......
......@@ -34,7 +34,7 @@ Documentation by Ryan Anderson <ryan@michonline.com>
See-Also
--------
git-pack-objects(1) git-repack-script(1)
git-pack-objects(1) git-repack(1)
GIT
---
......
git-prune-script(1)
===================
git-prune(1)
============
v0.99.5, Aug 2005
NAME
----
git-prune-script - Prunes all unreachable objects from the object database
git-prune - Prunes all unreachable objects from the object database
SYNOPSIS
--------
'git-prune-script' [-n]
'git-prune' [-n]
DESCRIPTION
-----------
This runs `git-fsck-cache --unreachable` using the heads
This runs `git-fsck-objects --unreachable` using the heads
specified on the command line (or `$GIT_DIR/refs/heads/\*` and
`$GIT_DIR/refs/tags/\*` if none is specified), and prunes all
unreachable objects from the object database. In addition, it
......
git-pull-script(1)
==================
git-pull(1)
===========
v0.99.4, Aug 2005
NAME
----
git-pull-script - Pull and merge from another repository.
git-pull - Pull and merge from another repository.
SYNOPSIS
--------
'git-pull-script' <repository> <refspec>...
'git-pull' <repository> <refspec>...
DESCRIPTION
-----------
Runs 'git-fetch-script' with the given parameters.
Runs 'git-fetch' with the given parameters.
When only one ref is downloaded, runs 'git resolve' to merge it
into the local HEAD. Otherwise uses 'git octopus' to merge them
......
git-push-script(1)
==================
git-push(1)
===========
NAME
----
git-push-script - Update remote refs along with associated objects.
git-push - Update remote refs along with associated objects.
SYNOPSIS
--------
'git-push-script' [--all] [--force] <repository> <refspec>...
'git-push' [--all] [--force] <repository> <refspec>...
DESCRIPTION
-----------
......
......@@ -16,7 +16,7 @@ DESCRIPTION
-----------
Reads the tree information given by <tree-ish> into the directory cache,
but does not actually *update* any of the files it "caches". (see:
git-checkout-cache)
git-checkout-index)
Optionally, it can merge a tree into the cache, perform a
fast-forward (i.e. 2-way) merge, or a 3-way merge, with the -m
......@@ -56,7 +56,7 @@ being read, the stat info from the cache is used. (In other words, the
cache'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-cache -f -u -a", the "git-checkout-cache" only checks out
"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
......@@ -126,13 +126,13 @@ operating under the -u flag.
When this form of git-read-tree returns successfully, you can
see what "local changes" you made are carried forward by running
"git-diff-cache --cached $M". Note that this does not
necessarily match "git-diff-cache --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-cache
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-cache --cached $M"
merge, but it would not show in "git-diff-index --cached $M"
output after two-tree merge.
......@@ -205,8 +205,8 @@ populated. Here is an outline of how the algorithm works:
matching "stage1" entry if it exists too. .. all the normal
trivial rules ..
You would normally use "git-merge-cache" with supplied
"git-merge-one-file-script" to do this last step. The script
You would normally use "git-merge-index" with supplied
"git-merge-one-file" to do this last step. The script
does not touch the files in the work tree, and the entire merge
happens in the index file. In other words, there is no need to
worry about what is in the working directory, since it is never
......@@ -225,13 +225,13 @@ changes. To illustrate, suppose you start from what has been
commited last to your repository:
$ JC=`cat .git/HEAD`
$ git-checkout-cache -f -u -a $JC
$ git-checkout-index -f -u -a $JC
You do random edits, without running git-update-cache. 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-script rsync://.... linus
$ git-fetch rsync://.... linus
$ LT=`cat .git/MERGE_HEAD`
Your work tree is still based on your HEAD ($JC), but you have
......@@ -240,7 +240,7 @@ added or modified cache 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-cache git-merge-one-file-script -a
$ git-merge-index git-merge-one-file -a
$ echo "Merge with Linus" | \
git-commit-tree `git-write-tree` -p $JC -p $LT
......
git-rebase-script(1)
====================
git-rebase(1)
=============
NAME
----
git-rebase-script - Rebase local commits to new upstream head.
git-rebase - Rebase local commits to new upstream head.
SYNOPSIS
--------
'git-rebase-script' <upstream> [<head>]
'git-rebase' <upstream> [<head>]
DESCRIPTION
-----------
......
git-relink-script(1)
====================
git-relink(1)
=============
NAME
----
git-relink-script - Hardlink common objects in local repositories.
git-relink - Hardlink common objects in local repositories.
SYNOPSIS
--------
'git-relink-script' [--safe] <dir> <dir> [<dir>]\*
'git-relink' [--safe] <dir> <dir> [<dir>]\*
DESCRIPTION
-----------
......
git-rename-script(1)
====================
git-rename(1)
=============
v0.1, May 2005
NAME
----
git-rename-script - Script used to rename a file, directory or symlink.
git-rename - Script used to rename a file, directory or symlink.
SYNOPSIS
--------
'git-rename-script' <source> <destination>
'git-rename' <source> <destination>
DESCRIPTION
-----------
......
git-repack-script(1)
====================
git-repack(1)
=============
v0.99.5, August 2005
NAME
----
git-repack-script - Script used to pack a repository from a collection of
git-repack - Script used to pack a repository from a collection of
objects into pack files.
SYNOPSIS
--------
'git-repack-script' [-a] [-d]
'git-repack' [-a] [-d]
DESCRIPTION
-----------
......
git-request-pull-script(1)
==========================
git-request-pull(1)
===================
NAME
----
git-request-pull-script - Generates a summary of pending changes.
git-request-pull - Generates a summary of pending changes.
SYNOPSIS
--------
'git-request-pull-script' <start> <url> [<end>]
'git-request-pull' <start> <url> [<end>]
DESCRIPTION
-----------
......
git-reset-script(1)
===================
git-reset(1)
============
NAME
----
git-reset-script - Reset current HEAD to the specified state.
git-reset - Reset current HEAD to the specified state.
SYNOPSIS
--------
'git-reset-script' [--mixed | --soft | --hard] [<commit-ish>]
'git-reset' [--mixed | --soft | --hard] [<commit-ish>]
DESCRIPTION
-----------
......
git-resolve-script(1)
=====================
git-resolve(1)
==============
v0.99.5, Aug 2005
NAME
----
git-resolve-script - Merge two commits
git-resolve - Merge two commits
SYNOPSIS
......
git-revert-script(1)
====================
git-revert(1)
=============
NAME
----
git-revert-script - Revert an existing commit.
git-revert - Revert an existing commit.
SYNOPSIS
--------
'git-revert-script' [-n] <commit>
'git-revert' [-n] <commit>
DESCRIPTION
-----------
......
git-send-email-script(1)
========================
git-send-email(1)
=================
v0.1, July 2005
NAME
----
git-send-email-script - Send a collection of patches as emails
git-send-email - Send a collection of patches as emails
SYNOPSIS
--------
'git-send-email-script' [options] <file|directory> [... file|directory]
'git-send-email' [options] <file|directory> [... file|directory]
......@@ -66,7 +66,7 @@ Author
------
Written by Ryan Anderson <ryan@michonline.com>
git-send-email-script is originally based upon
git-send-email is originally based upon
send_lots_of_email.pl by Greg Kroah-Hartman.
Documentation
......
git-sh-setup-script(1)
======================
git-sh-setup(1)
===============
NAME
----
git-sh-setup-script - Common git shell script setup code.
git-sh-setup - Common git shell script setup code.
SYNOPSIS
--------
'git-sh-setup-script'
'git-sh-setup'
DESCRIPTION
-----------
......@@ -16,7 +16,7 @@ Sets up the normal git environment variables and a few helper functions
(currently just "die()"), and returns ok if it all looks like a git archive.
So use it something like
. git-sh-setup-script || die "Not a git archive"
. git-sh-setup || die "Not a git archive"
to make the rest of the git scripts more careful and readable.
......
......@@ -88,7 +88,7 @@ the name of the branch because it is obvious.
$ git show-branch --more=4 master
[master] Add 'git show-branch'.
[~1] Add a new extended SHA1 syntax <name>~<num>
[~2] Fix "git-diff-script A B"
[~2] Fix "git-diff A B"
[~3] git-ls-files: generalized pathspecs
[~4] Make "git-ls-files" work in subdirectories
------------------------------------------------
......
git-ssh-pull(1)
===============
git-ssh-fetch(1)
================
v0.1, May 2005
NAME
----
git-ssh-pull - Pulls from a remote repository over ssh connection
git-ssh-fetch - Pulls from a remote repository over ssh connection
SYNOPSIS
--------
'git-ssh-pull' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] commit-id url
'git-ssh-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] commit-id url
DESCRIPTION
-----------
Pulls from a remote repository over ssh connection, invoking
git-ssh-push on the other end. It functions identically to
git-ssh-push, aside from which end you run it on.
git-ssh-upload on the other end. It functions identically to
git-ssh-upload, aside from which end you run it on.
OPTIONS
......
git-ssh-push(1)
===============
git-ssh-upload(1)
=================
v0.1, Jun 2005
NAME
----
git-ssh-push - Pushes to a remote repository over ssh connection
git-ssh-upload - Pushes to a remote repository over ssh connection
SYNOPSIS
--------
'git-ssh-push' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] commit-id url
'git-ssh-upload' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] commit-id url
DESCRIPTION
-----------
Pushes from a remote repository over ssh connection, invoking
git-ssh-pull on the other end. It functions identically to
git-ssh-pull, aside from which end you run it on.
git-ssh-fetch on the other end. It functions identically to
git-ssh-fetch, aside from which end you run it on.
OPTIONS
-------
......
git-status-script(1)
====================
git-status(1)
=============
v0.99.4, Aug 2005
NAME
----
git-status-script - Show working tree status.
git-status - Show working tree status.
SYNOPSIS
......@@ -16,7 +16,7 @@ DESCRIPTION
Examines paths in the working tree that has changes unrecorded
to the index file, and changes between the index file and the
current HEAD commit. The former paths are what you _could_
commit by running 'git-update-cache' before running 'git
commit by running 'git-update-index' before running 'git
commit', and the latter paths are what you _would_ commit by
running 'git commit'.
......
git-tag-script(1)
=================
git-tag(1)
==========
v0.99.4, Aug 2005
NAME
----
git-tag-script - Create a tag object signed with GPG
git-tag - Create a tag object signed with GPG
SYNOPSIS
--------
'git-tag-script' [-s | -a] [-f] <name>
'git-tag' [-s | -a] [-f] <name>
DESCRIPTION
-----------
......
git-update-cache(1)
git-update-index(1)
===================
v0.1, May 2005
NAME
----
git-update-cache - Modifies the index or directory cache
git-update-index - Modifies the index or directory cache
SYNOPSIS
--------
'git-update-cache'
'git-update-index'
[--add] [--remove] [--refresh] [--replace]
[--ignore-missing]
[--force-remove]
......@@ -23,7 +23,7 @@ Modifies the index or directory cache. Each file mentioned is updated
into the cache and any 'unmerged' or 'needs updating' state is
cleared.
The way "git-update-cache" handles files it is told about can be modified
The way "git-update-index" handles files it is told about can be modified
using the various options:
OPTIONS
......@@ -59,7 +59,7 @@ OPTIONS
--replace::
By default, when a file `path` exists in the index,
git-update-cache refuses an attempt to add `path/file`.
git-update-index refuses an attempt to add `path/file`.
Similarly if a file `path/file` exists, a file `path`
cannot be added. With --replace flag, existing entries
that conflicts with the entry being added are
......@@ -94,7 +94,7 @@ merging.
To pretend you have a file with mode and sha1 at path, say:
$ git-update-cache --cacheinfo mode sha1 path
$ git-update-index --cacheinfo mode sha1 path
'--info-only' is used to register files without placing them in the object
database. This is useful for status-only repositories.
......@@ -109,7 +109,7 @@ Examples
--------
To update and refresh only the files already checked out:
git-checkout-cache -n -f -a && git-update-cache --ignore-missing --refresh
git-checkout-index -n -f -a && git-update-index --ignore-missing --refresh
Author
......
......@@ -44,7 +44,7 @@ Your sysadmin must hate you!::
See Also
--------
link:git-commit-tree.html[git-commit-tree]
link:git-tag-script.html[git-tag-script]
link:git-tag.html[git-tag]
Author
------
......
git-verify-tag-script(1)
========================
git-verify-tag(1)
=================
NAME
----
git-verify-tag-script - Check the GPG signature of tag.
git-verify-tag - Check the GPG signature of tag.
SYNOPSIS
--------
'git-verify-tag-script' <tag>
'git-verify-tag' <tag>
DESCRIPTION
-----------
Validates the gpg signature created by git-tag-script.
Validates the gpg signature created by git-tag.
OPTIONS
-------
......
......@@ -20,7 +20,7 @@ The cache must be merged.
Conceptually, "git-write-tree" sync()s the current directory cache contents
into a set of tree files.
In order to have that match what is actually in your directory right
now, you need to have done a "git-update-cache" phase before you did the
now, you need to have done a "git-update-index" phase before you did the
"git-write-tree".
OPTIONS
......
......@@ -21,7 +21,7 @@ at the link:tutorial.html[tutorial] document.
The <<Discussion>> section below contains much useful definition and
clarification info - read that first. And of the commands, I suggest
reading link:git-update-cache.html[git-update-cache] and
reading link:git-update-index.html[git-update-index] and
link:git-read-tree.html[git-read-tree] first - I wish I had!
If you are migrating from CVS, link:cvs-migration.html[cvs migration]
......@@ -59,8 +59,9 @@ link:git-apply.html[git-apply]::
Reads a "diff -up1" or git generated patch file and
applies it to the working tree.
link:git-checkout-cache.html[git-checkout-cache]::
link:git-checkout-index.html[git-checkout-index]::
Copy files from the cache to the working directory
Previously this command was known as git-checkout-cache.
link:git-commit-tree.html[git-commit-tree]::
Creates a new commit object
......@@ -71,8 +72,9 @@ link:git-hash-object.html[git-hash-object]::
link:git-init-db.html[git-init-db]::
Creates an empty git object database
link:git-merge-cache.html[git-merge-cache]::
link:git-merge-index.html[git-merge-index]::
Runs a merge for files needing merging
Previously this command was known as git-merge-cache.
link:git-mktag.html[git-mktag]::
Creates a tag object
......@@ -89,8 +91,9 @@ link:git-read-tree.html[git-read-tree]::
link:git-unpack-objects.html[git-unpack-objects]::
Unpacks objects out of a packed archive.
link:git-update-cache.html[git-update-cache]::
link:git-update-index.html[git-update-index]::
Modifies the index or directory cache
Previously this command was known as git-update-cache.
link:git-write-tree.html[git-write-tree]::
Creates a tree from the current cache
......@@ -102,8 +105,9 @@ Interrogation commands
link:git-cat-file.html[git-cat-file]::
Provide content or type information for repository objects
link:git-diff-cache.html[git-diff-cache]::
link:git-diff-index.html[git-diff-index]::
Compares content and mode of blobs between the cache and repository
Previously this command was known as git-diff-cache.
link:git-diff-files.html[git-diff-files]::
Compares files in the working tree and the cache
......@@ -117,8 +121,9 @@ link:git-diff-tree.html[git-diff-tree]::
link:git-export.html[git-export]::
Exports each commit and a diff against each of its parents
link:git-fsck-cache.html[git-fsck-cache]::
link:git-fsck-objects.html[git-fsck-objects]::
Verifies the connectivity and validity of the objects in the database
Previously this command was known as git-fsck-cache.
link:git-ls-files.html[git-ls-files]::
Information about files in the cache/working directory
......@@ -164,11 +169,13 @@ link:git-clone-pack.html[git-clone-pack]::
link:git-fetch-pack.html[git-fetch-pack]::
Updates from a remote repository.
link:git-http-pull.html[git-http-pull]::
link:git-http-fetch.html[git-http-fetch]::
Downloads a remote GIT repository via HTTP
Previously this command was known as git-http-pull.
link:git-local-pull.html[git-local-pull]::
link:git-local-fetch.html[git-local-fetch]::
Duplicates another GIT repository on a local system
Previously this command was known as git-local-pull.
link:git-peek-remote.html[git-peek-remote]::
Lists references on a remote repository using upload-pack protocol.
......@@ -179,11 +186,13 @@ link:git-receive-pack.html[git-receive-pack]::
link:git-send-pack.html[git-send-pack]::
Pushes to a remote repository, intelligently.
link:git-ssh-pull.html[git-ssh-pull]::
link:git-ssh-fetch.html[git-ssh-fetch]::
Pulls from a remote repository over ssh connection
Previously this command was known as git-ssh-pull.
link:git-ssh-push.html[git-ssh-push]::
Helper "server-side" program used by git-ssh-pull
link:git-ssh-upload.html[git-ssh-upload]::
Helper "server-side" program used by git-ssh-fetch
Previously this command was known as git-ssh-push.
link:git-update-server-info.html[git-update-server-info]::
Updates auxiliary information on a dumb server to help
......@@ -197,65 +206,84 @@ link:git-upload-pack.html[git-upload-pack]::
Porcelain-ish Commands
----------------------
link:git-add-script.html[git-add-script]::
link:git-add.html[git-add]::
Add paths to the index file.
Previously this command was known as git-add-script.
link:git-applymbox.html[git-applymbox]::
Apply patches from a mailbox.
link:git-bisect-script.html[git-bisect-script]::
link:git-bisect.html[git-bisect]::
Find the change that introduced a bug.
Previously this command was known as git-bisect-script.
link:git-branch-script.html[git-branch-script]::
link:git-branch.html[git-branch]::
Create and Show branches.
Previously this command was known as git-branch-script.
link:git-checkout-script.html[git-checkout-script]::
link:git-checkout.html[git-checkout]::
Checkout and switch to a branch.
Previously this command was known as git-checkout-script.
link:git-cherry-pick-script.html[git-cherry-pick-script]::
link:git-cherry-pick.html[git-cherry-pick]::
Cherry-pick the effect of an existing commit.
Previously this command was known as git-cherry-pick-script.
link:git-clone-script.html[git-clone-script]::
link:git-clone.html[git-clone]::
Clones a repository into a new directory.
Previously this command was known as git-clone-script.
link:git-commit-script.html[git-commit-script]::
link:git-commit.html[git-commit]::
Record changes to the repository.
Previously this command was known as git-commit-script.
link:git-fetch-script.html[git-fetch-script]::
link:git-fetch.html[git-fetch]::
Download from a remote repository via various protocols.
Previously this command was known as git-fetch-script.
link:git-log-script.html[git-log-script]::
link:git-log.html[git-log]::
Shows commit logs.
Previously this command was known as git-log-script.
link:git-ls-remote-script.html[git-ls-remote-script]::
link:git-ls-remote.html[git-ls-remote]::
Shows references in a remote or local repository.
Previously this command was known as git-ls-remote-script.
link:git-octopus-script.html[git-octopus-script]::
link:git-octopus.html[git-octopus]::
Merge more than two commits.
Previously this command was known as git-octopus-script.
link:git-pull-script.html[git-pull-script]::
link:git-pull.html[git-pull]::
Fetch from and merge with a remote repository.
Previously this command was known as git-pull-script.
link:git-push-script.html[git-push-script]::
link:git-push.html[git-push]::
Update remote refs along with associated objects.
Previously this command was known as git-push-script.
link:git-rebase-script.html[git-rebase-script]::
link:git-rebase.html[git-rebase]::
Rebase local commits to new upstream head.
Previously this command was known as git-rebase-script.
link:git-rename-script.html[git-rename]::
link:git-rename.html[git-rename]::
Rename files and directories.
Previously this command was known as git-rename-script.
link:git-repack-script.html[git-repack-script]::
link:git-repack.html[git-repack]::
Pack unpacked objects in a repository.
Previously this command was known as git-repack-script.
link:git-reset-script.html[git-reset-script]::
link:git-reset.html[git-reset]::
Reset current HEAD to the specified state.
Previously this command was known as git-reset-script.
link:git-resolve-script.html[git-resolve-script]::
link:git-resolve.html[git-resolve]::
Merge two commits.
Previously this command was known as git-resolve-script.
link:git-revert-script.html[git-revert-script]::
link:git-revert.html[git-revert]::
Revert an existing commit.
Previously this command was known as git-revert-script.
link:git-shortlog.html[git-shortlog]::
Summarizes 'git log' output.
......@@ -263,11 +291,13 @@ link:git-shortlog.html[git-shortlog]::
link:git-show-branch.html[git-show-branch]::
Show branches and their commits.
link:git-status-script.html[git-status-script]::
link:git-status.html[git-status]::
Shows the working tree status.
Previously this command was known as git-status-script.
link:git-verify-tag-script.html[git-verify-tag-script]::
link:git-verify-tag.html[git-verify-tag]::
Check the GPG signature of tag.
Previously this command was known as git-verify-tag-script.
link:git-whatchanged.html[git-whatchanged]::
Shows commit logs and differences they introduce.
......@@ -280,29 +310,37 @@ Manipulators:
link:git-applypatch.html[git-applypatch]::
Apply one patch extracted from an e-mail.
link:git-archimport-script.html[git-archimport-script]::
link:git-archimport.html[git-archimport]::
Import an arch repository into git.
Previously this command was known as git-archimport-script.
link:git-convert-cache.html[git-convert-cache]::
link:git-convert-objects.html[git-convert-objects]::
Converts old-style GIT repository
Previously this command was known as git-convert-cache.
link:git-cvsimport-script.html[git-cvsimport-script]::
link:git-cvsimport.html[git-cvsimport]::
Salvage your data out of another SCM people love to hate.
Previously this command was known as git-cvsimport-script.
link:git-merge-one-file-script.html[git-merge-one-file-script]::
The standard helper program to use with "git-merge-cache"
link:git-merge-one-file.html[git-merge-one-file]::
The standard helper program to use with "git-merge-index"
Previously this command was known as git-merge-one-file-script.
link:git-prune-script.html[git-prune-script]::
link:git-prune.html[git-prune]::
Prunes all unreachable objects from the object database
Previously this command was known as git-prune-script.
link:git-relink-script.html[git-relink-script]::
link:git-relink.html[git-relink]::
Hardlink common objects in local repositories.
Previously this command was known as git-relink-script.
link:git-sh-setup-script.html[git-sh-setup-script]::
link:git-sh-setup.html[git-sh-setup]::
Common git shell script setup code.
Previously this command was known as git-sh-setup-script.
link:git-tag-script.html[git-tag-script]::
link:git-tag.html[git-tag]::
An example script to create a tag object signed with GPG
Previously this command was known as git-tag-script.
Interrogators:
......@@ -313,8 +351,9 @@ link:git-build-rev-cache.html[git-build-rev-cache]::
link:git-cherry.html[git-cherry]::
Find commits not merged upstream.
link:git-count-objects-script.html[git-count-objects-script]::
link:git-count-objects.html[git-count-objects]::
Count unpacked number of objects and their disk consumption.
Previously this command was known as git-count-objects-script.
link:git-daemon.html[git-daemon]::
A really simple server for GIT repositories.
......@@ -334,17 +373,20 @@ link:git-mailsplit.html[git-mailsplit]::
link:git-patch-id.html[git-patch-id]::
Compute unique ID for a patch.
link:git-parse-remote-script.html[git-parse-remote-script]::
link:git-parse-remote.html[git-parse-remote]::
Routines to help parsing $GIT_DIR/remotes/
Previously this command was known as git-parse-remote-script.
link:git-request-pull-script.html[git-request-pull-script]::
git-request-pull-script.
link:git-request-pull.html[git-request-pull]::
git-request-pull.
Previously this command was known as git-request-pull-script.
link:git-rev-parse.html[git-rev-parse]::
Pick out and massage parameters.
link:git-send-email-script.html[git-send-email]::
link:git-send-email.html[git-send-email]::
Send patch e-mails out of "format-patch --mbox" output.
Previously this command was known as git-send-email-script.
link:git-show-rev-cache.html[git-show-rev-cache]::
Show the contents of a rev-cache file.
......@@ -352,11 +394,13 @@ link:git-show-rev-cache.html[git-show-rev-cache]::
Commands not yet documented
---------------------------
link:git-diff-script.html[git-diff-script]::
git-diff-script.
link:git-diff.html[git-diff]::
git-diff.
Previously this command was known as git-diff-script.
link:git-format-patch-script.html[git-format-patch-script]::
git-format-patch-script.
link:git-format-patch.html[git-format-patch]::
git-format-patch.
Previously this command was known as git-format-patch-script.
link:git-stripspace.html[git-stripspace]::
git-stripspace.
......@@ -473,7 +517,7 @@ git Diffs
'GIT_DIFF_OPTS'::
'GIT_EXTERNAL_DIFF'::
see the "generating patches" section in :
link:git-diff-cache.html[git-diff-cache];
link:git-diff-index.html[git-diff-index];
link:git-diff-files.html[git-diff-files];
link:git-diff-tree.html[git-diff-tree]
......
......@@ -56,11 +56,11 @@ the outcome of `git-applypatch`.
pre-commit
----------
This hook is invoked by `git-commit-script`, and can be bypassed
This hook is invoked by `git-commit`, and can be bypassed
with `--no-verify` option. It takes no parameter, and is
invoked before obtaining the proposed commit log message and
making a commit. Exiting with non-zero status from this script
causes the `git-commit-script` to abort.
causes the `git-commit` to abort.
The default pre-commit hook, when enabled, catches introduction
of lines with trailing whitespaces and aborts the commit when
......@@ -69,10 +69,10 @@ a such line is found.
commit-msg
----------
This hook is invoked by `git-commit-script`, and can be bypassed
This hook is invoked by `git-commit`, and can be bypassed
with `--no-verify` option. It takes a single parameter, the
name of the file that holds the proposed commit log message.
Exiting with non-zero status causes the `git-commit-script` to
Exiting with non-zero status causes the `git-commit` to
abort.
The hook is allowed to edit the message file in place, and can
......@@ -86,11 +86,11 @@ Signed-off-by: lines, and aborts the commit when one is found.
post-commit
-----------
This hook is invoked by `git-commit-script`. It takes no
This hook is invoked by `git-commit`. It takes no
parameter, and is invoked after a commit is made.
This hook is meant primarily for notification, and cannot affect
the outcome of `git-commit-script`.
the outcome of `git-commit`.
The default post-commit hook, when enabled, demonstrates how to
send out a commit notification e-mail.
......
......@@ -32,7 +32,7 @@ This is my crappy "release-script":
stable="$1"
last="$2"
new="$3"
echo "# git-tag-script v$new"
echo "# git-tag v$new"
echo "git-tar-tree v$new linux-$new | gzip -9 > ../linux-$new.tar.gz"
echo "git-diff-tree -p v$stable v$new | gzip -9 > ../patch-$new.gz"
echo "git-rev-list --pretty v$new ^v$last > ../ChangeLog-$new"
......
......@@ -111,7 +111,7 @@ prepare #2 and #3 for e-mail submission.
This creates two files, 0001-XXXX.txt and 0002-XXXX.txt. Send
them out "To: " your project maintainer and "Cc: " your mailing
list. You could use contributed script git-send-email-script if
list. You could use contributed script git-send-email if
your host has necessary perl modules for this, but your usual
MUA would do as long as it does not corrupt whitespaces in the
patch.
......
......@@ -182,10 +182,10 @@ And the final repository status looks like this:
------------------------------------------------
$ git show-branch --more=1 master pu rc
! [master] Revert "Replace zero-length array decls with []."
! [pu] git-repack-script: Add option to repack all objects.
! [pu] git-repack: Add option to repack all objects.
* [rc] Merge refs/heads/master from .
---
+ [pu] git-repack-script: Add option to repack all objects.
+ [pu] git-repack: Add option to repack all objects.
+ [pu~1] More documentation updates.
+ [pu~2] Show commits in topo order and name all commits.
+ [pu~3] mailinfo and applymbox updates
......
......@@ -126,7 +126,7 @@ actually check in your hard work, you will have to go through two steps:
- commit that index file as an object.
The first step is trivial: when you want to tell git about any changes
to your working tree, you use the `git-update-cache` program. That
to your working tree, you use the `git-update-index` program. That
program normally just takes a list of filenames you want to update, but
to avoid trivial mistakes, it refuses to add new entries to the cache
(or remove existing ones) unless you explicitly tell it that you're
......@@ -136,7 +136,7 @@ adding a new entry with the `\--add` flag (or removing an entry with the
So to populate the index with the two files you just created, you can do
------------------------------------------------
git-update-cache --add hello example
git-update-index --add hello example
------------------------------------------------
and you have now told git to track those two files.
......@@ -183,7 +183,7 @@ hexadecimal digits in most places.
Anyway, as we mentioned previously, you normally never actually take a
look at the objects themselves, and typing long 40-character hex
names is not something you'd normally want to do. The above digression
was just to show that `git-update-cache` did something magical, and
was just to show that `git-update-index` did something magical, and
actually saved away the contents of your files into the git object
database.
......@@ -318,7 +318,7 @@ instead, and it would have done the above magic scripting for you.
Making a change
---------------
Remember how we did the `git-update-cache` on file `hello` and then we
Remember how we did the `git-update-index` on file `hello` and then we
changed `hello` afterward, and could compare the new state of `hello` with the
state we saved in the index file?
......@@ -333,18 +333,18 @@ As before, if we do `git-diff-files -p` in our git-tutorial project,
we'll still see the same difference we saw last time: the index file
hasn't changed by the act of committing anything. However, now that we
have committed something, we can also learn to use a new command:
`git-diff-cache`.
`git-diff-index`.
Unlike `git-diff-files`, which showed the difference between the index
file and the working tree, `git-diff-cache` shows the differences
file and the working tree, `git-diff-index` shows the differences
between a committed *tree* and either the index file or the working
tree. In other words, `git-diff-cache` wants a tree to be diffed
tree. In other words, `git-diff-index` wants a tree to be diffed
against, and before we did the commit, we couldn't do that, because we
didn't have anything to diff against.
But now we can do
git-diff-cache -p HEAD
git-diff-index -p HEAD
(where `-p` has the same meaning as it did in `git-diff-files`), and it
will show us the same difference, but for a totally different reason.
......@@ -359,16 +359,16 @@ it with
which ends up doing the above for you.
In other words, `git-diff-cache` normally compares a tree against the
In other words, `git-diff-index` normally compares a tree against the
working tree, but when given the `\--cached` flag, it is told to
instead compare against just the index cache contents, and ignore the
current working tree state entirely. Since we just wrote the index
file to HEAD, doing `git-diff-cache \--cached -p HEAD` should thus return
file to HEAD, doing `git-diff-index \--cached -p HEAD` should thus return
an empty set of differences, and that's exactly what it does.
[NOTE]
================
`git-diff-cache` really always uses the index for its
`git-diff-index` really always uses the index for its
comparisons, and saying that it compares a tree against the working
tree is thus not strictly accurate. In particular, the list of
files to compare (the "meta-data") *always* comes from the index file,
......@@ -391,7 +391,7 @@ work through the index file, so the first thing we need to do is to
update the index cache:
------------------------------------------------
git-update-cache hello
git-update-index hello
------------------------------------------------
(note how we didn't need the `\--add` flag this time, since git knew
......@@ -399,9 +399,9 @@ about the file already).
Note what happens to the different `git-diff-\*` versions here. After
we've updated `hello` in the index, `git-diff-files -p` now shows no
differences, but `git-diff-cache -p HEAD` still *does* show that the
differences, but `git-diff-index -p HEAD` still *does* show that the
current state is different from the state we committed. In fact, now
`git-diff-cache` shows the same difference whether we use the `--cached`
`git-diff-index` shows the same difference whether we use the `--cached`
flag or not, since now the index is coherent with the working tree.
Now, since we've updated `hello` in the index, we can commit the new
......@@ -429,7 +429,7 @@ You've now made your first real git commit. And if you're interested in
looking at what `git commit` really does, feel free to investigate:
it's a few very simple shell scripts to generate the helpful (?) commit
message headers, and a few one-liners that actually do the
commit itself (`git-commit-script`).
commit itself (`git-commit`).
Checking it out
......@@ -490,11 +490,11 @@ can explore on your own.
Most likely, you are not directly using the core
git Plumbing commands, but using Porcelain like Cogito on top
of it. Cogito works a bit differently and you usually do not
have to run `git-update-cache` yourself for changed files (you
have to run `git-update-index` yourself for changed files (you
do tell underlying git about additions and removals via
`cg-add` and `cg-rm` commands). Just before you make a commit
with `cg-commit`, Cogito figures out which files you modified,
and runs `git-update-cache` on them for you.
and runs `git-update-index` on them for you.
Tagging a version
......@@ -579,7 +579,7 @@ file (which caches various information, notably some of the "stat"
information for the files involved) will likely need to be refreshed.
So after you do a `cp -a` to create a new copy, you'll want to do
git-update-cache --refresh
git-update-index --refresh
+
in the new repository to make sure that the index file is up-to-date.
......@@ -591,16 +591,16 @@ When copying a remote repository, you'll want to at a minimum update the
index cache when you do this, and especially with other peoples'
repositories you often want to make sure that the index cache is in some
known state (you don't know *what* they've done and not yet checked in),
so usually you'll precede the `git-update-cache` with a
so usually you'll precede the `git-update-index` with a
git-read-tree --reset HEAD
git-update-cache --refresh
git-update-index --refresh
which will force a total index re-build from the tree pointed to by `HEAD`.
It resets the index contents to `HEAD`, and then the `git-update-cache`
It resets the index contents to `HEAD`, and then the `git-update-index`
makes sure to match up all index entries with the checked-out files.
If the original repository had uncommitted changes in its
working tree, `git-update-cache --refresh` notices them and
working tree, `git-update-index --refresh` notices them and
tells you they need to be updated.
The above can also be written as simply
......@@ -610,7 +610,7 @@ The above can also be written as simply
and in fact a lot of the common git command combinations can be scripted
with the `git xyz` interfaces, and you can learn things by just looking
at what the `git-*-script` scripts do (`git reset` is the above two lines
implemented in `git-reset-script`, but some things like `git status` and
implemented in `git-reset`, but some things like `git status` and
`git commit` are slightly more complex scripts around the basic git
commands).
......@@ -638,13 +638,13 @@ you have all the git internal files, but you will notice that you don't
actually have any of the working tree files to work on. To get
those, you'd check them out with
git-checkout-cache -u -a
git-checkout-index -u -a
where the `-u` flag means that you want the checkout to keep the index
up-to-date (so that you don't have to refresh it afterward), and the
`-a` flag means "check out all files" (if you have a stale copy or an
older version of a checked out tree you may also need to add the `-f`
flag first, to tell git-checkout-cache to *force* overwriting of any old
flag first, to tell git-checkout-index to *force* overwriting of any old
files).
Again, this can all be simplified with
......@@ -742,7 +742,7 @@ git commit -m 'Some work.' hello
------------------------------------------------
Here, we just added another line to `hello`, and we used a shorthand for
both going a `git-update-cache hello` and `git commit` by just giving the
both going a `git-update-index hello` and `git commit` by just giving the
filename directly to `git commit`. The `-m` flag is to give the
commit log message from the command line.
......@@ -971,7 +971,7 @@ transports', because they do not require any GIT aware smart
server like GIT Native transport does. Any stock HTTP server
would suffice.
+
There are (confusingly enough) `git-ssh-pull` and `git-ssh-push`
There are (confusingly enough) `git-ssh-fetch` and `git-ssh-upload`
programs, which are 'commit walkers'; they outlived their
usefulness when GIT Native and SSH transports were introduced,
and not used by `git pull` or `git push` scripts.
......
......@@ -18,7 +18,7 @@ Issues of note:
Tough. Either don't use the wrapper script, or delete the old GNU
interactive tools. None of the core git stuff needs the wrapper,
it's just a convenient shorthand and while it is documented in some
places, you can always replace "git commit" with "git-commit-script"
places, you can always replace "git commit" with "git-commit"
instead.
But let's face it, most of us don't have GNU interactive tools, and
......@@ -41,8 +41,8 @@ Issues of note:
can avoid the bignum support by excising git-rev-list support
for "--merge-order" (by hand).
- "libcurl" and "curl" executable. git-http-pull and
git-fetch-script use them. If you do not use http
- "libcurl" and "curl" executable. git-http-fetch and
git-fetch use them. If you do not use http
transfer, you are probabaly OK if you do not have
them.
......
......@@ -57,24 +57,21 @@ SPARSE_FLAGS = -D__BIG_ENDIAN__ -D__powerpc__
### --- END CONFIGURATION SECTION ---
SCRIPTS=git git-merge-one-file-script git-prune-script \
git-pull-script git-tag-script git-resolve-script git-whatchanged \
git-fetch-script git-status-script git-commit-script \
git-log-script git-shortlog git-cvsimport-script git-diff-script \
git-reset-script git-add-script git-checkout-script git-clone-script \
gitk git-cherry git-rebase-script git-relink-script git-repack-script \
git-format-patch-script git-sh-setup-script git-push-script \
git-branch-script git-parse-remote-script git-verify-tag-script \
git-ls-remote-script git-rename-script \
git-request-pull-script git-bisect-script \
git-applymbox git-applypatch
SCRIPTS += git-count-objects-script
SCRIPTS += git-revert-script
SCRIPTS += git-octopus-script
SCRIPTS += git-archimport-script
SCRIPT_SH = \
git-add.sh git-bisect.sh git-branch.sh git-checkout.sh \
git-cherry.sh git-clone.sh git-commit.sh \
git-count-objects.sh git-diff.sh git-fetch.sh \
git-format-patch.sh git-log.sh git-ls-remote.sh \
git-merge-one-file.sh git-octopus.sh git-parse-remote.sh \
git-prune.sh git-pull.sh git-push.sh git-rebase.sh \
git-repack.sh git-request-pull.sh git-reset.sh \
git-resolve.sh git-revert.sh git-sh-setup.sh git-status.sh \
git-tag.sh git-verify-tag.sh git-whatchanged.sh git.sh \
git-applymbox.sh git-applypatch.sh
SCRIPT_PERL = \
git-archimport.perl git-cvsimport.perl git-relink.perl \
git-rename.perl git-send-email.perl git-shortlog.perl
# The ones that do not have to link with lcrypto nor lz.
SIMPLE_PROGRAMS = \
......@@ -82,56 +79,50 @@ SIMPLE_PROGRAMS = \
git-daemon git-var
# ... and all the rest
PROG= git-update-cache git-diff-files git-init-db git-write-tree \
git-read-tree git-commit-tree git-cat-file git-fsck-cache \
git-checkout-cache git-diff-tree git-rev-tree git-ls-files \
git-ls-tree git-merge-base git-merge-cache \
git-unpack-file git-export git-diff-cache git-convert-cache \
git-ssh-push git-ssh-pull git-rev-list git-mktag \
git-diff-helper git-tar-tree git-local-pull git-hash-object \
git-apply \
git-diff-stages git-rev-parse git-patch-id git-pack-objects \
git-unpack-objects git-verify-pack git-receive-pack git-send-pack \
git-prune-packed git-fetch-pack git-upload-pack git-clone-pack \
git-show-index git-peek-remote git-show-branch \
git-update-server-info git-show-rev-cache git-build-rev-cache \
PROGRAMS = \
git-apply git-build-rev-cache git-cat-file \
git-checkout-index git-clone-pack git-commit-tree \
git-convert-objects git-diff-files \
git-diff-helper git-diff-index git-diff-stages \
git-diff-tree git-export git-fetch-pack git-fsck-objects \
git-hash-object git-init-db \
git-local-fetch git-ls-files git-ls-tree git-merge-base \
git-merge-index git-mktag git-pack-objects git-patch-id \
git-peek-remote git-prune-packed git-read-tree \
git-receive-pack git-rev-list git-rev-parse \
git-rev-tree git-send-pack git-show-branch \
git-show-index git-show-rev-cache git-ssh-fetch \
git-ssh-upload git-tar-tree git-unpack-file \
git-unpack-objects git-update-index git-update-server-info \
git-upload-pack git-verify-pack git-write-tree \
$(SIMPLE_PROGRAMS)
ifdef WITH_SEND_EMAIL
SCRIPTS += git-send-email-script
SCRIPT_PERL += git-send-email.perl
endif
ifndef NO_CURL
PROG+= git-http-pull
PROGRAMS += git-http-fetch
endif
LIB_FILE=libgit.a
LIB_H=cache.h object.h blob.h tree.h commit.h tag.h delta.h epoch.h csum-file.h \
pack.h pkt-line.h refs.h
LIB_OBJS=read-cache.o sha1_file.o usage.o object.o commit.o tree.o blob.o \
tag.o date.o index.o diff-delta.o patch-delta.o entry.o path.o \
refs.o csum-file.o pack-check.o pkt-line.o connect.o ident.o \
sha1_name.o setup.o
LIB_H += rev-cache.h
LIB_OBJS += rev-cache.o
LIB_H += run-command.h
LIB_OBJS += run-command.o
LIB_H = \
blob.h cache.h commit.h count-delta.h csum-file.h delta.h \
diff.h epoch.h object.h pack.h pkt-line.h quote.h refs.h \
rev-cache.h run-command.h strbuf.h tag.h tree.h
LIB_H += strbuf.h
LIB_OBJS += strbuf.o
DIFF_OBJS = \
diff.o diffcore-break.o diffcore-order.o diffcore-pathspec.o \
diffcore-pickaxe.o diffcore-rename.o
LIB_H += quote.h
LIB_OBJS += quote.o
LIB_H += diff.h count-delta.h
DIFF_OBJS = diff.o diffcore-rename.o diffcore-pickaxe.o diffcore-pathspec.o \
diffcore-break.o diffcore-order.o
LIB_OBJS += $(DIFF_OBJS) count-delta.o
LIB_OBJS += gitenv.o
LIB_OBJS += server-info.o
LIB_OBJS = \
blob.o commit.o connect.o count-delta.o csum-file.o \
date.o diff-delta.o entry.o gitenv.o ident.o index.o \
object.o pack-check.o patch-delta.o path.o pkt-line.o \
quote.o read-cache.o refs.o rev-cache.o run-command.o \
server-info.o setup.o sha1_file.o sha1_name.o strbuf.o \
tag.o tree.o usage.o $(DIFF_OBJS)
LIBS = $(LIB_FILE)
LIBS += -lz
......@@ -143,11 +134,11 @@ endif
ifndef NO_OPENSSL
LIB_OBJS += epoch.o
OPENSSL_LIBSSL=-lssl
OPENSSL_LIBSSL = -lssl
else
DEFINES += '-DNO_OPENSSL'
MOZILLA_SHA1=1
OPENSSL_LIBSSL=
MOZILLA_SHA1 = 1
OPENSSL_LIBSSL =
endif
ifdef NEEDS_SSL_WITH_CRYPTO
LIB_4_CRYPTO = -lcrypto -lssl
......@@ -160,25 +151,25 @@ else
LIB_4_ICONV =
endif
ifdef MOZILLA_SHA1
SHA1_HEADER="mozilla-sha1/sha1.h"
SHA1_HEADER = "mozilla-sha1/sha1.h"
LIB_OBJS += mozilla-sha1/sha1.o
else
ifdef PPC_SHA1
SHA1_HEADER="ppc/sha1.h"
SHA1_HEADER = "ppc/sha1.h"
LIB_OBJS += ppc/sha1.o ppc/sha1ppc.o
else
SHA1_HEADER=<openssl/sha.h>
SHA1_HEADER = <openssl/sha.h>
LIBS += $(LIB_4_CRYPTO)
endif
endif
DEFINES += '-DSHA1_HEADER=$(SHA1_HEADER)'
SCRIPTS = $(SCRIPT_SH) $(SCRIPT_PERL) gitk
### Build rules
all: $(PROG)
all: $(PROGRAMS)
all:
$(MAKE) -C templates
......@@ -196,12 +187,12 @@ $(SIMPLE_PROGRAMS) : $(LIB_FILE)
$(SIMPLE_PROGRAMS) : git-% : %.o
$(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIB_FILE) $(SIMPLE_LIB)
git-http-pull: pull.o
git-local-pull: pull.o
git-ssh-pull: rsh.o pull.o
git-ssh-push: rsh.o
git-http-fetch: fetch.o
git-local-fetch: fetch.o
git-ssh-fetch: rsh.o fetch.o
git-ssh-upload: rsh.o
git-http-pull: LIBS += -lcurl
git-http-fetch: LIBS += -lcurl
git-rev-list: LIBS += $(OPENSSL_LIBSSL)
init-db.o: init-db.c
......@@ -209,7 +200,7 @@ init-db.o: init-db.c
-DDEFAULT_GIT_TEMPLATE_DIR='"$(template_dir)"' $*.c
$(LIB_OBJS): $(LIB_H)
$(patsubst git-%,%.o,$(PROG)): $(LIB_H)
$(patsubst git-%,%.o,$(PROGRAMS)): $(LIB_H)
$(DIFF_OBJS): diffcore.h
$(LIB_FILE): $(LIB_OBJS)
......@@ -219,7 +210,6 @@ doc:
$(MAKE) -C Documentation all
### Testing rules
test: all
......@@ -238,10 +228,22 @@ check:
### Installation rules
install: $(PROG) $(SCRIPTS)
install: $(PROGRAMS) $(SCRIPTS)
$(INSTALL) -m755 -d $(DESTDIR)$(bindir)
$(INSTALL) $(PROG) $(SCRIPTS) $(DESTDIR)$(bindir)
$(INSTALL) git-revert-script $(DESTDIR)$(bindir)/git-cherry-pick-script
$(INSTALL) $(PROGRAMS) $(DESTDIR)$(bindir)
@for s in $(SCRIPTS); \
do \
case "$$s" in \
*.*) \
e=`expr "$$s" : '\(.*\)\.[^.]*$$'` ;; \
*) \
e="$$s" ;; \
esac && \
echo ": install $$s $(DESTDIR)$(bindir)/$$e" && \
$(INSTALL) $$s $(DESTDIR)$(bindir)/$$e || exit; \
done
$(INSTALL) git-revert.sh $(DESTDIR)$(bindir)/git-cherry-pick
sh ./cmd-rename.sh $(DESTDIR)$(bindir)
$(MAKE) -C templates install
install-doc:
......@@ -276,7 +278,7 @@ deb: dist
### Cleaning rules
clean:
rm -f *.o mozilla-sha1/*.o ppc/*.o $(PROG) $(LIB_FILE)
rm -f *.o mozilla-sha1/*.o ppc/*.o $(PROGRAMS) $(LIB_FILE)
rm -f git-core.spec
rm -rf $(GIT_TARNAME)
rm -f $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz
......
......@@ -81,7 +81,7 @@ size> + <byte\0> + <binary object data>.
The structured objects can further have their structure and
connectivity to other objects verified. This is generally done with
the `git-fsck-cache` program, which generates a full dependency graph
the `git-fsck-objects` program, which generates a full dependency graph
of all objects, and verifies their internal consistency (in addition
to just verifying their superficial consistency through the hash).
......@@ -104,7 +104,7 @@ object. The object is totally independent of its location in the
directory tree, and renaming a file does not change the object that
file is associated with in any way.
A blob is typically created when link:git-update-cache.html[git-update-cache]
A blob is typically created when link:git-update-index.html[git-update-index]
is run, and its data can be accessed by link:git-cat-file.html[git-cat-file].
Tree Object
......@@ -218,7 +218,7 @@ verification) has to come from outside.
A tag is created with link:git-mktag.html[git-mktag],
its data can be accessed by link:git-cat-file.html[git-cat-file],
and the signature can be verified by
link:git-verify-tag-script.html[git-verify-tag].
link:git-verify-tag.html[git-verify-tag].
The "index" aka "Current Directory Cache"
......@@ -286,11 +286,11 @@ main combinations:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You update the index with information from the working directory with
the link:git-update-cache.html[git-update-cache] command. You
the link:git-update-index.html[git-update-index] command. You
generally update the index information by just specifying the filename
you want to update, like so:
git-update-cache filename
git-update-index filename
but to avoid common mistakes with filename globbing etc, the command
will not normally add totally new entries or remove old entries,
......@@ -307,7 +307,7 @@ removed. The only thing `--remove` means is that update-cache will be
considering a removed file to be a valid thing, and if the file really
does not exist any more, it will update the index accordingly.
As a special case, you can also do `git-update-cache --refresh`, which
As a special case, you can also do `git-update-index --refresh`, which
will refresh the "stat" information of each index to match the current
stat information. It will 'not' update the object status itself, and
it will only update the fields that are used to quickly test whether
......@@ -347,18 +347,18 @@ You update your working directory from the index by "checking out"
files. This is not a very common operation, since normally you'd just
keep your files updated, and rather than write to your working
directory, you'd tell the index files about the changes in your
working directory (i.e. `git-update-cache`).
working directory (i.e. `git-update-index`).
However, if you decide to jump to a new version, or check out somebody
else's version, or just restore a previous tree, you'd populate your
index file with read-tree, and then you need to check out the result
with
git-checkout-cache filename
git-checkout-index filename
or, if you want to check out all of the index, use `-a`.
NOTE! git-checkout-cache normally refuses to overwrite old files, so
NOTE! git-checkout-index normally refuses to overwrite old files, so
if you have an old version of the tree already checked out, you will
need to use the "-f" flag ('before' the "-a" flag or the filename) to
'force' the checkout.
......@@ -530,17 +530,17 @@ the merge result makes sense, you can tell git what the final
merge result for this file is by:
mv -f hello.c~2 hello.c
git-update-cache hello.c
git-update-index hello.c
When a path is in unmerged state, running `git-update-cache` for
When a path is in unmerged state, running `git-update-index` for
that path tells git to mark the path resolved.
The above is the description of a git merge at the lowest level,
to help you understand what conceptually happens under the hood.
In practice, nobody, not even git itself, uses three `git-cat-file`
for this. There is `git-merge-cache` program that extracts the
for this. There is `git-merge-index` program that extracts the
stages to temporary files and calls a `merge` script on it
git-merge-cache git-merge-one-file-script hello.c
git-merge-index git-merge-one-file hello.c
and that is what higher level `git resolve` is implemented with.
......@@ -5,22 +5,22 @@
*
* Careful: order of argument flags does matter. For example,
*
* git-checkout-cache -a -f file.c
* git-checkout-index -a -f file.c
*
* Will first check out all files listed in the cache (but not
* overwrite any old ones), and then force-checkout "file.c" a
* second time (ie that one _will_ overwrite any old contents
* with the same filename).
*
* Also, just doing "git-checkout-cache" does nothing. You probably
* meant "git-checkout-cache -a". And if you want to force it, you
* want "git-checkout-cache -f -a".
* Also, 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" thing is that
* from scripts you are supposed to be able to do things like
*
* find . -name '*.h' -print0 | xargs -0 git-checkout-cache -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",
......@@ -50,7 +50,7 @@ static int checkout_file(const char *name)
if (!state.quiet) {
pos = -pos - 1;
fprintf(stderr,
"git-checkout-cache: %s is %s.\n",
"git-checkout-index: %s is %s.\n",
name,
(pos < active_nr &&
!strcmp(active_cache[pos]->name, name)) ?
......@@ -76,7 +76,7 @@ static int checkout_all(void)
}
static const char checkout_cache_usage[] =
"git-checkout-cache [-u] [-q] [-a] [-f] [-n] [--prefix=<string>] [--] <file>...";
"git-checkout-index [-u] [-q] [-a] [-f] [-n] [--prefix=<string>] [--] <file>...";
static struct cache_file cache_file;
......
#!/bin/sh
d="$1"
test -d "$d" || exit
while read old new
do
rm -f "$d/$old"
ln -s "$new" "$d/$old"
done <<\EOF
git-add-script git-add
git-archimport-script git-archimport
git-bisect-script git-bisect
git-branch-script git-branch
git-checkout-script git-checkout
git-cherry-pick-script git-cherry-pick
git-clone-script git-clone
git-commit-script git-commit
git-count-objects-script git-count-objects
git-cvsimport-script git-cvsimport
git-diff-script git-diff
git-send-email-script git-send-email
git-fetch-script git-fetch
git-format-patch-script git-format-patch
git-log-script git-log
git-ls-remote-script git-ls-remote
git-merge-one-file-script git-merge-one-file
git-octopus-script git-octopus
git-parse-remote-script git-parse-remote
git-prune-script git-prune
git-pull-script git-pull
git-push-script git-push
git-rebase-script git-rebase
git-relink-script git-relink
git-rename-script git-rename
git-repack-script git-repack
git-request-pull-script git-request-pull
git-reset-script git-reset
git-resolve-script git-resolve
git-revert-script git-revert
git-sh-setup-script git-sh-setup
git-status-script git-status
git-tag-script git-tag
git-verify-tag-script git-verify-tag
git-http-pull git-http-fetch
git-local-pull git-local-fetch
git-ssh-pull git-ssh-fetch
git-checkout-cache git-checkout-index
git-diff-cache git-diff-index
git-merge-cache git-merge-index
git-update-cache git-update-index
git-ssh-push git-ssh-upload
git-convert-cache git-convert-objects
git-fsck-cache git-fsck-objects
EOF
......@@ -318,7 +318,7 @@ int main(int argc, char **argv)
struct entry *entry;
if (argc != 2 || get_sha1(argv[1], sha1))
usage("git-convert-cache <sha1>");
usage("git-convert-objects <sha1>");
entry = convert_entry(sha1);
printf("new sha1: %s\n", sha1_to_hex(entry->new_sha1));
......
......@@ -6,7 +6,7 @@ git-core (0.99.6-0) unstable; urgency=low
git-core (0.99.5-1) unstable; urgency=low
* Enable git-send-email-script on Debian. There is no reason to shy
* Enable git-send-email on Debian. There is no reason to shy
away from it, since we have the necessary Perl modules available.
-- Junio C Hamano <junkio@cox.net> Thu, 25 Aug 2005 14:16:59 -0700
......
......@@ -164,7 +164,7 @@ static void mark_merge_entries(void)
}
static const char diff_cache_usage[] =
"git-diff-cache [-m] [--cached] "
"git-diff-index [-m] [--cached] "
"[<common diff options>] <tree-ish> [<path>...]"
COMMON_DIFF_OPTIONS_HELP;
......
......@@ -76,7 +76,7 @@ static int write_entry(struct cache_entry *ce, const char *path, struct checkout
if (!new || strcmp(type, "blob")) {
if (new)
free(new);
return error("git-checkout-cache: unable to read sha1 file of %s (%s)",
return error("git-checkout-index: unable to read sha1 file of %s (%s)",
path, sha1_to_hex(ce->sha1));
}
switch (ntohl(ce->ce_mode) & S_IFMT) {
......@@ -84,28 +84,28 @@ static int write_entry(struct cache_entry *ce, const char *path, struct checkout
fd = create_file(path, ntohl(ce->ce_mode));
if (fd < 0) {
free(new);
return error("git-checkout-cache: unable to create file %s (%s)",
return error("git-checkout-index: unable to create file %s (%s)",
path, strerror(errno));
}
wrote = write(fd, new, size);
close(fd);
free(new);
if (wrote != size)
return error("git-checkout-cache: unable to write file %s", path);
return error("git-checkout-index: unable to write file %s", path);
break;
case S_IFLNK:
memcpy(target, new, size);
target[size] = '\0';
if (symlink(target, path)) {
free(new);
return error("git-checkout-cache: unable to create symlink %s (%s)",
return error("git-checkout-index: unable to create symlink %s (%s)",
path, strerror(errno));
}
free(new);
break;
default:
free(new);
return error("git-checkout-cache: unknown file mode for %s", path);
return error("git-checkout-index: unknown file mode for %s", path);
}
if (state->refresh_cache) {
......@@ -131,7 +131,7 @@ int checkout_entry(struct cache_entry *ce, struct checkout *state)
return 0;
if (!state->force) {
if (!state->quiet)
fprintf(stderr, "git-checkout-cache: %s already exists\n", path);
fprintf(stderr, "git-checkout-index: %s already exists\n", path);
return 0;
}
......
#include "pull.h"
#include "fetch.h"
#include "cache.h"
#include "commit.h"
......
......@@ -162,28 +162,28 @@ static int fsck_tree(struct tree *item)
retval = 0;
if (has_full_path) {
fprintf(stderr, "warning: git-fsck-cache: tree %s "
fprintf(stderr, "warning: git-fsck-objects: tree %s "
"has full pathnames in it\n",
sha1_to_hex(item->object.sha1));
}
if (has_zero_pad) {
fprintf(stderr, "warning: git-fsck-cache: tree %s "
fprintf(stderr, "warning: git-fsck-objects: tree %s "
"has zero-padded file modes in it\n",
sha1_to_hex(item->object.sha1));
}
if (has_bad_modes) {
fprintf(stderr, "warning: git-fsck-cache: tree %s "
fprintf(stderr, "warning: git-fsck-objects: tree %s "
"has bad file modes in it\n",
sha1_to_hex(item->object.sha1));
}
if (has_dup_entries) {
fprintf(stderr, "error: git-fsck-cache: tree %s "
fprintf(stderr, "error: git-fsck-objects: tree %s "
"has duplicate file entries\n",
sha1_to_hex(item->object.sha1));
retval = -1;
}
if (not_properly_sorted) {
fprintf(stderr, "error: git-fsck-cache: tree %s "
fprintf(stderr, "error: git-fsck-objects: tree %s "
"is not properly sorted\n",
sha1_to_hex(item->object.sha1));
retval = -1;
......@@ -448,7 +448,7 @@ int main(int argc, char **argv)
continue;
}
if (*arg == '-')
usage("git-fsck-cache [--tags] [--root] [[--unreachable] [--cache] [--standalone | --full] [--strict] <head-sha1>*]");
usage("git-fsck-objects [--tags] [--root] [[--unreachable] [--cache] [--standalone | --full] [--strict] <head-sha1>*]");
}
if (standalone && check_full)
......
#!/bin/sh
git-update-cache --add -- "$@"
#!/bin/sh
git-update-index --add -- "$@"
......@@ -18,7 +18,7 @@
## use a Signoff_file, because applypatch wants to append the sign-off
## message to msg-clean every time it is run.
. git-sh-setup-script || die "Not a git archive"
. git-sh-setup || die "Not a git archive"
usage () {
echo >&2 "applymbox [-u] [-k] [-q] (-c .dotest/<num> | mbox) [signoff]"
......@@ -47,7 +47,7 @@ case "$continue" in
shift
esac
files=$(git-diff-cache --cached --name-only HEAD) || exit
files=$(git-diff-index --cached --name-only HEAD) || exit
if [ "$files" ]; then
echo "Dirty index: cannot apply patches (dirty: $files)" >&2
exit 1
......
......@@ -10,7 +10,7 @@
## $3 - "info" file with Author, email and subject
## $4 - optional file containing signoff to add
##
. git-sh-setup-script || die "Not a git archive."
. git-sh-setup || die "Not a git archive."
final=.dotest/final-commit
##
......
......@@ -8,7 +8,7 @@
#
=head1 Invocation
git-archimport-script -i <archive>/<branch> [<archive>/<branch>]
git-archimport -i <archive>/<branch> [<archive>/<branch>]
[ <archive>/<branch> ]
The script expects you to provide the key roots where it can start the
......@@ -268,16 +268,16 @@ END
# imports don't give us good info
# on added files. Shame on them
if ($ps->{type} eq 'i' || $ps->{type} eq 't') {
`find . -type f -print0 | grep -zv '^./.git' | xargs -0 -l100 git-update-cache --add`;
`git-ls-files --deleted -z | xargs --no-run-if-empty -0 -l100 git-update-cache --remove`;
`find . -type f -print0 | grep -zv '^./.git' | xargs -0 -l100 git-update-index --add`;
`git-ls-files --deleted -z | xargs --no-run-if-empty -0 -l100 git-update-index --remove`;
}
if (@$add) {
while (@$add) {
my @slice = splice(@$add, 0, 100);
my $slice = join(' ', @slice);
`git-update-cache --add $slice`;
die "Error in git-update-cache --add: $!" if $?;
`git-update-index --add $slice`;
die "Error in git-update-index --add: $!" if $?;
}
}
if (@$del) {
......@@ -287,8 +287,8 @@ END
while (@$del) {
my @slice = splice(@$del, 0, 100);
my $slice = join(' ', @slice);
`git-update-cache --remove $slice`;
die "Error in git-update-cache --remove: $!" if $?;
`git-update-index --remove $slice`;
die "Error in git-update-index --remove: $!" if $?;
}
}
if (@$ren) { # renamed
......@@ -306,10 +306,10 @@ END
#print "moving $from $to";
`mv $from $to`;
die "Error renaming $from $to : $!" if $?;
`git-update-cache --remove $from`;
die "Error in git-update-cache --remove: $!" if $?;
`git-update-cache --add $to`;
die "Error in git-update-cache --add: $!" if $?;
`git-update-index --remove $from`;
die "Error in git-update-index --remove: $!" if $?;
`git-update-index --add $to`;
die "Error in git-update-index --add: $!" if $?;
}
}
......@@ -317,12 +317,12 @@ END
while (@$mod) {
my @slice = splice(@$mod, 0, 100);
my $slice = join(' ', @slice);
`git-update-cache $slice`;
die "Error in git-update-cache: $!" if $?;
`git-update-index $slice`;
die "Error in git-update-index: $!" if $?;
}
}
# warn "errors when running git-update-cache! $!";
# warn "errors when running git-update-index! $!";
$tree = `git-write-tree`;
die "cannot write tree $!" if $?;
chomp $tree;
......
#!/bin/sh
. git-sh-setup-script || dir "Not a git archive"
. git-sh-setup || dir "Not a git archive"
usage() {
echo >&2 'usage: git bisect [start|bad|good|next|reset|visualize]
......
#!/bin/sh
. git-sh-setup-script || die "Not a git archive"
. git-sh-setup || die "Not a git archive"
case "$#" in
0)
......
#!/bin/sh
. git-sh-setup-script || die "Not a git archive"
. git-sh-setup || die "Not a git archive"
old=$(git-rev-parse HEAD)
new=
......@@ -53,7 +53,7 @@ done
if [ "$force" ]
then
git-read-tree --reset $new &&
git-checkout-cache -q -f -u -a
git-checkout-index -q -f -u -a
else
git-read-tree -m -u $old $new
fi
......
......@@ -3,7 +3,7 @@
# Copyright (c) 2005 Junio C Hamano.
#
. git-sh-setup-script || die "Not a git archive."
. git-sh-setup || die "Not a git archive."
usage="usage: $0 "'[-v] <upstream> [<head>]
......
......@@ -50,7 +50,7 @@ Perhaps git-update-server-info needs to be run there?"
while read sha1 refname
do
name=`expr "$refname" : 'refs/\(.*\)'` &&
git-http-pull -v -a -w "$name" "$name" "$1/" || exit 1
git-http-fetch -v -a -w "$name" "$name" "$1/" || exit 1
done <"$clone_tmp/refs"
rm -fr "$clone_tmp"
}
......
......@@ -3,7 +3,7 @@
# Copyright (c) 2005 Linus Torvalds
#
. git-sh-setup-script || die "Not a git archive"
. git-sh-setup || die "Not a git archive"
usage () {
die 'git commit [-a] [-v | --no-verify] [-m <message>] [-F <logfile>] [(-C|-c) <commit>] [<path>...]'
......@@ -94,16 +94,16 @@ esac
case "$all,$#" in
t,*)
git-diff-files --name-only -z |
xargs -0 git-update-cache -q --remove --
xargs -0 git-update-index -q --remove --
;;
,0)
;;
*)
git-diff-files --name-only -z "$@" |
xargs -0 git-update-cache -q --remove --
xargs -0 git-update-index -q --remove --
;;
esac || exit 1
git-update-cache -q --refresh || exit 1
git-update-index -q --refresh || exit 1
case "$verify" in
t)
......@@ -190,11 +190,11 @@ else
export GIT_AUTHOR_DATE
fi
fi
git-status-script >>.editmsg
git-status >>.editmsg
if [ "$?" != "0" -a ! -f $GIT_DIR/MERGE_HEAD ]
then
rm -f .editmsg
git-status-script
git-status
exit 1
fi
case "$no_edit" in
......
#!/bin/sh
. git-sh-setup-script
. git-sh-setup
echo $(find "$GIT_DIR/objects"/?? -type f -print | wc -l) objects, \
$({
......
......@@ -522,7 +522,7 @@ ($$)
@o2 = @old;
@old = ();
}
system("git-update-cache","--force-remove","--",@o2);
system("git-update-index","--force-remove","--",@o2);
die "Cannot remove files: $?\n" if $?;
}
while(@new) {
......@@ -533,7 +533,7 @@ ($$)
@n2 = @new;
@new = ();
}
system("git-update-cache","--add",
system("git-update-index","--add",
(map { ('--cacheinfo', @$_) } @n2));
die "Cannot add files: $?\n" if $?;
}
......
......@@ -22,7 +22,7 @@ case "$rev" in
cmd="git-diff-tree $flags $rev $files"
;;
?*' ')
cmd="git-diff-cache $flags $rev $files"
cmd="git-diff-index $flags $rev $files"
;;
'')
cmd="git-diff-files $flags $files"
......
#!/bin/sh
#
. git-sh-setup-script || die "Not a git archive"
. git-parse-remote-script
. git-sh-setup || die "Not a git archive"
. git-parse-remote
_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
......@@ -178,7 +178,7 @@ do
expr "$head" : "$_x40\$" >/dev/null ||
die "Failed to fetch $remote_name from $remote"
echo Fetching "$remote_name from $remote" using http
git-http-pull -v -a "$head" "$remote/" || exit
git-http-fetch -v -a "$head" "$remote/" || exit
;;
rsync://*)
TMP_HEAD="$GIT_DIR/TMP_HEAD"
......
......@@ -3,7 +3,7 @@
# Copyright (c) 2005 Junio C Hamano
#
. git-sh-setup-script || die "Not a git archive."
. git-sh-setup || die "Not a git archive."
usage () {
echo >&2 "usage: $0"' [-n] [-o dir] [--keep-subject] [--mbox] [--check] [--signoff] [-<diff options>...] upstream [ our-head ]
......
#!/bin/sh
#
. git-sh-setup-script || die "Not a git archive"
. git-sh-setup || die "Not a git archive"
usage () {
echo >&2 "usage: $0 [--heads] [--tags] <repository> <refs>..."
......@@ -29,7 +29,7 @@ case ",$heads,$tags," in
,,,) heads=heads tags=tags other=other ;;
esac
. git-parse-remote-script
. git-parse-remote
peek_repo="$(get_remote_url "$@")"
shift
......
......@@ -27,7 +27,7 @@ case "${1:-.}${2:-.}${3:-.}" in
if test -f "$4"; then
rm -f -- "$4"
fi &&
exec git-update-cache --remove -- "$4"
exec git-update-index --remove -- "$4"
;;
#
......@@ -35,8 +35,8 @@ case "${1:-.}${2:-.}${3:-.}" in
#
".$2." | "..$3" )
echo "Adding $4"
git-update-cache --add --cacheinfo "$6$7" "$2$3" "$4" &&
exec git-checkout-cache -u -f -- "$4"
git-update-index --add --cacheinfo "$6$7" "$2$3" "$4" &&
exec git-checkout-index -u -f -- "$4"
;;
#
......@@ -49,8 +49,8 @@ case "${1:-.}${2:-.}${3:-.}" in
exit 1
fi
echo "Adding $4"
git-update-cache --add --cacheinfo "$6" "$2" "$4" &&
exec git-checkout-cache -u -f -- "$4"
git-update-index --add --cacheinfo "$6" "$2" "$4" &&
exec git-checkout-index -u -f -- "$4"
;;
#
......@@ -63,8 +63,8 @@ case "${1:-.}${2:-.}${3:-.}" in
# We reset the index to the first branch, making
# git-diff-file useful
git-update-cache --add --cacheinfo "$6" "$2" "$4"
git-checkout-cache -u -f -- "$4" &&
git-update-index --add --cacheinfo "$6" "$2" "$4"
git-checkout-index -u -f -- "$4" &&
merge "$4" "$orig" "$src2"
ret=$?
rm -f -- "$orig" "$src2"
......@@ -78,7 +78,7 @@ case "${1:-.}${2:-.}${3:-.}" in
echo "ERROR: Merge conflict in $4."
exit 1
fi
exec git-update-cache -- "$4"
exec git-update-index -- "$4"
;;
*)
......
......@@ -4,7 +4,7 @@
#
# Resolve two or more trees recorded in $GIT_DIR/FETCH_HEAD.
#
. git-sh-setup-script || die "Not a git archive"
. git-sh-setup || die "Not a git archive"
usage () {
die "usage: git octopus"
......@@ -19,9 +19,9 @@ done <"$GIT_DIR/FETCH_HEAD"
head=$(git-rev-parse --verify HEAD) || exit
git-update-cache --refresh ||
git-update-index --refresh ||
die "Your working tree is dirty."
test "$(git-diff-cache --cached "$head")" = "" ||
test "$(git-diff-index --cached "$head")" = "" ||
die "Your working tree does not match HEAD."
# MRC is the current "merge reference commit"
......@@ -68,9 +68,9 @@ do
if test $? -ne 0
then
echo "Simple merge did not work, trying automatic merge."
git-merge-cache -o git-merge-one-file-script -a || {
git-merge-index -o git-merge-one-file -a || {
git-read-tree --reset "$head"
git-checkout-cache -f -q -u -a
git-checkout-index -f -q -u -a
die "Automatic merge failed; should not be doing Octopus"
}
next=$(git-write-tree 2>/dev/null)
......
#!/bin/sh
. git-sh-setup-script || die "Not a git archive"
. git-sh-setup || die "Not a git archive"
get_data_source () {
case "$1" in
......
#!/bin/sh
. git-sh-setup-script || die "Not a git archive"
. git-sh-setup || die "Not a git archive"
dryrun=
echo=
......@@ -9,13 +9,13 @@ do
case "$1" in
-n) dryrun=-n echo=echo ;;
--) break ;;
-*) echo >&2 "usage: git-prune-script [ -n ] [ heads... ]"; exit 1 ;;
-*) echo >&2 "usage: git-prune [ -n ] [ heads... ]"; exit 1 ;;
*) break ;;
esac
shift;
done
git-fsck-cache --full --cache --unreachable "$@" |
git-fsck-objects --full --cache --unreachable "$@" |
sed -ne '/unreachable /{
s/unreachable [^ ][^ ]* //
s|\(..\)|\1/|p
......
......@@ -4,10 +4,10 @@
#
# Fetch one or more remote refs and merge it/them into the current HEAD.
. git-sh-setup-script || die "Not a git archive"
. git-sh-setup || die "Not a git archive"
orig_head=$(cat "$GIT_DIR/HEAD") || die "Pulling into a black hole?"
git-fetch-script --update-head-ok "$@" || exit 1
git-fetch --update-head-ok "$@" || exit 1
curr_head=$(cat "$GIT_DIR/HEAD")
if test "$curr_head" != "$orig_head"
......@@ -35,10 +35,10 @@ case "$merge_head" in
;;
*' '?*)
echo >&2 "Pulling more than one heads; making an Octopus."
exec git-octopus-script
exec git-octopus
;;
esac
git-resolve-script \
git-resolve \
"$(cat "$GIT_DIR"/HEAD)" \
$merge_head "Merge $merge_name"
#!/bin/sh
. git-sh-setup-script || die "Not a git archive"
. git-sh-setup || die "Not a git archive"
# Parse out parameters and then stop at remote, so that we can
# translate it using .git/branches information
......@@ -31,7 +31,7 @@ case "$#" in
die "Where would you want to push today?" ;;
esac
. git-parse-remote-script
. git-parse-remote
remote=$(get_remote_url "$@")
case "$has_all" in
--all) set x ;;
......
......@@ -3,7 +3,7 @@
# Copyright (c) 2005 Junio C Hamano.
#
. git-sh-setup-script || die "Not a git archive."
. git-sh-setup || die "Not a git archive."
usage="usage: $0 "'<upstream> [<head>]
......@@ -17,7 +17,7 @@ case "$#,$1" in
shift ;;
esac
git-update-cache --refresh || exit
git-update-index --refresh || exit
case "$#" in
1) ours_symbolic=HEAD ;;
......@@ -27,8 +27,8 @@ esac
upstream=`git-rev-parse --verify "$1"` &&
ours=`git-rev-parse --verify "$ours_symbolic"` || exit
different1=$(git-diff-cache --name-only --cached "$ours") &&
different2=$(git-diff-cache --name-only "$ours") &&
different1=$(git-diff-index --name-only --cached "$ours") &&
different2=$(git-diff-index --name-only "$ours") &&
test "$different1$different2" = "" ||
die "Your working tree does not match $ours_symbolic."
......@@ -51,10 +51,10 @@ do
esac
echo >&2 "* Applying: $msg"
S=`cat "$GIT_DIR/HEAD"` &&
git-cherry-pick-script --replay $commit || {
git-cherry-pick --replay $commit || {
echo >&2 "* Not applying the patch and continuing."
echo $commit >>$fail
git-reset-script --hard $S
git-reset --hard $S
}
done
if test -s $fail
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册