зеркало из https://github.com/microsoft/git.git
GIT 1.0.7
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Коммит
92e802c6cc
|
@ -119,3 +119,4 @@ git-core.spec
|
||||||
*.exe
|
*.exe
|
||||||
libgit.a
|
libgit.a
|
||||||
*.o
|
*.o
|
||||||
|
*.py[co]
|
||||||
|
|
|
@ -138,7 +138,7 @@ mailing list archives for details).
|
||||||
git has a couple of alternatives, though, that you may find sufficient
|
git has a couple of alternatives, though, that you may find sufficient
|
||||||
or even superior depending on your use. One is called "git-whatchanged"
|
or even superior depending on your use. One is called "git-whatchanged"
|
||||||
(for obvious reasons) and the other one is called "pickaxe" ("a tool for
|
(for obvious reasons) and the other one is called "pickaxe" ("a tool for
|
||||||
the software archeologist").
|
the software archaeologist").
|
||||||
|
|
||||||
The "git-whatchanged" script is a truly trivial script that can give you
|
The "git-whatchanged" script is a truly trivial script that can give you
|
||||||
a good overview of what has changed in a file or a directory (or an
|
a good overview of what has changed in a file or a directory (or an
|
||||||
|
|
|
@ -117,7 +117,7 @@ git specific extension to diff format
|
||||||
What -p option produces is slightly different from the
|
What -p option produces is slightly different from the
|
||||||
traditional diff format.
|
traditional diff format.
|
||||||
|
|
||||||
1. It is preceeded with a "git diff" header, that looks like
|
1. It is preceded with a "git diff" header, that looks like
|
||||||
this:
|
this:
|
||||||
|
|
||||||
diff --git a/file1 b/file2
|
diff --git a/file1 b/file2
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
--abbrev[=<n>]::
|
--abbrev[=<n>]::
|
||||||
Instead of showing the full 40-byte hexadecimal object
|
Instead of showing the full 40-byte hexadecimal object
|
||||||
name in diff-raw format output and diff-tree header
|
name in diff-raw format output and diff-tree header
|
||||||
lines, show only handful dhexigits prefix. This is
|
lines, show only handful hexdigits prefix. This is
|
||||||
independent of --full-index option above, which controls
|
independent of --full-index option above, which controls
|
||||||
the diff-patch output format. Non default number of
|
the diff-patch output format. Non default number of
|
||||||
digits can be specified with --abbrev=<n>.
|
digits can be specified with --abbrev=<n>.
|
||||||
|
|
|
@ -31,7 +31,7 @@ DISCUSSION
|
||||||
----------
|
----------
|
||||||
|
|
||||||
The list of <file> given to the command is fed to `git-ls-files`
|
The list of <file> given to the command is fed to `git-ls-files`
|
||||||
command to list files that are not registerd in the index and
|
command to list files that are not registered in the index and
|
||||||
are not ignored/excluded by `$GIT_DIR/info/exclude` file or
|
are not ignored/excluded by `$GIT_DIR/info/exclude` file or
|
||||||
`.gitignore` file in each directory. This means two things:
|
`.gitignore` file in each directory. This means two things:
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@ git-am - Apply a series of patches in a mailbox
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
|
[verse]
|
||||||
'git-am' [--signoff] [--dotest=<dir>] [--utf8] [--binary] [--3way] <mbox>...
|
'git-am' [--signoff] [--dotest=<dir>] [--utf8] [--binary] [--3way] <mbox>...
|
||||||
'git-am' [--skip | --resolved]
|
'git-am' [--skip | --resolved]
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,10 @@ git-apply - Apply patch on a git index file and a work tree
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
'git-apply' [--stat] [--numstat] [--summary] [--check] [--index] [--apply] [--no-add] [--index-info] [--allow-binary-replacement] [-z] [<patch>...]
|
[verse]
|
||||||
|
'git-apply' [--stat] [--numstat] [--summary] [--check] [--index] [--apply]
|
||||||
|
[--no-add] [--index-info] [--allow-binary-replacement] [-z]
|
||||||
|
[<patch>...]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -8,15 +8,15 @@ git-archimport - Import an Arch repository into git
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
`git-archimport` [ -h ] [ -v ] [ -o ] [ -a ] [ -f ] [ -T ]
|
[verse]
|
||||||
[ -D depth ] [ -t tempdir ]
|
`git-archimport` [-h] [-v] [-o] [-a] [-f] [-T] [-D depth] [-t tempdir]
|
||||||
<archive/branch> [ <archive/branch> ]
|
<archive/branch> [ <archive/branch> ]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
Imports a project from one or more Arch repositories. It will follow branches
|
Imports a project from one or more Arch repositories. It will follow branches
|
||||||
and repositories within the namespaces defined by the <archive/branch>
|
and repositories within the namespaces defined by the <archive/branch>
|
||||||
parameters suppplied. If it cannot find the remote branch a merge comes from
|
parameters supplied. If it cannot find the remote branch a merge comes from
|
||||||
it will just import it as a regular commit. If it can find it, it will mark it
|
it will just import it as a regular commit. If it can find it, it will mark it
|
||||||
as a merge whenever possible (see discussion below).
|
as a merge whenever possible (see discussion below).
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ git-cat-file - Provide content or type information for repository objects
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
'git-cat-file' (-t | -s | -e | <type>) <object>
|
'git-cat-file' [-t | -s | -e | <type>] <object>
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -8,8 +8,9 @@ git-checkout-index - Copy files from the index to the working directory
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
|
[verse]
|
||||||
'git-checkout-index' [-u] [-q] [-a] [-f] [-n] [--prefix=<string>]
|
'git-checkout-index' [-u] [-q] [-a] [-f] [-n] [--prefix=<string>]
|
||||||
[--stage=<number>] [--] <file>...
|
[--stage=<number>] [--] <file>...
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -8,7 +8,9 @@ git-clone - Clones a repository.
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
'git-clone' [-l [-s]] [-q] [-n] [-u <upload-pack>] <repository> [<directory>]
|
[verse]
|
||||||
|
'git-clone' [-l [-s]] [-q] [-n] [-u <upload-pack>]
|
||||||
|
<repository> [<directory>]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -60,7 +60,8 @@ either `.git/config` file, or using the following environment variables.
|
||||||
|
|
||||||
(nb "<", ">" and "\n"s are stripped)
|
(nb "<", ">" and "\n"s are stripped)
|
||||||
|
|
||||||
In `.git/config` file, the following items are used:
|
In `.git/config` file, the following items are used for GIT_AUTHOR_NAME and
|
||||||
|
GIT_AUTHOR_EMAIL:
|
||||||
|
|
||||||
[user]
|
[user]
|
||||||
name = "Your Name"
|
name = "Your Name"
|
||||||
|
|
|
@ -7,7 +7,9 @@ git-commit - Record your changes
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
'git-commit' [-a] [-s] [-v] [(-c | -C) <commit> | -F <file> | -m <msg>] [-e] [--] <file>...
|
[verse]
|
||||||
|
'git-commit' [-a] [-s] [-v] [(-c | -C) <commit> | -F <file> | -m <msg>]
|
||||||
|
[-e] [--] <file>...
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -8,8 +8,7 @@ git-cvsexportcommit - Export a commit to a CVS checkout
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
git-cvsexportcommmit.perl
|
'git-cvsexportcommmit' [-h] [-v] [-c] [-p] [PARENTCOMMIT] COMMITID
|
||||||
[ -h ] [ -v ] [ -c ] [ -p ] [PARENTCOMMIT] COMMITID
|
|
||||||
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
|
|
|
@ -8,10 +8,10 @@ git-cvsimport - Import a CVS repository into git
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
'git-cvsimport' [ -o <branch-for-HEAD> ] [ -h ] [ -v ]
|
[verse]
|
||||||
[ -d <CVSROOT> ] [ -p <options-for-cvsps> ]
|
'git-cvsimport' [-o <branch-for-HEAD>] [-h] [-v] [-d <CVSROOT>] [-s <subst>]
|
||||||
[ -C <git_repository> ] [ -i ] [ -P <file> ] [ -k ]
|
[-p <options-for-cvsps>] [-C <git_repository>] [-i] [-P <file>]
|
||||||
[ -s <subst> ] [ -m ] [ -M regex ] [ <CVS_module> ]
|
[-m] [-M regex] [<CVS_module>]
|
||||||
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
|
|
|
@ -7,8 +7,9 @@ git-daemon - A really simple server for git repositories.
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
|
[verse]
|
||||||
'git-daemon' [--verbose] [--syslog] [--inetd | --port=n] [--export-all]
|
'git-daemon' [--verbose] [--syslog] [--inetd | --port=n] [--export-all]
|
||||||
[--timeout=n] [--init-timeout=n] [--strict-paths] [directory...]
|
[--timeout=n] [--init-timeout=n] [--strict-paths] [directory...]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -53,7 +53,7 @@ If '--cached' is specified, it allows you to ask:
|
||||||
contents (the ones I'd write with a "git-write-tree")
|
contents (the ones I'd write with a "git-write-tree")
|
||||||
|
|
||||||
For example, let's say that you have worked on your working directory, updated
|
For example, let's say that you have worked on your working directory, updated
|
||||||
some files in the index and are ready to commit. You want to see eactly
|
some files in the index and are ready to commit. You want to see exactly
|
||||||
*what* you are going to commit is without having to write a new tree
|
*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
|
object and compare it that way, and to do that, you just do
|
||||||
|
|
||||||
|
@ -110,7 +110,7 @@ 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
|
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
|
`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
|
touched it. In either case, it's a note that you need to
|
||||||
"git-upate-index" it to make the index be in sync.
|
"git-update-index" it to make the index be in sync.
|
||||||
|
|
||||||
NOTE: You can have a mixture of files show up as "has been updated"
|
NOTE: You can have a mixture of files show up as "has been updated"
|
||||||
and "is still dirty in the working directory" together. You can always
|
and "is still dirty in the working directory" together. You can always
|
||||||
|
|
|
@ -8,7 +8,9 @@ git-diff-tree - Compares the content and mode of blobs found via two tree object
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
'git-diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty] [-t] [-r] [--root] [<common diff options>] <tree-ish> [<tree-ish>] [<path>...]
|
[verse]
|
||||||
|
'git-diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty] [-t] [-r]
|
||||||
|
[--root] [<common diff options>] <tree-ish> [<tree-ish>] [<path>...]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
@ -62,7 +64,7 @@ separated with a single space are given.
|
||||||
-s::
|
-s::
|
||||||
By default, "git-diff-tree --stdin" shows differences,
|
By default, "git-diff-tree --stdin" shows differences,
|
||||||
either in machine-readable form (without '-p') or in patch
|
either in machine-readable form (without '-p') or in patch
|
||||||
form (with '-p'). This output can be supressed. It is
|
form (with '-p'). This output can be suppressed. It is
|
||||||
only useful with '-v' flag.
|
only useful with '-v' flag.
|
||||||
|
|
||||||
-v::
|
-v::
|
||||||
|
|
|
@ -67,7 +67,7 @@ $ git diff HEAD^ HEAD <3>
|
||||||
<1> instead of using the tip of the current branch, compare with the
|
<1> instead of using the tip of the current branch, compare with the
|
||||||
tip of "test" branch.
|
tip of "test" branch.
|
||||||
<2> instead of comparing with the tip of "test" branch, compare with
|
<2> instead of comparing with the tip of "test" branch, compare with
|
||||||
the tip of the curren branch, but limit the comparison to the
|
the tip of the current branch, but limit the comparison to the
|
||||||
file "test".
|
file "test".
|
||||||
<3> compare the version before the last commit and the last commit.
|
<3> compare the version before the last commit and the last commit.
|
||||||
------------
|
------------
|
||||||
|
|
|
@ -8,7 +8,9 @@ git-format-patch - Prepare patches for e-mail submission.
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
'git-format-patch' [-n | -k] [-o <dir> | --stdout] [-s] [-c] [--mbox] [--diff-options] <his> [<mine>]
|
[verse]
|
||||||
|
'git-format-patch' [-n | -k] [-o <dir> | --stdout] [-s] [-c] [--mbox]
|
||||||
|
[--diff-options] <his> [<mine>]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
@ -96,7 +98,7 @@ git-format-patch -M -B origin::
|
||||||
|
|
||||||
See Also
|
See Also
|
||||||
--------
|
--------
|
||||||
gitlink:git-am[1], gitlink:git-send-email
|
gitlink:git-am[1], gitlink:git-send-email[1]
|
||||||
|
|
||||||
|
|
||||||
Author
|
Author
|
||||||
|
|
|
@ -8,7 +8,9 @@ git-fsck-objects - Verifies the connectivity and validity of the objects in the
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
'git-fsck-objects' [--tags] [--root] [--unreachable] [--cache] [--standalone | --full] [--strict] [<object>*]
|
[verse]
|
||||||
|
'git-fsck-objects' [--tags] [--root] [--unreachable] [--cache]
|
||||||
|
[--standalone | --full] [--strict] [<object>*]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -8,7 +8,7 @@ git-grep - print lines matching a pattern
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
'git-grep' <option>... <pattern> <path>...
|
'git-grep' [<option>...] <pattern> [<path>...]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
@ -27,7 +27,6 @@ OPTIONS
|
||||||
The pattern to look for.
|
The pattern to look for.
|
||||||
|
|
||||||
<path>...::
|
<path>...::
|
||||||
|
|
||||||
Optional paths to limit the set of files to be searched;
|
Optional paths to limit the set of files to be searched;
|
||||||
passed to `git-ls-files`.
|
passed to `git-ls-files`.
|
||||||
|
|
||||||
|
|
|
@ -3,12 +3,12 @@ git-http-fetch(1)
|
||||||
|
|
||||||
NAME
|
NAME
|
||||||
----
|
----
|
||||||
git-http-fetch - Downloads a remote git repository via HTTP
|
git-http-fetch - downloads a remote git repository via HTTP
|
||||||
|
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
'git-http-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] commit-id url
|
'git-http-fetch' [-c] [-t] [-a] [-d] [-v] [-w filename] [--recover] <commit> <url>
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -8,7 +8,7 @@ git-init-db - Creates an empty git repository
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
'git-init-db' [--template=<template_directory>]
|
'git-init-db' [--template=<template_directory>] [--shared]
|
||||||
|
|
||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
|
@ -16,6 +16,9 @@ OPTIONS
|
||||||
--template=<template_directory>::
|
--template=<template_directory>::
|
||||||
Provide the directory in from which templates will be used.
|
Provide the directory in from which templates will be used.
|
||||||
|
|
||||||
|
--shared::
|
||||||
|
Specify that the git repository is to be shared amongst several users.
|
||||||
|
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
@ -30,7 +33,16 @@ If the object storage directory is specified via the `$GIT_OBJECT_DIRECTORY`
|
||||||
environment variable then the sha1 directories are created underneath -
|
environment variable then the sha1 directories are created underneath -
|
||||||
otherwise the default `$GIT_DIR/objects` directory is used.
|
otherwise the default `$GIT_DIR/objects` directory is used.
|
||||||
|
|
||||||
`git-init-db` won't hurt an existing repository.
|
A shared repository allows users belonging to the same group to push into that
|
||||||
|
repository. When specifying `--shared` the config variable "core.sharedRepository"
|
||||||
|
is set to 'true' so that directories under `$GIT_DIR` are made group writable
|
||||||
|
(and g+sx, since the git group may be not the primary group of all users).
|
||||||
|
|
||||||
|
|
||||||
|
Running `git-init-db` in an existing repository is safe. It will not overwrite
|
||||||
|
things that are already there. The primary reason for rerunning `git-init-db`
|
||||||
|
is to pick up newly added templates.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
EXAMPLES
|
EXAMPLES
|
||||||
|
|
|
@ -74,7 +74,7 @@ OPTIONS
|
||||||
H:: cached
|
H:: cached
|
||||||
M:: unmerged
|
M:: unmerged
|
||||||
R:: removed/deleted
|
R:: removed/deleted
|
||||||
C:: modifed/changed
|
C:: modified/changed
|
||||||
K:: to be killed
|
K:: to be killed
|
||||||
? other
|
? other
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ base-name::
|
||||||
output of the command.
|
output of the command.
|
||||||
|
|
||||||
--stdout::
|
--stdout::
|
||||||
Write the pack contents (what would have been writtin to
|
Write the pack contents (what would have been written to
|
||||||
.pack file) out to the standard output.
|
.pack file) out to the standard output.
|
||||||
|
|
||||||
--window and --depth::
|
--window and --depth::
|
||||||
|
|
|
@ -21,9 +21,9 @@ You can query/set/replace/unset options with this command. The name is
|
||||||
actually the section and the key separated by a dot, and the value will be
|
actually the section and the key separated by a dot, and the value will be
|
||||||
escaped.
|
escaped.
|
||||||
|
|
||||||
If you want to set/unset an option which can occor on multiple lines, you
|
If you want to set/unset an option which can occur on multiple lines, you
|
||||||
should provide a POSIX regex for the value. If you want to handle the lines
|
should provide a POSIX regex for the value. If you want to handle the lines
|
||||||
*not* matching the regex, just prepend a single exlamation mark in front
|
*not* matching the regex, just prepend a single exclamation mark in front
|
||||||
(see EXAMPLES).
|
(see EXAMPLES).
|
||||||
|
|
||||||
This command will fail if
|
This command will fail if
|
||||||
|
|
|
@ -8,18 +8,19 @@ git-rev-list - Lists commit objects in reverse chronological order
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
|
[verse]
|
||||||
'git-rev-list' [ \--max-count=number ]
|
'git-rev-list' [ \--max-count=number ]
|
||||||
[ \--max-age=timestamp ]
|
[ \--max-age=timestamp ]
|
||||||
[ \--min-age=timestamp ]
|
[ \--min-age=timestamp ]
|
||||||
[ \--sparse ]
|
[ \--sparse ]
|
||||||
[ \--no-merges ]
|
[ \--no-merges ]
|
||||||
[ \--all ]
|
[ \--all ]
|
||||||
[ [ \--merge-order [ \--show-breaks ] ] | [ \--topo-order ] | ]
|
[ [ \--merge-order [ \--show-breaks ] ] | [ \--topo-order ] ]
|
||||||
[ \--parents ]
|
[ \--parents ]
|
||||||
[ \--objects [ \--unpacked ] ]
|
[ \--objects [ \--unpacked ] ]
|
||||||
[ \--pretty | \--header | ]
|
[ \--pretty | \--header ]
|
||||||
[ \--bisect ]
|
[ \--bisect ]
|
||||||
<commit>... [ \-- <paths>... ]
|
<commit>... [ \-- <paths>... ]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
|
@ -129,7 +130,7 @@ the marked commit in the list.
|
||||||
+
|
+
|
||||||
Commits marked with (^) are not parents of the immediately preceding commit.
|
Commits marked with (^) are not parents of the immediately preceding commit.
|
||||||
These "breaks" represent necessary discontinuities implied by trying to
|
These "breaks" represent necessary discontinuities implied by trying to
|
||||||
represent an arbtirary DAG in a linear form.
|
represent an arbitrary DAG in a linear form.
|
||||||
+
|
+
|
||||||
`--show-breaks` is only valid if `--merge-order` is also specified.
|
`--show-breaks` is only valid if `--merge-order` is also specified.
|
||||||
|
|
||||||
|
|
|
@ -85,7 +85,7 @@ Following these N lines, one-line log for each commit is
|
||||||
displayed, indented N places. If a commit is on the I-th
|
displayed, indented N places. If a commit is on the I-th
|
||||||
branch, the I-th indentation character shows a '+' sign;
|
branch, the I-th indentation character shows a '+' sign;
|
||||||
otherwise it shows a space. Each commit shows a short name that
|
otherwise it shows a space. Each commit shows a short name that
|
||||||
can be used as an exended SHA1 to name that commit.
|
can be used as an extended SHA1 to name that commit.
|
||||||
|
|
||||||
The following example shows three branches, "master", "fixes"
|
The following example shows three branches, "master", "fixes"
|
||||||
and "mhf":
|
and "mhf":
|
||||||
|
|
|
@ -11,7 +11,7 @@ SYNOPSIS
|
||||||
--------
|
--------
|
||||||
'git-svnimport' [ -o <branch-for-HEAD> ] [ -h ] [ -v ] [ -d | -D ]
|
'git-svnimport' [ -o <branch-for-HEAD> ] [ -h ] [ -v ] [ -d | -D ]
|
||||||
[ -C <GIT_repository> ] [ -i ] [ -u ] [-l limit_rev]
|
[ -C <GIT_repository> ] [ -i ] [ -u ] [-l limit_rev]
|
||||||
[ -b branch_subdir ] [ -t trunk_subdir ] [ -T tag_subdir ]
|
[ -b branch_subdir ] [ -T trunk_subdir ] [ -t tag_subdir ]
|
||||||
[ -s start_chg ] [ -m ] [ -M regex ]
|
[ -s start_chg ] [ -m ] [ -M regex ]
|
||||||
<SVN_repository_URL> [ <path> ]
|
<SVN_repository_URL> [ <path> ]
|
||||||
|
|
||||||
|
@ -40,17 +40,17 @@ OPTIONS
|
||||||
-s <start_rev>::
|
-s <start_rev>::
|
||||||
Start importing at this SVN change number. The default is 1.
|
Start importing at this SVN change number. The default is 1.
|
||||||
+
|
+
|
||||||
When importing incementally, you might need to edit the .git/svn2git file.
|
When importing incrementally, you might need to edit the .git/svn2git file.
|
||||||
|
|
||||||
-i::
|
-i::
|
||||||
Import-only: don't perform a checkout after importing. This option
|
Import-only: don't perform a checkout after importing. This option
|
||||||
ensures the working directory and index remain untouched and will
|
ensures the working directory and index remain untouched and will
|
||||||
not create them if they do not exist.
|
not create them if they do not exist.
|
||||||
|
|
||||||
-t <trunk_subdir>::
|
-T <trunk_subdir>::
|
||||||
Name the SVN trunk. Default "trunk".
|
Name the SVN trunk. Default "trunk".
|
||||||
|
|
||||||
-T <tag_subdir>::
|
-t <tag_subdir>::
|
||||||
Name the SVN subdirectory for tags. Default "tags".
|
Name the SVN subdirectory for tags. Default "tags".
|
||||||
|
|
||||||
-b <branch_subdir>::
|
-b <branch_subdir>::
|
||||||
|
|
|
@ -422,7 +422,7 @@ gitlink:git-rev-parse[1]::
|
||||||
gitlink:git-send-email[1]::
|
gitlink:git-send-email[1]::
|
||||||
Send patch e-mails out of "format-patch --mbox" output.
|
Send patch e-mails out of "format-patch --mbox" output.
|
||||||
|
|
||||||
gitlink:git-symbolic-refs[1]::
|
gitlink:git-symbolic-ref[1]::
|
||||||
Read and modify symbolic refs.
|
Read and modify symbolic refs.
|
||||||
|
|
||||||
gitlink:git-stripspace[1]::
|
gitlink:git-stripspace[1]::
|
||||||
|
|
|
@ -19,7 +19,7 @@ hash::
|
||||||
In git's context, synonym to object name.
|
In git's context, synonym to object name.
|
||||||
|
|
||||||
object database::
|
object database::
|
||||||
Stores a set of "objects", and an individial object is identified
|
Stores a set of "objects", and an individual object is identified
|
||||||
by its object name. The objects usually live in `$GIT_DIR/objects/`.
|
by its object name. The objects usually live in `$GIT_DIR/objects/`.
|
||||||
|
|
||||||
blob object::
|
blob object::
|
||||||
|
|
|
@ -24,7 +24,7 @@ Then do
|
||||||
git bisect bad master <- mark "master" as the bad state
|
git bisect bad master <- mark "master" as the bad state
|
||||||
git bisect good ORIG_HEAD <- mark ORIG_HEAD as good (or
|
git bisect good ORIG_HEAD <- mark ORIG_HEAD as good (or
|
||||||
whatever other known-good
|
whatever other known-good
|
||||||
thing you booted laste)
|
thing you booted last)
|
||||||
|
|
||||||
and at this point "git bisect" will churn for a while, and tell you what
|
and at this point "git bisect" will churn for a while, and tell you what
|
||||||
the mid-point between those two commits are, and check that state out as
|
the mid-point between those two commits are, and check that state out as
|
||||||
|
|
|
@ -21,7 +21,7 @@ outside world but sometimes useful for private repository.
|
||||||
. You can be using `objects/info/alternates` mechanism, or
|
. You can be using `objects/info/alternates` mechanism, or
|
||||||
`$GIT_ALTERNATE_OBJECT_DIRECTORIES` mechanism to 'borrow'
|
`$GIT_ALTERNATE_OBJECT_DIRECTORIES` mechanism to 'borrow'
|
||||||
objects from other object stores. A repository with this kind
|
objects from other object stores. A repository with this kind
|
||||||
of incompete object store is not suitable to be published for
|
of incomplete object store is not suitable to be published for
|
||||||
use with dumb transports but otherwise is OK as long as
|
use with dumb transports but otherwise is OK as long as
|
||||||
`objects/info/alternates` points at the right object stores
|
`objects/info/alternates` points at the right object stores
|
||||||
it borrows from.
|
it borrows from.
|
||||||
|
@ -106,7 +106,7 @@ info/refs::
|
||||||
up-to-date if the repository is published for dumb
|
up-to-date if the repository is published for dumb
|
||||||
transports. The `git-receive-pack` command, which is
|
transports. The `git-receive-pack` command, which is
|
||||||
run on a remote repository when you `git push` into it,
|
run on a remote repository when you `git push` into it,
|
||||||
runs `hooks/update` hook to help you achive this.
|
runs `hooks/update` hook to help you achieve this.
|
||||||
|
|
||||||
info/grafts::
|
info/grafts::
|
||||||
This file records fake commit ancestry information, to
|
This file records fake commit ancestry information, to
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -55,7 +55,7 @@ all:
|
||||||
# Define USE_STDEV below if you want git to care about the underlying device
|
# Define USE_STDEV below if you want git to care about the underlying device
|
||||||
# change being considered an inode change from the update-cache perspective.
|
# change being considered an inode change from the update-cache perspective.
|
||||||
|
|
||||||
GIT_VERSION = 1.0.6
|
GIT_VERSION = 1.0.7
|
||||||
|
|
||||||
# CFLAGS and LDFLAGS are for the users to override from the command line.
|
# CFLAGS and LDFLAGS are for the users to override from the command line.
|
||||||
|
|
||||||
|
|
3
apply.c
3
apply.c
|
@ -1588,7 +1588,7 @@ static int try_create_file(const char *path, unsigned int mode, const char *buf,
|
||||||
|
|
||||||
if (S_ISLNK(mode))
|
if (S_ISLNK(mode))
|
||||||
return symlink(buf, path);
|
return symlink(buf, path);
|
||||||
fd = open(path, O_CREAT | O_EXCL | O_WRONLY | O_TRUNC, (mode & 0100) ? 0777 : 0666);
|
fd = open(path, O_CREAT | O_EXCL | O_WRONLY, (mode & 0100) ? 0777 : 0666);
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
return -1;
|
return -1;
|
||||||
while (size) {
|
while (size) {
|
||||||
|
@ -1635,6 +1635,7 @@ static void create_one_file(const char *path, unsigned mode, const char *buf, un
|
||||||
}
|
}
|
||||||
if (errno != EEXIST)
|
if (errno != EEXIST)
|
||||||
break;
|
break;
|
||||||
|
++nr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
die("unable to write file %s mode %o", path, mode);
|
die("unable to write file %s mode %o", path, mode);
|
||||||
|
|
17
config.c
17
config.c
|
@ -409,8 +409,7 @@ int git_config_set_multivar(const char* key, const char* value,
|
||||||
const char* value_regex, int multi_replace)
|
const char* value_regex, int multi_replace)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
struct stat st;
|
int fd, in_fd;
|
||||||
int fd;
|
|
||||||
char* config_filename = strdup(git_path("config"));
|
char* config_filename = strdup(git_path("config"));
|
||||||
char* lock_file = strdup(git_path("config.lock"));
|
char* lock_file = strdup(git_path("config.lock"));
|
||||||
const char* last_dot = strrchr(key, '.');
|
const char* last_dot = strrchr(key, '.');
|
||||||
|
@ -457,9 +456,17 @@ int git_config_set_multivar(const char* key, const char* value,
|
||||||
/*
|
/*
|
||||||
* If .git/config does not exist yet, write a minimal version.
|
* If .git/config does not exist yet, write a minimal version.
|
||||||
*/
|
*/
|
||||||
if (stat(config_filename, &st)) {
|
in_fd = open(config_filename, O_RDONLY);
|
||||||
|
if ( in_fd < 0 ) {
|
||||||
free(store.key);
|
free(store.key);
|
||||||
|
|
||||||
|
if ( ENOENT != errno ) {
|
||||||
|
error("opening %s: %s", config_filename,
|
||||||
|
strerror(errno));
|
||||||
|
close(fd);
|
||||||
|
unlink(lock_file);
|
||||||
|
return 3; /* same as "invalid config file" */
|
||||||
|
}
|
||||||
/* if nothing to unset, error out */
|
/* if nothing to unset, error out */
|
||||||
if (value == NULL) {
|
if (value == NULL) {
|
||||||
close(fd);
|
close(fd);
|
||||||
|
@ -471,7 +478,7 @@ int git_config_set_multivar(const char* key, const char* value,
|
||||||
store_write_section(fd, key);
|
store_write_section(fd, key);
|
||||||
store_write_pair(fd, key, value);
|
store_write_pair(fd, key, value);
|
||||||
} else{
|
} else{
|
||||||
int in_fd;
|
struct stat st;
|
||||||
char* contents;
|
char* contents;
|
||||||
int i, copy_begin, copy_end, new_line = 0;
|
int i, copy_begin, copy_end, new_line = 0;
|
||||||
|
|
||||||
|
@ -528,7 +535,7 @@ int git_config_set_multivar(const char* key, const char* value,
|
||||||
return 5;
|
return 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
in_fd = open(config_filename, O_RDONLY, 0666);
|
fstat(in_fd, &st);
|
||||||
contents = mmap(NULL, st.st_size, PROT_READ,
|
contents = mmap(NULL, st.st_size, PROT_READ,
|
||||||
MAP_PRIVATE, in_fd, 0);
|
MAP_PRIVATE, in_fd, 0);
|
||||||
close(in_fd);
|
close(in_fd);
|
||||||
|
|
4
date.c
4
date.c
|
@ -326,7 +326,7 @@ static int match_digit(const char *date, struct tm *tm, int *offset, int *tm_gmt
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* NOTE! We will give precedence to day-of-month over month or
|
* NOTE! We will give precedence to day-of-month over month or
|
||||||
* year numebers in the 1-12 range. So 05 is always "mday 5",
|
* year numbers in the 1-12 range. So 05 is always "mday 5",
|
||||||
* unless we already have a mday..
|
* unless we already have a mday..
|
||||||
*
|
*
|
||||||
* IOW, 01 Apr 05 parses as "April 1st, 2005".
|
* IOW, 01 Apr 05 parses as "April 1st, 2005".
|
||||||
|
@ -640,7 +640,7 @@ unsigned long approxidate(const char *date)
|
||||||
}
|
}
|
||||||
if (number > 0 && number < 32)
|
if (number > 0 && number < 32)
|
||||||
tm.tm_mday = number;
|
tm.tm_mday = number;
|
||||||
if (tm.tm_mon > now.tm_mon)
|
if (tm.tm_mon > now.tm_mon && tm.tm_year == now.tm_year)
|
||||||
tm.tm_year--;
|
tm.tm_year--;
|
||||||
return mktime(&tm);
|
return mktime(&tm);
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,7 +116,7 @@ static int diff_cache(struct cache_entry **ac, int entries, const char **pathspe
|
||||||
/* We come here with ce pointing at stage 1
|
/* We come here with ce pointing at stage 1
|
||||||
* (original tree) and ac[1] pointing at stage
|
* (original tree) and ac[1] pointing at stage
|
||||||
* 3 (unmerged). show-modified with
|
* 3 (unmerged). show-modified with
|
||||||
* report-mising set to false does not say the
|
* report-missing set to false does not say the
|
||||||
* file is deleted but reports true if work
|
* file is deleted but reports true if work
|
||||||
* tree does not have it, in which case we
|
* tree does not have it, in which case we
|
||||||
* fall through to report the unmerged state.
|
* fall through to report the unmerged state.
|
||||||
|
|
2
diff.c
2
diff.c
|
@ -787,7 +787,7 @@ int diff_setup_done(struct diff_options *options)
|
||||||
* so it is safe for us to do this here. Also
|
* so it is safe for us to do this here. Also
|
||||||
* it does not smudge active_cache or active_nr
|
* it does not smudge active_cache or active_nr
|
||||||
* when it fails, so we do not have to worry about
|
* when it fails, so we do not have to worry about
|
||||||
* cleaning it up oufselves either.
|
* cleaning it up ourselves either.
|
||||||
*/
|
*/
|
||||||
read_cache();
|
read_cache();
|
||||||
}
|
}
|
||||||
|
|
2
entry.c
2
entry.c
|
@ -60,7 +60,7 @@ static void remove_subtree(const char *path)
|
||||||
static int create_file(const char *path, unsigned int mode)
|
static int create_file(const char *path, unsigned int mode)
|
||||||
{
|
{
|
||||||
mode = (mode & 0100) ? 0777 : 0666;
|
mode = (mode & 0100) ? 0777 : 0666;
|
||||||
return open(path, O_WRONLY | O_TRUNC | O_CREAT | O_EXCL, mode);
|
return open(path, O_WRONLY | O_CREAT | O_EXCL, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int write_entry(struct cache_entry *ce, const char *path, struct checkout *state)
|
static int write_entry(struct cache_entry *ce, const char *path, struct checkout *state)
|
||||||
|
|
2
epoch.c
2
epoch.c
|
@ -190,7 +190,7 @@ static void free_mass_counter(struct mass_counter *counter)
|
||||||
* enqueued, enqueuing the commit in a list of pending commits, in latest
|
* enqueued, enqueuing the commit in a list of pending commits, in latest
|
||||||
* commit date first order.
|
* commit date first order.
|
||||||
*
|
*
|
||||||
* The algorithm then preceeds to visit each commit in the pending queue.
|
* The algorithm then proceeds to visit each commit in the pending queue.
|
||||||
* Upon each visit, the pending mass is added to the mass already seen for that
|
* Upon each visit, the pending mass is added to the mass already seen for that
|
||||||
* commit and then divided into N equal portions, where N is the number of
|
* commit and then divided into N equal portions, where N is the number of
|
||||||
* parents of the commit being visited. The divided portions are then injected
|
* parents of the commit being visited. The divided portions are then injected
|
||||||
|
|
|
@ -47,7 +47,7 @@ static int finish_pack(const char *pack_tmp_name, const char *me)
|
||||||
if (retval < 0) {
|
if (retval < 0) {
|
||||||
if (errno == EINTR)
|
if (errno == EINTR)
|
||||||
continue;
|
continue;
|
||||||
error("waitpid failed (%s)", strerror(retval));
|
error("waitpid failed (%s)", strerror(errno));
|
||||||
goto error_die;
|
goto error_die;
|
||||||
}
|
}
|
||||||
if (WIFSIGNALED(status)) {
|
if (WIFSIGNALED(status)) {
|
||||||
|
|
|
@ -148,7 +148,7 @@ esac
|
||||||
|
|
||||||
if [ -f "$GIT_DIR/MERGE_HEAD" ]; then
|
if [ -f "$GIT_DIR/MERGE_HEAD" ]; then
|
||||||
echo "#"
|
echo "#"
|
||||||
echo "# It looks like your may be committing a MERGE."
|
echo "# It looks like you may be committing a MERGE."
|
||||||
echo "# If this is not correct, please remove the file"
|
echo "# If this is not correct, please remove the file"
|
||||||
echo "# $GIT_DIR/MERGE_HEAD"
|
echo "# $GIT_DIR/MERGE_HEAD"
|
||||||
echo "# and try again"
|
echo "# and try again"
|
||||||
|
@ -165,6 +165,7 @@ then
|
||||||
then
|
then
|
||||||
pick_author_script='
|
pick_author_script='
|
||||||
/^author /{
|
/^author /{
|
||||||
|
s/'\''/'\''\\'\'\''/g
|
||||||
h
|
h
|
||||||
s/^author \([^<]*\) <[^>]*> .*$/\1/
|
s/^author \([^<]*\) <[^>]*> .*$/\1/
|
||||||
s/'\''/'\''\'\'\''/g
|
s/'\''/'\''\'\'\''/g
|
||||||
|
|
|
@ -63,6 +63,8 @@ extern char *gitstrcasestr(const char *haystack, const char *needle);
|
||||||
static inline void *xmalloc(size_t size)
|
static inline void *xmalloc(size_t size)
|
||||||
{
|
{
|
||||||
void *ret = malloc(size);
|
void *ret = malloc(size);
|
||||||
|
if (!ret && !size)
|
||||||
|
ret = malloc(1);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
die("Out of memory, malloc failed");
|
die("Out of memory, malloc failed");
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -71,6 +73,8 @@ static inline void *xmalloc(size_t size)
|
||||||
static inline void *xrealloc(void *ptr, size_t size)
|
static inline void *xrealloc(void *ptr, size_t size)
|
||||||
{
|
{
|
||||||
void *ret = realloc(ptr, size);
|
void *ret = realloc(ptr, size);
|
||||||
|
if (!ret && !size)
|
||||||
|
ret = realloc(ptr, 1);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
die("Out of memory, realloc failed");
|
die("Out of memory, realloc failed");
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -79,6 +83,8 @@ static inline void *xrealloc(void *ptr, size_t size)
|
||||||
static inline void *xcalloc(size_t nmemb, size_t size)
|
static inline void *xcalloc(size_t nmemb, size_t size)
|
||||||
{
|
{
|
||||||
void *ret = calloc(nmemb, size);
|
void *ret = calloc(nmemb, size);
|
||||||
|
if (!ret && (!nmemb || !size))
|
||||||
|
ret = calloc(1, 1);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
die("Out of memory, calloc failed");
|
die("Out of memory, calloc failed");
|
||||||
return ret;
|
return ret;
|
||||||
|
|
19
git-fetch.sh
19
git-fetch.sh
|
@ -188,11 +188,20 @@ esac
|
||||||
reflist=$(get_remote_refs_for_fetch "$@")
|
reflist=$(get_remote_refs_for_fetch "$@")
|
||||||
if test "$tags"
|
if test "$tags"
|
||||||
then
|
then
|
||||||
taglist=$(git-ls-remote --tags "$remote" |
|
taglist=$(IFS=" " &&
|
||||||
sed -e '
|
git-ls-remote --tags "$remote" |
|
||||||
/\^/d
|
while read sha1 name
|
||||||
s/^[^ ]* //
|
do
|
||||||
s/.*/.&:&/')
|
case "$name" in
|
||||||
|
(*^*) continue ;;
|
||||||
|
esac
|
||||||
|
if git-check-ref-format "$name"
|
||||||
|
then
|
||||||
|
echo ".${name}:${name}"
|
||||||
|
else
|
||||||
|
echo >&2 "warning: tag ${name} ignored"
|
||||||
|
fi
|
||||||
|
done)
|
||||||
if test "$#" -gt 1
|
if test "$#" -gt 1
|
||||||
then
|
then
|
||||||
# remote URL plus explicit refspecs; we need to merge them.
|
# remote URL plus explicit refspecs; we need to merge them.
|
||||||
|
|
|
@ -173,6 +173,7 @@ titleScript='
|
||||||
|
|
||||||
whosepatchScript='
|
whosepatchScript='
|
||||||
/^author /{
|
/^author /{
|
||||||
|
s/'\''/'\''\\'\'\''/g
|
||||||
s/author \(.*>\) \(.*\)$/au='\''\1'\'' ad='\''\2'\''/p
|
s/author \(.*>\) \(.*\)$/au='\''\1'\'' ad='\''\2'\''/p
|
||||||
q
|
q
|
||||||
}'
|
}'
|
||||||
|
|
|
@ -82,7 +82,7 @@ case "${1:-.}${2:-.}${3:-.}" in
|
||||||
expr "$sz0" \< "$sz1" \* 2 >/dev/null || : >$orig
|
expr "$sz0" \< "$sz1" \* 2 >/dev/null || : >$orig
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Auto-merging $4."
|
echo "Auto-merging $4"
|
||||||
orig=`git-unpack-file $1`
|
orig=`git-unpack-file $1`
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -107,7 +107,7 @@ case "${1:-.}${2:-.}${3:-.}" in
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $ret -ne 0 ]; then
|
if [ $ret -ne 0 ]; then
|
||||||
echo "ERROR: Merge conflict in $4."
|
echo "ERROR: Merge conflict in $4"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
exec git-update-index -- "$4"
|
exec git-update-index -- "$4"
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
USAGE='[--mixed | --soft | --hard] [<commit-ish>]'
|
USAGE='[--mixed | --soft | --hard] [<commit-ish>]'
|
||||||
. git-sh-setup
|
. git-sh-setup
|
||||||
|
|
||||||
tmp=/var/tmp/reset.$$
|
tmp=${GIT_DIR}/reset.$$
|
||||||
trap 'rm -f $tmp-*' 0 1 2 3 15
|
trap 'rm -f $tmp-*' 0 1 2 3 15
|
||||||
|
|
||||||
reset_type=--mixed
|
reset_type=--mixed
|
||||||
|
|
|
@ -96,8 +96,10 @@ sub new {
|
||||||
sub conn {
|
sub conn {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $repo = $self->{'fullrep'};
|
my $repo = $self->{'fullrep'};
|
||||||
my $s = SVN::Ra->new($repo);
|
my $auth = SVN::Core::auth_open ([SVN::Client::get_simple_provider,
|
||||||
|
SVN::Client::get_ssl_server_trust_file_provider,
|
||||||
|
SVN::Client::get_username_provider]);
|
||||||
|
my $s = SVN::Ra->new(url => $repo, auth => $auth);
|
||||||
die "SVN connection to $repo: $!\n" unless defined $s;
|
die "SVN connection to $repo: $!\n" unless defined $s;
|
||||||
$self->{'svn'} = $s;
|
$self->{'svn'} = $s;
|
||||||
$self->{'repo'} = $repo;
|
$self->{'repo'} = $repo;
|
||||||
|
|
5
git.c
5
git.c
|
@ -244,6 +244,11 @@ int main(int argc, char **argv, char **envp)
|
||||||
for (i = 1; i < argc; i++) {
|
for (i = 1; i < argc; i++) {
|
||||||
char *arg = argv[i];
|
char *arg = argv[i];
|
||||||
|
|
||||||
|
if (!strcmp(arg, "help")) {
|
||||||
|
show_help = 1;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (strncmp(arg, "--", 2))
|
if (strncmp(arg, "--", 2))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
2
ident.c
2
ident.c
|
@ -140,7 +140,7 @@ static int copy(char *buf, int size, int offset, const char *src)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copy the rest to the buffer, but avoid the special
|
* Copy the rest to the buffer, but avoid the special
|
||||||
* characters '\n' '<' and '>' that act as delimeters on
|
* characters '\n' '<' and '>' that act as delimiters on
|
||||||
* a identification line
|
* a identification line
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < len; i++) {
|
for (i = 0; i < len; i++) {
|
||||||
|
|
|
@ -169,7 +169,7 @@ static int excluded_1(const char *pathname,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/* match with FNM_PATHNAME:
|
/* match with FNM_PATHNAME:
|
||||||
* exclude has base (baselen long) inplicitly
|
* exclude has base (baselen long) implicitly
|
||||||
* in front of it.
|
* in front of it.
|
||||||
*/
|
*/
|
||||||
int baselen = x->baselen;
|
int baselen = x->baselen;
|
||||||
|
|
|
@ -119,7 +119,7 @@ static unsigned long write_one(struct sha1file *f,
|
||||||
return offset;
|
return offset;
|
||||||
e->offset = offset;
|
e->offset = offset;
|
||||||
offset += write_object(f, e);
|
offset += write_object(f, e);
|
||||||
/* if we are delitified, write out its base object. */
|
/* if we are deltified, write out its base object. */
|
||||||
if (e->delta)
|
if (e->delta)
|
||||||
offset = write_one(f, e->delta, offset);
|
offset = write_one(f, e->delta, offset);
|
||||||
return offset;
|
return offset;
|
||||||
|
|
|
@ -6,7 +6,7 @@ static const char git_config_set_usage[] =
|
||||||
|
|
||||||
static char* key = NULL;
|
static char* key = NULL;
|
||||||
static char* value = NULL;
|
static char* value = NULL;
|
||||||
static regex_t* regex = NULL;
|
static regex_t* regexp = NULL;
|
||||||
static int do_all = 0;
|
static int do_all = 0;
|
||||||
static int do_not_match = 0;
|
static int do_not_match = 0;
|
||||||
static int seen = 0;
|
static int seen = 0;
|
||||||
|
@ -14,9 +14,9 @@ static int seen = 0;
|
||||||
static int show_config(const char* key_, const char* value_)
|
static int show_config(const char* key_, const char* value_)
|
||||||
{
|
{
|
||||||
if (!strcmp(key_, key) &&
|
if (!strcmp(key_, key) &&
|
||||||
(regex == NULL ||
|
(regexp == NULL ||
|
||||||
(do_not_match ^
|
(do_not_match ^
|
||||||
!regexec(regex, value_, 0, NULL, 0)))) {
|
!regexec(regexp, value_, 0, NULL, 0)))) {
|
||||||
if (do_all) {
|
if (do_all) {
|
||||||
printf("%s\n", value_);
|
printf("%s\n", value_);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -46,8 +46,8 @@ static int get_value(const char* key_, const char* regex_)
|
||||||
regex_++;
|
regex_++;
|
||||||
}
|
}
|
||||||
|
|
||||||
regex = (regex_t*)malloc(sizeof(regex_t));
|
regexp = (regex_t*)malloc(sizeof(regex_t));
|
||||||
if (regcomp(regex, regex_, REG_EXTENDED)) {
|
if (regcomp(regexp, regex_, REG_EXTENDED)) {
|
||||||
fprintf(stderr, "Invalid pattern: %s\n", regex_);
|
fprintf(stderr, "Invalid pattern: %s\n", regex_);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -59,9 +59,9 @@ static int get_value(const char* key_, const char* regex_)
|
||||||
free(value);
|
free(value);
|
||||||
}
|
}
|
||||||
free(key);
|
free(key);
|
||||||
if (regex) {
|
if (regexp) {
|
||||||
regfree(regex);
|
regfree(regexp);
|
||||||
free(regex);
|
free(regexp);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (do_all)
|
if (do_all)
|
||||||
|
|
|
@ -9,9 +9,6 @@ This test tries pathnames with funny characters in the working
|
||||||
tree, index, and tree objects.
|
tree, index, and tree objects.
|
||||||
'
|
'
|
||||||
|
|
||||||
# since FAT/NTFS does not allow tabs in filenames, skip this test
|
|
||||||
test "$(uname -o 2>/dev/null)" = Cygwin && exit 0
|
|
||||||
|
|
||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
|
||||||
p0='no-funny'
|
p0='no-funny'
|
||||||
|
@ -27,6 +24,12 @@ EOF
|
||||||
cat >"$p1" "$p0"
|
cat >"$p1" "$p0"
|
||||||
echo 'Foo Bar Baz' >"$p2"
|
echo 'Foo Bar Baz' >"$p2"
|
||||||
|
|
||||||
|
test -f "$p1" && cmp "$p0" "$p1" || {
|
||||||
|
# since FAT/NTFS does not allow tabs in filenames, skip this test
|
||||||
|
say 'Your filesystem does not allow tabs in filenames, test skipped.'
|
||||||
|
test_done
|
||||||
|
}
|
||||||
|
|
||||||
echo 'just space
|
echo 'just space
|
||||||
no-funny' >expected
|
no-funny' >expected
|
||||||
test_expect_success 'git-ls-files no-funny' \
|
test_expect_success 'git-ls-files no-funny' \
|
||||||
|
|
|
@ -26,6 +26,14 @@ rm -f path1
|
||||||
test_expect_success \
|
test_expect_success \
|
||||||
'git-diff-files -p after editing work tree.' \
|
'git-diff-files -p after editing work tree.' \
|
||||||
'git-diff-files -p >current'
|
'git-diff-files -p >current'
|
||||||
|
|
||||||
|
# that's as far as it comes
|
||||||
|
if [ "$(git repo-config --get core.filemode)" = false ]
|
||||||
|
then
|
||||||
|
say 'filemode disabled on the filesystem'
|
||||||
|
test_done
|
||||||
|
fi
|
||||||
|
|
||||||
cat >expected <<\EOF
|
cat >expected <<\EOF
|
||||||
diff --git a/path0 b/path0
|
diff --git a/path0 b/path0
|
||||||
old mode 100644
|
old mode 100644
|
||||||
|
|
|
@ -15,11 +15,21 @@ test_expect_success \
|
||||||
tree=`git-write-tree` &&
|
tree=`git-write-tree` &&
|
||||||
echo $tree'
|
echo $tree'
|
||||||
|
|
||||||
test_expect_success \
|
if [ "$(git repo-config --get core.filemode)" = false ]
|
||||||
'chmod' \
|
then
|
||||||
'chmod +x rezrov &&
|
say 'filemode disabled on the filesystem, using update-index --chmod=+x'
|
||||||
git-update-index rezrov &&
|
test_expect_success \
|
||||||
git-diff-index $tree >current'
|
'git-update-index --chmod=+x' \
|
||||||
|
'git-update-index rezrov &&
|
||||||
|
git-update-index --chmod=+x rezrov &&
|
||||||
|
git-diff-index $tree >current'
|
||||||
|
else
|
||||||
|
test_expect_success \
|
||||||
|
'chmod' \
|
||||||
|
'chmod +x rezrov &&
|
||||||
|
git-update-index rezrov &&
|
||||||
|
git-diff-index $tree >current'
|
||||||
|
fi
|
||||||
|
|
||||||
_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
|
_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"
|
_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
|
||||||
|
|
|
@ -31,7 +31,12 @@ test_expect_success setup \
|
||||||
test_expect_success apply \
|
test_expect_success apply \
|
||||||
'git-apply --index --stat --summary --apply test-patch'
|
'git-apply --index --stat --summary --apply test-patch'
|
||||||
|
|
||||||
test_expect_success validate \
|
if [ "$(git repo-config --get core.filemode)" = false ]
|
||||||
'test -f bar && ls -l bar | grep "^-..x......"'
|
then
|
||||||
|
say 'filemode disabled on the filesystem'
|
||||||
|
else
|
||||||
|
test_expect_success validate \
|
||||||
|
'test -f bar && ls -l bar | grep "^-..x......"'
|
||||||
|
fi
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
|
|
@ -8,13 +8,6 @@ test_description='Tests git-rev-list --merge-order functionality'
|
||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
. ../t6000lib.sh # t6xxx specific functions
|
. ../t6000lib.sh # t6xxx specific functions
|
||||||
|
|
||||||
if git-rev-list --merge-order 2>&1 | grep 'OpenSSL not linked' >/dev/null
|
|
||||||
then
|
|
||||||
test_expect_success 'skipping merge-order test' :
|
|
||||||
test_done
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
# test-case specific test function
|
# test-case specific test function
|
||||||
check_adjacency()
|
check_adjacency()
|
||||||
{
|
{
|
||||||
|
@ -114,6 +107,13 @@ test_output_expect_success 'rev-list has correct number of entries' 'git-rev-lis
|
||||||
19
|
19
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
if git-rev-list --merge-order HEAD 2>&1 | grep 'OpenSSL not linked' >/dev/null
|
||||||
|
then
|
||||||
|
test_expect_success 'skipping merge-order test' :
|
||||||
|
test_done
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
normal_adjacency_count=$(git-rev-list HEAD | check_adjacency | grep -c "\^" | tr -d ' ')
|
normal_adjacency_count=$(git-rev-list HEAD | check_adjacency | grep -c "\^" | tr -d ' ')
|
||||||
merge_order_adjacency_count=$(git-rev-list --merge-order HEAD | check_adjacency | grep -c "\^" | tr -d ' ')
|
merge_order_adjacency_count=$(git-rev-list --merge-order HEAD | check_adjacency | grep -c "\^" | tr -d ' ')
|
||||||
test_expect_success '--merge-order produces as many or fewer discontinuities' '[ $merge_order_adjacency_count -le $normal_adjacency_count ]'
|
test_expect_success '--merge-order produces as many or fewer discontinuities' '[ $merge_order_adjacency_count -le $normal_adjacency_count ]'
|
||||||
|
|
|
@ -195,7 +195,7 @@ test -d ../templates/blt || {
|
||||||
test=trash
|
test=trash
|
||||||
rm -fr "$test"
|
rm -fr "$test"
|
||||||
mkdir "$test"
|
mkdir "$test"
|
||||||
cd "$test"
|
cd "$test" || error "Cannot setup test environment"
|
||||||
"$GIT_EXEC_PATH/git" init-db --template=../../templates/blt/ 2>/dev/null ||
|
"$GIT_EXEC_PATH/git" init-db --template=../../templates/blt/ 2>/dev/null ||
|
||||||
error "cannot run git init-db -- have you built things yet?"
|
error "cannot run git init-db -- have you built things yet?"
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче