Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
git
提交
15a42a10
G
git
项目概览
李少辉-开发者
/
git
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
git
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
15a42a10
编写于
12月 05, 2013
作者:
J
Junio C Hamano
浏览文件
操作
浏览文件
下载
差异文件
Sync with 1.8.5
上级
bb5d531e
d2446dfd
变更
28
展开全部
隐藏空白更改
内联
并排
Showing
28 changed file
with
9220 addition
and
7537 deletion
+9220
-7537
Documentation/RelNotes/1.8.4.4.txt
Documentation/RelNotes/1.8.4.4.txt
+10
-0
Documentation/RelNotes/1.8.5.txt
Documentation/RelNotes/1.8.5.txt
+84
-82
Documentation/date-formats.txt
Documentation/date-formats.txt
+2
-2
Documentation/git-blame.txt
Documentation/git-blame.txt
+1
-1
Documentation/git-cvsimport.txt
Documentation/git-cvsimport.txt
+2
-2
Documentation/git-fast-import.txt
Documentation/git-fast-import.txt
+5
-5
Documentation/git-svn.txt
Documentation/git-svn.txt
+3
-3
Documentation/git.txt
Documentation/git.txt
+7
-1
Documentation/gitweb.conf.txt
Documentation/gitweb.conf.txt
+7
-7
Documentation/rev-list-options.txt
Documentation/rev-list-options.txt
+2
-2
GIT-VERSION-GEN
GIT-VERSION-GEN
+1
-1
builtin/blame.c
builtin/blame.c
+3
-1
builtin/branch.c
builtin/branch.c
+7
-1
contrib/remote-helpers/git-remote-hg
contrib/remote-helpers/git-remote-hg
+1
-1
pathspec.c
pathspec.c
+8
-1
pathspec.h
pathspec.h
+7
-0
po/TEAMS
po/TEAMS
+1
-1
po/de.po
po/de.po
+1499
-1217
po/fr.po
po/fr.po
+1513
-1230
po/git.pot
po/git.pot
+1463
-1201
po/sv.po
po/sv.po
+1499
-1217
po/vi.po
po/vi.po
+1562
-1276
po/zh_CN.po
po/zh_CN.po
+1508
-1270
revision.c
revision.c
+2
-2
t/t6040-tracking-info.sh
t/t6040-tracking-info.sh
+13
-11
t/t6130-pathspec-noglob.sh
t/t6130-pathspec-noglob.sh
+7
-0
tree-diff.c
tree-diff.c
+3
-1
upload-pack.c
upload-pack.c
+0
-1
未找到文件。
Documentation/RelNotes/1.8.4.4.txt
0 → 100644
浏览文件 @
15a42a10
Git v1.8.4.4 Release Notes
========================
Fixes since v1.8.4.3
--------------------
* The fix in v1.8.4.3 to the pack transfer protocol to propagate
the target of symbolic refs broke "git clone/git fetch" from a
repository with too many symbolic refs. As a hotfix/workaround,
we transfer only the information on HEAD.
Documentation/RelNotes/1.8.5.txt
浏览文件 @
15a42a10
...
...
@@ -8,7 +8,7 @@ When "git push [$there]" does not say what to push, we have used the
traditional "matching" semantics so far (all your branches were sent
to the remote as long as there already are branches of the same name
over there). In Git 2.0, the default will change to the "simple"
semantics
that
pushes:
semantics
, which
pushes:
- only the current branch to the branch with the same name, and only
when the current branch is set to integrate with that remote
...
...
@@ -53,9 +53,12 @@ Updates since v1.8.4
Foreign interfaces, subsystems and ports.
* "git-svn" used with SVN 1.8.0 when talking over https:// connection
* "git-svn" has been taught to use the serf library, which is the
only option SVN 1.8.0 offers us when talking the HTTP protocol.
* "git-svn" talking over an https:// connection using the serf library
dumped core due to a bug in the serf library that SVN uses. Work
it around
on our side, even though the SVN side is being fixed.
around it
on our side, even though the SVN side is being fixed.
* On MacOS X, we detected if the filesystem needs the "pre-composed
unicode strings" workaround, but did not automatically enable it.
...
...
@@ -65,10 +68,7 @@ Foreign interfaces, subsystems and ports.
repository relative to the home directory, e.g. "clone hg::~/there".
* imap-send ported to OS X uses Apple's security framework instead of
OpenSSL one.
* Subversion 1.8.0 that was recently released breaks older subversion
clients coming over http/https in various ways.
OpenSSL's.
* "git fast-import" treats an empty path given to "ls" as the root of
the tree.
...
...
@@ -79,22 +79,22 @@ UI, Workflows & Features
* xdg-open can be used as a browser backend for "git web-browse"
(hence to show "git help -w" output), when available.
* "git grep" and "git show" pay
s attention to
"--textconv" option
* "git grep" and "git show" pay
attention to the
"--textconv" option
when these commands are told to operate on blob objects (e.g. "git
grep -e pattern HEAD:Makefile").
grep -e pattern
--textconv
HEAD:Makefile").
* "git replace" helper no longer allows an object to be replaced with
another object of a different type to avoid confusion (you can
still manually craft such replacement using "git update-ref", as an
still manually craft such
a
replacement using "git update-ref", as an
escape hatch).
* "git status" no longer prints
dirty status information for
* "git status" no longer prints
the dirty status information of
submodules for which submodule.$name.ignore is set to "all".
* "git rebase -i" honours core.abbrev when preparing the insn sheet
for editing.
* "git status" during a cherry-pick shows wh
at
original commit is
* "git status" during a cherry-pick shows wh
ich
original commit is
being picked.
* Instead of typing four capital letters "HEAD", you can say "@" now,
...
...
@@ -102,21 +102,21 @@ UI, Workflows & Features
* "git check-ignore" follows the same rule as "git add" and "git
status" in that the ignore/exclude mechanism does not take effect
on paths that are already tracked. With "--no-index" option, it
on paths that are already tracked. With
the
"--no-index" option, it
can be used to diagnose which paths that should have been ignored
have been mistakenly added to the index.
* Some irrelevant "advice" messages that are shared with "git status"
output have been removed from the commit log template.
* "update-refs" learn
t
a "--stdin" option to read multiple update
* "update-refs" learn
ed
a "--stdin" option to read multiple update
requests and perform them in an all-or-none fashion.
* Just like "make -C <directory>", "git -C <directory> ..." tells Git
to go there before doing anything else.
* Just like "git checkout -" knows to check out and "git merge -"
knows to merge the branch you were previously on, "git cherry-pick"
* Just like "git checkout -" knows to check out
,
and "git merge -"
knows to merge
,
the branch you were previously on, "git cherry-pick"
now understands "git cherry-pick -" to pick from the previous
branch.
...
...
@@ -126,56 +126,58 @@ UI, Workflows & Features
"git status --porcelain" instead, as its format is stable and easier
to parse.
* Make "foo^{tag}" to peel a tag to itself, i.e. no-op., and fail if
"foo" is not a tag. "git rev-parse --verify v1.0^{tag}" would be
a more convenient way to say "test $(git cat-file -t v1.0) = tag".
* The ref syntax "foo^{tag}" (with the literal string "{tag}") peels a
tag ref to itself, i.e. it's a no-op., and fails if
"foo" is not a tag. "git rev-parse --verify v1.0^{tag}" is
a more convenient way than "test $(git cat-file -t v1.0) = tag" to
check if v1.0 is a tag.
* "git branch -v -v" (and "git status") did not distinguish among a
branch that
does not buil
d on any other branch, a branch that is in
sync with
the branch it builds on, and a branch that is configured
to build on some other
branch that no longer exists.
branch that
is not base
d on any other branch, a branch that is in
sync with
its upstream branch, and a branch that is configured with an
upstream
branch that no longer exists.
* Earlier we started rejecting an
attempt to add
0{40} object name to
* Earlier we started rejecting an
y attempt to add the
0{40} object name to
the index and to tree objects, but it sometimes is necessary to
allow so to be able to use tools like filter-branch to correct such
broken tree objects. "filter-branch" can again be used to to do
so.
allow this to be able to use tools like filter-branch to correct such
broken tree objects. "filter-branch" can again be used to do this.
* "git config" did not provide a way to set or access numbers larger
than a native "int" on the platform; it now provides 64-bit signed
integers on all platforms.
* "git pull --rebase" always chose to do the bog-standard flattening
rebase. You can tell it to run "rebase --preserve-merges" by
rebase. You can tell it to run "rebase --preserve-merges" with
"git pull --rebase=preserve" or by
setting "pull.rebase" configuration to "preserve".
* "git push --no-thin" actually disables the "thin pack transfer"
optimization.
* Magic pathspecs like ":(icase)makefile"
that
matches both Makefile
and makefile
and ":(glob)foo/**/bar" that
matches "bar" in "foo"
and any subdirectory of "foo" can be used in more places.
* Magic pathspecs like ":(icase)makefile"
(
matches both Makefile
and makefile
) and ":(glob)foo/**/bar" (
matches "bar" in "foo"
and any subdirectory of "foo"
)
can be used in more places.
* The "http.*" variables can now be specified
per URL that the
configuration applies.
For example,
* The "http.*" variables can now be specified
for individual URLs.
For example,
[http]
sslVerify = true
[http "https://weak.example.com/"]
sslVerify = false
would flip http.sslVerify off only when talking to that specifi
ed
would flip http.sslVerify off only when talking to that specifi
c
site.
* "git mv A B" when moving a submodule
A
has been taught to
relocate
it
s working tree and to adjust the paths in the
* "git mv A B" when moving a submodule has been taught to
relocate
the submodule'
s working tree and to adjust the paths in the
.gitmodules file.
* "git blame" can now take more than one -L option to discover the
origin of multiple blocks of
the
lines.
origin of multiple blocks of lines.
* The http transport clients can optionally ask to save cookies
with http.savecookies configuration variable.
with
the
http.savecookies configuration variable.
* "git push" learned a more fine grained control over a blunt
"--force" when requesting a non-fast-forward update with the
...
...
@@ -197,7 +199,7 @@ UI, Workflows & Features
* "git whatchanged" may still be used by old timers, but mention of
it in documents meant for new users will only waste readers' time
wonderig what the difference is between it and "git log". Make it
wonderi
n
g what the difference is between it and "git log". Make it
less prominent in the general part of the documentation and explain
that it is merely a "git log" with different default behaviour in
its own document.
...
...
@@ -219,23 +221,23 @@ Performance, Internal Implementation, etc.
should apply the same "no subprocess or pipe" optimization as we
apply to user-supplied GIT_PAGER=cat.
* Many commands use
--dashed-option as a
operation mode selector
(e.g. "git tag --delete") that
the user can use at most one
(e.g. "git tag --delete --verify" is
a nonsense) and you cannot
negate
(e.g. "git tag --no-delete" is a nonsense).
parse-options
* Many commands use
a --dashed-option as an
operation mode selector
(e.g. "git tag --delete") that
excludes other operation modes
(e.g. "git tag --delete --verify" is
nonsense) and that cannot be
negate
d (e.g. "git tag --no-delete" is nonsense). The
parse-options
API learned a new OPT_CMDMODE macro to make it easier to implement
such a set of options.
* OPT_BOOLEAN() in parse-options API was misdesigned to be "counting
* OPT_BOOLEAN() in
the
parse-options API was misdesigned to be "counting
up" but many subcommands expect it to behave as "on/off". Update
them to use OPT_BOOL() which is a proper boolean.
* "git gc" exits early without doing a
double-
work when it detects
* "git gc" exits early without doing a
ny
work when it detects
that another instance of itself is already running.
* Under memory pressure and/or file descriptor pressure, we used to
close pack windows that are not used and also closed filehandle to
an
open but unused packfiles. These are now controlled separately
close pack windows that are not used and also closed filehandle
s
to
open but unused packfiles. These are now controlled separately
to better cope with the load.
Also contains various documentation updates and code clean-ups.
...
...
@@ -245,32 +247,32 @@ Fixes since v1.8.4
------------------
Unless otherwise noted, all the fixes since v1.8.4 in the maintenance
track are contained in this release (see
release notes to them
for
track are contained in this release (see
the maintenance releases' notes
for
details).
* An ancient How-To on serving Git repositories on an HTTP server
lacked a warning that it has been mostly superseded with more
lacked a warning that it has been mostly superseded with
a
more
modern way.
(merge 6d52bc3 sc/doc-howto-dumb-http later to maint).
* The interaction between use of Perl in our test suite and NO_PERL
* The interaction between
the
use of Perl in our test suite and NO_PERL
has been clarified a bit.
(merge f8fc0ee jn/test-prereq-perl-doc later to maint).
* The synopsis section of "git unpack-objects" documentation has been
* The synopsis section of
the
"git unpack-objects" documentation has been
clarified a bit.
(merge 61e2e22 vd/doc-unpack-objects later to maint).
* We did not generate
HTML version of
documentation to "git subtree"
* We did not generate
the HTML version of the
documentation to "git subtree"
in contrib/.
(merge 95c62fb jk/subtree-install-fix later to maint).
* A fast-import stream expresses a pathname with funny characters by
quoting them in C style; remote-hg remote helper forgot to unquote
quoting them in C style;
the
remote-hg remote helper forgot to unquote
such a path.
(merge 1136265 ap/remote-hg-unquote-cquote later to maint).
* "git reset -p HEAD" has a codepath to special
case it to behave
* "git reset -p HEAD" has a codepath to special
-
case it to behave
differently from resetting to contents of other commits, but a
recent change broke it.
...
...
@@ -289,38 +291,38 @@ details).
"HEAD" points at, and the receiving end needed to guess. A new
capability has been defined in the pack protocol to convey this
information so that cloning from a repository with more than one
branch
es
pointing at the same commit where the HEAD is at now
branch pointing at the same commit where the HEAD is at now
reliably sets the initial branch in the resulting repository.
(merge 360a326 jc/upload-pack-send-symref later to maint).
* We did not handle cases where http transport gets redirected during
* We did not handle cases where
the
http transport gets redirected during
the authorization request (e.g. from http:// to https://).
(merge 70900ed jk/http-auth-redirects later to maint).
* Bash prompting code to deal with an SVN remote as an upstream
w
ere coded in a way not
supported by older Bash versions (3.x).
w
as coded in a way un
supported by older Bash versions (3.x).
(merge 52ec889 sg/prompt-svn-remote-fix later to maint).
* The fall-back parsing of commit objects with broken author or
committer lines w
ere
less robust than ideal in picking up the
committer lines w
as
less robust than ideal in picking up the
timestamps.
(merge 03818a4 jk/split-broken-ident later to maint).
* "git rev-list --objects ^v1.0^ v1.0" gave v1.0 tag itself in the
* "git rev-list --objects ^v1.0^ v1.0" gave
the
v1.0 tag itself in the
output, but "git rev-list --objects v1.0^..v1.0" did not.
(merge 895c5ba jc/revision-range-unpeel later to maint).
* "git clone"
gave some progress messages to the
standard output, not
to
the standard error, and did not allow suppressing
them with the
* "git clone"
wrote some progress messages to
standard output, not
to
standard error, and did not suppress
them with the
--no-progress option.
(merge 643f918 jk/clone-progress-to-stderr later to maint).
* "format-patch --from=<whom>" forgot to omit unnecessary in-body
* "format-patch --from=<whom>" forgot to omit
an
unnecessary in-body
from line, i.e. when <whom> is the same as the real author.
(merge 662cc30 jk/format-patch-from later to maint).
* "git shortlog" used to choke and die when there is a malformed
commit (e.g. missing authors); it now simply ignore such a commit
commit (e.g. missing authors); it now simply ignore
s
such a commit
and keeps going.
(merge cd4f09e jk/shortlog-tolerate-broken-commit later to maint).
...
...
@@ -334,16 +336,16 @@ details).
small empty messages to keep the connection alive.
(merge 115dedd jk/upload-pack-keepalive later to maint).
* "git rebase" had a portability regression in v1.8.4 t
o trigger
a
* "git rebase" had a portability regression in v1.8.4 t
hat triggered
a
bug in some BSD shell implementations.
(merge 99855dd mm/rebase-continue-freebsd-WB later to maint).
* "git branch --track" had a minor regression in v1.8.3.2 and later
that made it impossible to base your local work on anything but a
local branch of the upstream repository you are tracking
from
.
local branch of the upstream repository you are tracking.
(merge b0f49ff jh/checkout-auto-tracking later to maint).
* When the webserver responds with "405 Method Not Allowed", "git
* When the web
server responds with "405 Method Not Allowed", "git
http-backend" should tell the client what methods are allowed with
the "Allow" header.
(merge 9247be0 bc/http-backend-allow-405 later to maint).
...
...
@@ -357,22 +359,22 @@ details).
executable files.
(merge 1b48d56 jc/cvsserver-perm-bit-fix later to maint).
* When send-email
comes up with
an error message to die with upon
* When send-email
obtains
an error message to die with upon
failure to start an SSL session, it tried to read the error string
from a wrong place.
(merge 6cb0c88 bc/send-email-ssl-die-message-fix later to maint).
* The implementation of "add -i" has
a crippling code to work around
* The implementation of "add -i" has
some crippling code to work around an
ActiveState Perl limitation but it by mistake also triggered on Git
for Windows where MSYS perl is used.
(merge df17e77 js/add-i-mingw later to maint).
* We made sure that we notice the user-supplied GIT_DIR is actually a
* We made sure that we notice
when
the user-supplied GIT_DIR is actually a
gitfile, but did not do the same when the default ".git" is a
gitfile.
(merge 487a2b7 nd/git-dir-pointing-at-gitfile later to maint).
* When an object is not found after checking the packfiles and the
n
* When an object is not found after checking the packfiles and the
loose object directory, read_sha1_file() re-checks the packfiles to
prevent racing with a concurrent repacker; teach the same logic to
has_sha1_file().
...
...
@@ -390,22 +392,22 @@ details).
made it unnecessarily inefficient.
(merge 680be04 jc/ls-files-killed-optim later to maint).
* The
commit object names in the insn sheet that wa
s prepared at the
beginning of "rebase -i" session can become ambiguous as the
* The
shortened commit object names in the insn sheet that i
s prepared at the
beginning of
a
"rebase -i" session can become ambiguous as the
rebasing progresses and the repository gains more commits. Make
sure the internal record is kept with full 40-hex object names.
(merge 75c6976 es/rebase-i-no-abbrev later to maint).
* "git rebase --preserve-merges" internally used the merge machinery
and as a side effect
, left
merge summary message in the log, but
when rebasing
, there should not be a need for
merge summary.
and as a side effect
left the
merge summary message in the log, but
when rebasing
there is no need for the
merge summary.
(merge a9f739c rt/rebase-p-no-merge-summary later to maint).
* A call to xread() was used without a loop around to cope with short
read in the codepath to stream new contents to a pack.
* A call to xread() was used without a loop around
it
to cope with short
read
s
in the codepath to stream new contents to a pack.
(merge e92527c js/xread-in-full later to maint).
* "git rebase -i" forgot that the comment character
can be
* "git rebase -i" forgot that the comment character
is
configurable while reading its insn sheet.
(merge 7bca7af es/rebase-i-respect-core-commentchar later to maint).
...
...
@@ -416,8 +418,8 @@ details).
* We used to send a large request to read(2)/write(2) as a single
system call, which was bad from the latency point of view when
the operation needs to be killed, and also triggered an error on
broken 64-bit systems that refuse to
take more than 2GB read or
write
in one go.
broken 64-bit systems that refuse to
read or write more than 2GB
in one go.
(merge a487916 sp/clip-read-write-to-8mb later to maint).
* "git fetch" that auto-followed tags incorrectly reused the
...
...
@@ -431,17 +433,17 @@ details).
had a similar problem.
(merge 838f9a1 tr/log-full-diff-keep-true-parents later to maint).
* Setting submodule.*.path configuration variable to true (without
* Setting
a
submodule.*.path configuration variable to true (without
giving "= value") caused Git to segfault.
(merge 4b05440 jl/some-submodule-config-are-not-boolean later to maint).
* "git rebase -i" (there could be others, as the root cause is pretty
generic) fed a random, data depende
a
nt string to 'echo' and
expect
s
it to come out literally, corrupting its error message.
generic) fed a random, data dependent string to 'echo' and
expect
ed
it to come out literally, corrupting its error message.
(merge 89b0230 mm/no-shell-escape-in-die-message later to maint).
* Some people still use rather old versions of bash, which cannot
grok some constructs like 'printf -v varname' the prompt and
grok some constructs like 'printf -v varname'
which
the prompt and
completion code started to use recently.
(merge a44aa69 bc/completion-for-bash-3.0 later to maint).
...
...
Documentation/date-formats.txt
浏览文件 @
15a42a10
...
...
@@ -8,9 +8,9 @@ endif::git-commit[]
support the following date formats:
Git internal format::
It is `<unix timestamp> <timezone offset>`, where `<unix
It is `<unix timestamp> <time
zone offset>`, where `<unix
timestamp>` is the number of seconds since the UNIX epoch.
`<timezone offset>` is a positive or negative offset from UTC.
`<time
zone offset>` is a positive or negative offset from UTC.
For example CET (which is 2 hours ahead UTC) is `+0200`.
RFC 2822::
...
...
Documentation/git-blame.txt
浏览文件 @
15a42a10
...
...
@@ -103,7 +103,7 @@ This header line is followed by the following information
at least once for each commit:
- the author name ("author"), email ("author-mail"), time
("author-time"), and timezone ("author-tz"); similarly
("author-time"), and time
zone ("author-tz"); similarly
for committer.
- the filename in the commit that the line is attributed to.
- the first line of the commit log message ("summary").
...
...
Documentation/git-cvsimport.txt
浏览文件 @
15a42a10
...
...
@@ -144,7 +144,7 @@ This option can be used several times to provide several detection regexes.
CVS by default uses the Unix username when writing its
commit logs. Using this option and an author-conv-file
maps the name recorded in CVS to author name, e-mail and
optional timezone:
optional time
zone:
+
---------
exon=Andreas Ericsson <ae@op5.se>
...
...
@@ -154,7 +154,7 @@ This option can be used several times to provide several detection regexes.
+
'git cvsimport' will make it appear as those authors had
their GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL set properly
all along. If a timezone is specified, GIT_AUTHOR_DATE will
all along. If a time
zone is specified, GIT_AUTHOR_DATE will
have the corresponding offset applied.
+
For convenience, this data is saved to `$GIT_DIR/cvs-authors`
...
...
Documentation/git-fast-import.txt
浏览文件 @
15a42a10
...
...
@@ -251,7 +251,7 @@ advisement to help formatting routines display the timestamp.
If the local offset is not available in the source material, use
``+0000'', or the most common local offset. For example many
organizations have a CVS repository which has only ever been accessed
by users who are located in the same location and timezone. In this
by users who are located in the same location and time
zone. In this
case a reasonable offset from UTC could be assumed.
+
Unlike the `rfc2822` format, this format is very strict. Any
...
...
@@ -271,7 +271,7 @@ the malformed string. There are also some types of malformed
strings which Git will parse wrong, and yet consider valid.
Seriously malformed strings will be rejected.
+
Unlike the `raw` format above, the timezone/UTC offset information
Unlike the `raw` format above, the time
zone/UTC offset information
contained in an RFC 2822 date string is used to adjust the date
value to UTC prior to storage. Therefore it is important that
this information be as accurate as possible.
...
...
@@ -287,13 +287,13 @@ format, or its format is easily convertible to it, as there is no
ambiguity in parsing.
`now`::
Always use the current time and timezone. The literal
Always use the current time and time
zone. The literal
`now` must always be supplied for `<when>`.
+
This is a toy format. The current time and timezone of this system
This is a toy format. The current time and time
zone of this system
is always copied into the identity string at the time it is being
created by fast-import. There is no way to specify a different time or
timezone.
time
zone.
+
This particular format is supplied as it's short to implement and
may be useful to a process that wants to create a new commit
...
...
Documentation/git-svn.txt
浏览文件 @
15a42a10
...
...
@@ -124,15 +124,15 @@ This automatically updates the rev_map if needed (see
'$GIT_DIR/svn/\*\*/.rev_map.*' in the FILES section below for details).
--localtime;;
Store Git commit times in the local timezone instead of UTC. This
Store Git commit times in the local time
zone instead of UTC. This
makes 'git log' (even without --date=local) show the same times
that `svn log` would in the local timezone.
that `svn log` would in the local time
zone.
+
This doesn't interfere with interoperating with the Subversion
repository you cloned from, but if you wish for your local Git
repository to be able to interoperate with someone else's local Git
repository, either don't use this option or you should both use it in
the same local timezone.
the same local time
zone.
--parent;;
Fetch only from the SVN parent of the current HEAD.
...
...
Documentation/git.txt
浏览文件 @
15a42a10
...
...
@@ -43,9 +43,15 @@ unreleased) version of Git, that is available from 'master'
branch of the `git.git` repository.
Documentation for older releases are available here:
* link:v1.8.
4.3/git.html[documentation for release 1.8.4.3
]
* link:v1.8.
5/git.html[documentation for release 1.8.5
]
* release notes for
link:RelNotes/1.8.5.txt[1.8.5].
* link:v1.8.4.4/git.html[documentation for release 1.8.4.4]
* release notes for
link:RelNotes/1.8.4.4.txt[1.8.4.4],
link:RelNotes/1.8.4.3.txt[1.8.4.3],
link:RelNotes/1.8.4.2.txt[1.8.4.2],
link:RelNotes/1.8.4.1.txt[1.8.4.1],
...
...
Documentation/gitweb.conf.txt
浏览文件 @
15a42a10
...
...
@@ -822,18 +822,18 @@ timed::
Project specific override is not supported.
javascript-timezone::
Enable and configure the ability to change a common timezone for dates
Enable and configure the ability to change a common time
zone for dates
in gitweb output via JavaScript. Dates in gitweb output include
authordate and committerdate in "commit", "commitdiff" and "log"
views, and taggerdate in "tag" view. Enabled by default.
+
The value is a list of three values: a default timezone (for if the client
hasn't selected some other timezone and saved it in a cookie), a name of cookie
where to store selected timezone, and a CSS class used to mark up
The value is a list of three values: a default time
zone (for if the client
hasn't selected some other time
zone and saved it in a cookie), a name of cookie
where to store selected time
zone, and a CSS class used to mark up
dates for manipulation. If you want to turn this feature off, set "default"
to empty list: `[]`.
+
Typical gitweb config files will only change starting (default) timezone,
Typical gitweb config files will only change starting (default) time
zone,
and leave other elements at their default values:
+
---------------------------------------------------------------------------
...
...
@@ -843,9 +843,9 @@ $feature{'javascript-timezone'}{'default'}[0] = "utc";
The example configuration presented here is guaranteed to be backwards
and forward compatible.
+
Time
zone values can be "local" (for local time
zone that browser uses), "utc"
Time
zone values can be "local" (for local time
zone that browser uses), "utc"
(what gitweb uses when JavaScript or this feature is disabled), or numerical
timezones in the form of "+/-HHMM", such as "+0200".
time
zones in the form of "+/-HHMM", such as "+0200".
+
Project specific override is not supported.
...
...
Documentation/rev-list-options.txt
浏览文件 @
15a42a10
...
...
@@ -720,7 +720,7 @@ include::pretty-options.txt[]
`--date=relative` shows dates relative to the current time,
e.g. "2 hours ago".
+
`--date=local` shows timestamps in user's local timezone.
`--date=local` shows timestamps in user's local time
zone.
+
`--date=iso` (or `--date=iso8601`) shows timestamps in ISO 8601 format.
+
...
...
@@ -731,7 +731,7 @@ format, often found in E-mail messages.
+
`--date=raw` shows the date in the internal raw Git format `%s %z` format.
+
`--date=default` shows timestamps in the original timezone
`--date=default` shows timestamps in the original time
zone
(either committer's or author's).
ifdef::git-rev-list[]
...
...
GIT-VERSION-GEN
浏览文件 @
15a42a10
#!/bin/sh
GVF
=
GIT-VERSION-FILE
DEF_VER
=
v1.8.5
-rc1
DEF_VER
=
v1.8.5
LF
=
'
'
...
...
builtin/blame.c
浏览文件 @
15a42a10
...
...
@@ -409,7 +409,9 @@ static struct origin *find_origin(struct scoreboard *sb,
paths
[
0
]
=
origin
->
path
;
paths
[
1
]
=
NULL
;
parse_pathspec
(
&
diff_opts
.
pathspec
,
PATHSPEC_ALL_MAGIC
,
0
,
""
,
paths
);
parse_pathspec
(
&
diff_opts
.
pathspec
,
PATHSPEC_ALL_MAGIC
&
~
PATHSPEC_LITERAL
,
PATHSPEC_LITERAL_PATH
,
""
,
paths
);
diff_setup_done
(
&
diff_opts
);
if
(
is_null_sha1
(
origin
->
commit
->
object
.
sha1
))
...
...
builtin/branch.c
浏览文件 @
15a42a10
...
...
@@ -424,6 +424,7 @@ static void fill_tracking_info(struct strbuf *stat, const char *branch_name,
struct
branch
*
branch
=
branch_get
(
branch_name
);
struct
strbuf
fancy
=
STRBUF_INIT
;
int
upstream_is_gone
=
0
;
int
added_decoration
=
1
;
switch
(
stat_tracking_info
(
branch
,
&
ours
,
&
theirs
))
{
case
0
:
...
...
@@ -451,9 +452,13 @@ static void fill_tracking_info(struct strbuf *stat, const char *branch_name,
if
(
upstream_is_gone
)
{
if
(
show_upstream_ref
)
strbuf_addf
(
stat
,
_
(
"[%s: gone]"
),
fancy
.
buf
);
else
added_decoration
=
0
;
}
else
if
(
!
ours
&&
!
theirs
)
{
if
(
show_upstream_ref
)
strbuf_addf
(
stat
,
_
(
"[%s]"
),
fancy
.
buf
);
else
added_decoration
=
0
;
}
else
if
(
!
ours
)
{
if
(
show_upstream_ref
)
strbuf_addf
(
stat
,
_
(
"[%s: behind %d]"
),
fancy
.
buf
,
theirs
);
...
...
@@ -474,7 +479,8 @@ static void fill_tracking_info(struct strbuf *stat, const char *branch_name,
ours
,
theirs
);
}
strbuf_release
(
&
fancy
);
strbuf_addch
(
stat
,
' '
);
if
(
added_decoration
)
strbuf_addch
(
stat
,
' '
);
free
(
ref
);
}
...
...
contrib/remote-helpers/git-remote-hg
浏览文件 @
15a42a10
...
...
@@ -747,7 +747,7 @@ def parse_commit(parser):
f
=
{
'deleted'
:
True
}
else
:
die
(
'Unknown file command: %s'
%
line
)
path
=
c_style_unescape
(
path
)
.
decode
(
'utf-8'
)
path
=
c_style_unescape
(
path
)
files
[
path
]
=
f
# only export the commits if we are on an internal proxy repo
...
...
pathspec.c
浏览文件 @
15a42a10
...
...
@@ -128,7 +128,11 @@ static unsigned prefix_pathspec(struct pathspec_item *item,
die
(
_
(
"global 'literal' pathspec setting is incompatible "
"with all other global pathspec settings"
));
if
(
elt
[
0
]
!=
':'
||
literal_global
)
{
if
(
flags
&
PATHSPEC_LITERAL_PATH
)
global_magic
=
0
;
if
(
elt
[
0
]
!=
':'
||
literal_global
||
(
flags
&
PATHSPEC_LITERAL_PATH
))
{
;
/* nothing to do */
}
else
if
(
elt
[
1
]
==
'('
)
{
/* longhand */
...
...
@@ -405,6 +409,9 @@ void parse_pathspec(struct pathspec *pathspec,
item
[
i
].
magic
=
prefix_pathspec
(
item
+
i
,
&
short_magic
,
argv
+
i
,
flags
,
prefix
,
prefixlen
,
entry
);
if
((
flags
&
PATHSPEC_LITERAL_PATH
)
&&
!
(
magic_mask
&
PATHSPEC_LITERAL
))
item
[
i
].
magic
|=
PATHSPEC_LITERAL
;
if
(
item
[
i
].
magic
&
magic_mask
)
unsupported_magic
(
entry
,
item
[
i
].
magic
&
magic_mask
,
...
...
pathspec.h
浏览文件 @
15a42a10
...
...
@@ -58,6 +58,13 @@ struct pathspec {
#define PATHSPEC_STRIP_SUBMODULE_SLASH_EXPENSIVE (1<<5)
#define PATHSPEC_PREFIX_ORIGIN (1<<6)
#define PATHSPEC_KEEP_ORDER (1<<7)
/*
* For the callers that just need pure paths from somewhere else, not
* from command line. Global --*-pathspecs options are ignored. No
* magic is parsed in each pathspec either. If PATHSPEC_LITERAL is
* allowed, then it will automatically set for every pathspec.
*/
#define PATHSPEC_LITERAL_PATH (1<<8)
extern
void
parse_pathspec
(
struct
pathspec
*
pathspec
,
unsigned
magic_mask
,
...
...
po/TEAMS
浏览文件 @
15a42a10
...
...
@@ -8,7 +8,7 @@ Leader: Byrial Jensen <byrial@vip.cybercity.dk>
Language: de (German)
Repository: https://github.com/ralfth/git-po-de
Leader: Ralf Thielow <ralf.thielow@googlemail.com>
Members: Thomas Rast <tr
ast@student.ethz
.ch>
Members: Thomas Rast <tr
@thomasrast
.ch>
Jan Krüger <jk@jk.gs>
Christian Stimming <stimming@tuhh.de>
...
...
po/de.po
浏览文件 @
15a42a10
此差异已折叠。
点击以展开。
po/fr.po
浏览文件 @
15a42a10
此差异已折叠。
点击以展开。
po/git.pot
浏览文件 @
15a42a10
此差异已折叠。
点击以展开。
po/sv.po
浏览文件 @
15a42a10
此差异已折叠。
点击以展开。
po/vi.po
浏览文件 @
15a42a10
此差异已折叠。
点击以展开。
po/zh_CN.po
浏览文件 @
15a42a10
此差异已折叠。
点击以展开。
revision.c
浏览文件 @
15a42a10
...
...
@@ -1372,8 +1372,8 @@ static void prepare_show_merge(struct rev_info *revs)
i
++
;
}
free_pathspec
(
&
revs
->
prune_data
);
parse_pathspec
(
&
revs
->
prune_data
,
PATHSPEC_ALL_MAGIC
,
PATHSPEC_PREFER_FULL
,
""
,
prune
);
parse_pathspec
(
&
revs
->
prune_data
,
PATHSPEC_ALL_MAGIC
&
~
PATHSPEC_LITERAL
,
PATHSPEC_PREFER_FULL
|
PATHSPEC_LITERAL_PATH
,
""
,
prune
);
revs
->
limited
=
1
;
}
...
...
t/t6040-tracking-info.sh
浏览文件 @
15a42a10
...
...
@@ -39,12 +39,14 @@ test_expect_success setup '
advance h
'
script
=
's/^..\(b.\)
[ 0-9a-f]*\[\([^]]*\)\].*
/\1 \2/p'
script
=
's/^..\(b.\)
*[0-9a-f]* \(.*\)$
/\1 \2/p'
cat
>
expect
<<
\
EOF
b1 ahead 1, behind 1
b2 ahead 1, behind 1
b3 behind 1
b4 ahead 2
b1 [ahead 1, behind 1] d
b2 [ahead 1, behind 1] d
b3 [behind 1] b
b4 [ahead 2] f
b5 g
b6 c
EOF
test_expect_success
'branch -v'
'
...
...
@@ -57,12 +59,12 @@ test_expect_success 'branch -v' '
'
cat
>
expect
<<
\
EOF
b1
origin/master: ahead 1, behind 1
b2
origin/master: ahead 1, behind 1
b3
origin/master: behind 1
b4
origin/master: ahead 2
b5
brokenbase: gone
b6
origin/master
b1
[origin/master: ahead 1, behind 1] d
b2
[origin/master: ahead 1, behind 1] d
b3
[origin/master: behind 1] b
b4
[origin/master: ahead 2] f
b5
[brokenbase: gone] g
b6
[origin/master] c
EOF
test_expect_success
'branch -vv'
'
...
...
t/t6130-pathspec-noglob.sh
浏览文件 @
15a42a10
...
...
@@ -108,6 +108,13 @@ test_expect_success 'no-glob environment variable works' '
test_cmp expect actual
'
test_expect_success
'blame takes global pathspec flags'
'
git --literal-pathspecs blame -- foo &&
git --icase-pathspecs blame -- foo &&
git --glob-pathspecs blame -- foo &&
git --noglob-pathspecs blame -- foo
'
test_expect_success
'setup xxx/bar'
'
mkdir xxx &&
test_commit xxx xxx/bar
...
...
tree-diff.c
浏览文件 @
15a42a10
...
...
@@ -254,7 +254,9 @@ static void try_to_follow_renames(struct tree_desc *t1, struct tree_desc *t2, co
path
[
0
]
=
p
->
one
->
path
;
path
[
1
]
=
NULL
;
free_pathspec
(
&
opt
->
pathspec
);
parse_pathspec
(
&
opt
->
pathspec
,
PATHSPEC_ALL_MAGIC
,
0
,
""
,
path
);
parse_pathspec
(
&
opt
->
pathspec
,
PATHSPEC_ALL_MAGIC
&
~
PATHSPEC_LITERAL
,
PATHSPEC_LITERAL_PATH
,
""
,
path
);
/*
* The caller expects us to return a set of vanilla
...
...
upload-pack.c
浏览文件 @
15a42a10
...
...
@@ -753,7 +753,6 @@ static void upload_pack(void)
struct
string_list
symref
=
STRING_LIST_INIT_DUP
;
head_ref_namespaced
(
find_symref
,
&
symref
);
for_each_namespaced_ref
(
find_symref
,
&
symref
);
if
(
advertise_refs
||
!
stateless_rpc
)
{
reset_timeout
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录