git 2.9.0 linux,Git v2.9.3发布下载,分布式版本控制系统

Git v2.9.3发布下载,Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。

更新日志

* A helper function that takes the contents of a commit object and

finds its subject line did not ignore leading blank lines, as is

commonly done by other codepaths.  Make it ignore leading blank

lines to match.

* Git does not know what the contents in the index should be for a

path added with "git add -N" yet, so "git grep --cached" should not

show hits (or show lack of hits, with -L) in such a path, but that

logic does not apply to "git grep", i.e. searching in the working

tree files.  But we did so by mistake, which has been corrected.

* "git rebase -i --autostash" did not restore the auto-stashed change

when the operation was aborted.

* "git commit --amend --allow-empty-message -S" for a commit without

any message body could have misidentified where the header of the

commit object ends.

* More mark-up updates to typeset strings that are expected to

literally typed by the end user in fixed-width font.

* For a long time, we carried an in-code comment that said our

colored output would work only when we use fprintf/fputs on

Windows, which no longer is the case for the past few years.

* "gc.autoPackLimit" when set to 1 should not trigger a repacking

when there is only one pack, but the code counted poorly and did

so.

* One part of "git am" had an oddball helper function that called

stuff from outside "his" as opposed to calling what we have "ours",

which was not gender-neutral and also inconsistent with the rest of

the system where outside stuff is usuall called "theirs" in

contrast to "ours".

* The test framework learned a new helper test_match_signal to

check an exit code from getting killed by an expected signal.

* "git blame -M" missed a single line that was moved within the file.

* Fix recently introduced codepaths that are involved in parallel

submodule operations, which gave up on reading too early, and

could have wasted CPU while attempting to write under a corner

case condition.

* "git grep -i" has been taught to fold case in non-ascii locales

correctly.

* A test that unconditionally used "mktemp" learned that the command

is not necessarily available everywhere.

* "git blame file" allowed the lineage of lines in the uncommitted,

unadded contents of "file" to be inspected, but it refused when

"file" did not appear in the current commit.  When "file" was

created by renaming an existing file (but the change has not been

committed), this restriction was unnecessarily tight.

* "git add -N dir/file && git write-tree" produced an incorrect tree

when there are other paths in the same directory that sorts after

"file".

* "git fetch http://user:pass@host/repo..." scrubbed the userinfo

part, but "git push" didn't.

* An age old bug that caused "git diff --ignore-space-at-eol"

misbehave has been fixed.

* "git notes merge" had a code to see if a path exists (and fails if

it does) and then open the path for writing (when it doesn't).

Replace it with open with O_EXCL.

* "git pack-objects" and "git index-pack" mostly operate with off_t

when talking about the offset of objects in a packfile, but there

were a handful of places that used "unsigned long" to hold that

value, leading to an unintended truncation.

* Recent update to "git daemon" tries to enable the socket-level

KEEPALIVE, but when it is spawned via inetd, the standard input

file descriptor may not necessarily be connected to a socket.

Suppress an ENOTSOCK error from setsockopt().

* Recent FreeBSD stopped making perl available at /usr/bin/perl;

switch the default the built-in path to /usr/local/bin/perl on not

too ancient FreeBSD releases.

* "git status" learned to suggest "merge --abort" during a conflicted

merge, just like it already suggests "rebase --abort" during a

conflicted rebase.

* The .c/.h sources are marked as such in our .gitattributes file so

that "git diff -W" and friends would work better.

* Existing autoconf generated test for the need to link with pthread

library did not check all the functions from pthread libraries;

recent FreeBSD has some functions in libc but not others, and we

mistakenly thought linking with libc is enough when it is not.

* Allow http daemon tests in Travis CI tests.

* Users of the parse_options_concat() API function need to allocate

extra slots in advance and fill them with OPT_END() when they want

to decide the set of supported options dynamically, which makes the

code error-prone and hard to read.  This has been corrected by tweaking

the API to allocate and return a new copy of "struct option" array.

* The use of strbuf in "git rm" to build filename to remove was a bit

suboptimal, which has been fixed.

* "git commit --help" said "--no-verify" is only about skipping the

pre-commit hook, and failed to say that it also skipped the

commit-msg hook.

* "git merge" in Git v2.9 was taught to forbid merging an unrelated

lines of history by default, but that is exactly the kind of thing

the "--rejoin" mode of "git subtree" (in contrib/) wants to do.

"git subtree" has been taught to use the "--allow-unrelated-histories"

option to override the default.

* The build procedure for "git persistent-https" helper (in contrib/)

has been updated so that it can be built with more recent versions

of Go.

* There is an optimization used in "git diff $treeA $treeB" to borrow

an already checked-out copy in the working tree when it is known to

be the same as the blob being compared, expecting that open/mmap of

such a file is faster than reading it from the object store, which

involves inflating and applying delta.  This however kicked in even

when the checked-out copy needs to go through the convert-to-git

conversion (including the clean filter), which defeats the whole

point of the optimization.  The optimization has been disabled when

the conversion is necessary.

* "git -c grep.patternType=extended log --basic-regexp" misbehaved

because the internal API to access the grep machinery was not

designed well.

* Windows port was failing some tests in t4130, due to the lack of

inum in the returned values by its lstat(2) emulation.

* The characters in the label shown for tags/refs for commits in

"gitweb" output are now properly escaped for proper HTML output.

* FreeBSD can lie when asked mtime of a directory, which made the

untracked cache code to fall back to a slow-path, which in turn

caused tests in t7063 to fail because it wanted to verify the

behaviour of the fast-path.

* Squelch compiler warnings for netmalloc (in compat/) library.

* The API documentation for hashmap was unclear if hashmap_entry

can be safely discarded without any other consideration.  State

that it is safe to do so.

* Not-so-recent rewrite of "git am" that started making internal

calls into the commit machinery had an unintended regression, in

that no matter how many seconds it took to apply many patches, the

resulting committer timestamp for the resulting commits were all

the same.

* "git difftool ..." started in a subdirectory failed to

interpret the paths relative to that directory, which has been

fixed.

下载

GitHub 教程系列文章:

GitHub 的详细介绍:请点这里

GitHub 的下载地址:请点这里

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值