设为首页 收藏本站
查看: 852|回复: 0

[经验分享] Git 2.5.0 RC1 发布

[复制链接]

尚未签到

发表于 2015-7-25 09:22:46 | 显示全部楼层 |阅读模式
腾讯SNG夏日招聘集结号:200个空缺岗位,JAVA、C++、云计算、Android……
DSC0000.png   Git 2.5.0 RC1 发布,此版本相比 2.4 主要更新内容如下:
  UI, Workflows & Features
  
  * The bash completion script (in contrib/) learned a few options that
  "git revert" takes.
  
  * Whitespace breakages in deleted and context lines can also be
  painted in the output of "git diff" and friends with the new
  --ws-error-highlight option.
  
  * List of commands shown by "git help" are grouped along the workflow
  elements to help early learners.
  
  * "git p4" now detects the filetype (e.g. binary) correctly even when
  the files are opened exclusively.
  
  * git p4 attempts to better handle branches in Perforce.
  
  * "git p4" learned "--changes-block-size " to read the changes in
  chunks from Perforce, instead of making one call to "p4 changes"
  that may trigger "too many rows scanned" error from Perforce.
  
  * More workaround for Perforce's row number limit in "git p4".
  
  * Unlike "$EDITOR" and "$GIT_EDITOR" that can hold the path to the
  command and initial options (e.g. "/path/to/emacs -nw"), 'git p4'
  did not let the shell interpolate the contents of the environment
  variable that name the editor "$P4EDITOR" (and "$EDITOR", too).

  This>  Perforce.
  
  * A new short-hand @{push} denotes the remote-tracking branch
  that tracks the branch at the remote the  would be pushed
  to.
  
  * "git show-branch --topics HEAD" (with no other arguments) did not
  do anything interesting.  Instead, contrast the given revision
  against all the local branches by default.
  
  * A replacement for contrib/workdir/git-new-workdir that does not

  >  by making the borrowee and borrowers aware of each other.
  
  Consider this as still an experimental feature; the UI will likely
  to change.
  
  * Tweak the sample "store" backend of the credential helper to honor
  XDG configuration file locations when specified.
  
  * A heuristic we use to catch mistyped paths on the command line
  "git   " is to make sure that all the non-rev
  parameters in the later part of the command line are names of the
  files in the working tree, but that means "git grep $str -- \*.c"
  must always be disambiguated with "--", because nobody sane will
  create a file whose name literally is asterisk-dot-see.  Loosen the
  heuristic to declare that with a wildcard string the user likely
  meant to give us a pathspec.
  
  * "git merge FETCH_HEAD" learned that the previous "git fetch" could
  be to create an Octopus merge, i.e. recording multiple branches
  that are not marked as "not-for-merge"; this allows us to lose an
  old style invocation "git merge  HEAD $commits..." in the
  implementation of "git pull" script; the old style syntax can now
  be deprecated (but not removed yet).
  
  * Filter scripts were run with SIGPIPE disabled on the Git side,
  expecting that they may not read what Git feeds them to filter.
  We however treated a filter that does not read its input fully
  before exiting as an error.  We no longer do and ignore EPIPE
  when writing to feed the filter scripts.
  
  This changes semantics, but arguably in a good way.  If a filter
  can produce its output without fully consuming its input using
  whatever magic, we now let it do so, instead of diagnosing it
  as a programming error.
  
  * Instead of dying immediately upon failing to obtain a lock, the
  locking (of refs etc) retries after a short while with backoff.
  
  * Introduce http..SSLCipherList configuration variable to tweak
  the list of cipher suite to be used with libcURL when talking with
  https:// sites.
  
  * "git subtree" script (in contrib/) used "echo -n" to produce
  progress messages in a non-portable way.
  
  * "git subtree" script (in contrib/) does not have --squash option
  when pushing, but the documentation and help text pretended as if
  it did.
  
  * The Git subcommand completion (in contrib/) no longer lists credential
  helpers among candidates; they are not something the end user would
  invoke interactively.
  
  * The index file can be taught with "update-index --untracked-cache"
  to optionally remember already seen untracked files, in order to
  speed up "git status" in a working tree with tons of cruft.
  
  * "git mergetool" learned to drive WinMerge as a backend.
  
  * "git upload-pack" that serves "git fetch" can be told to serve
  commits that are not at the tip of any ref, as long as they are
  reachable from a ref, with uploadpack.allowReachableSHA1InWant
  configuration variable.
  
  * "git cat-file --batch(-check)" learned the "--follow-symlinks"
  option that follows an in-tree symbolic link when asked about an
  object via extended SHA-1 syntax, e.g. HEAD:RelNotes that points at
  Documentation/RelNotes/2.5.0.txt.  With the new option, the command
  behaves as if HEAD:Documentation/RelNotes/2.5.0.txt was given as
  input instead.
  
  Consider this as still an experimental and incomplete feature:
  
  - We may want to do the same for in-index objects, e.g.
  asking for :RelNotes with this option should give
  :Documentation/RelNotes/2.5.0.txt, too
  
  - "git cat-file --follow-symlinks blob HEAD:RelNotes"
  may also be something we want to allow in the future.
  
  * "git send-email" learned the alias file format used by the sendmail
  program (in a simplified form; we obviously do not feed pipes).
  
  * "git am" learned am.threeWay configuration variable.
  
  * Traditionally, external low-level 3-way merge drivers are expected
  to produce their results based solely on the contents of the three
  variants given in temporary files named by %O, %A and %B on their
  command line.  Additionally allow them to look at the final path
  (given by %P).
  
  * "git blame" learned blame.showEmail configuration variable.
  
  * "git apply" cannot diagnose a patch corruption when the breakage is
  to mark the length of the hunk shorter than it really is on the
  hunk header line "@@ -l,k +m,n @@"; one special case it could is
  when the hunk becomes no-op (e.g. k == n == 2 for two-line context
  patch output), and it learned to do so in this special case.
  
  * Add the "--allow-unknown-type" option to "cat-file" to allow
  inspecting loose objects of an experimental or a broken type.
  
  * Many long-running operations show progress eye-candy, even when
  they are later backgrounded.  Hide the eye-candy when the process
  is sent to the background instead.
  (merge a4fb76c lm/squelch-bg-progress later to maint).
  
  
  Performance, Internal Implementation, Development Support etc.
  
  * "unsigned char [20]" used throughout the code to represent object
  names are being converted into a semi-opaque "struct object_id".
  This effort is expected to interfere with other topics in flight,
  but hopefully will give us one extra level of abstraction in the
  end, when completed.
  
  * for_each_ref() callback functions were taught to name the objects
  not with "unsigned char sha1[20]" but with "struct object_id".
  
  * Catch a programmer mistake to feed a pointer not an array to
  ARRAY_SIZE() macro, by using a couple of GCC extensions.
  
  * Some error messages in "git config" were emitted without calling
  the usual error() facility.
  
  * When "add--interactive" splits a hunk into two overlapping hunks
  and then let the user choose only one, it sometimes feeds an
  incorrect patch text to "git apply".  Add tests to demonstrate
  this.
  
  I have a slight suspicion that this may be $gmane/87202 coming back
  and biting us (I seem to have said "let's run with this and see
  what happens" back then).
  
  * More line-ending tests.
  
  * An earlier rewrite to use strbuf_getwholeline() instead of fgets(3)
  to read packed-refs file revealed that the former is unacceptably
  inefficient.  It has been optimized by using getdelim(3) when
  available.
  
  * The refs API uses ref_lock struct which had its own "int fd", even
  though the same file descriptor was in the lock struct it contains.
  Clean-up the code to lose this redundant field.
  
  * There was a dead code that used to handle "git pull --tags" and
  show special-cased error message, which was made irrelevant when
  the semantics of the option changed back in Git 1.9 days.
  (merge 19d122b pt/pull-tags-error-diag later to maint).
  
  * Help us to find broken test script that splits the body part of the
  test by mistaken use of wrong kind of quotes.
  (merge d93d5d5 jc/test-prereq-validate later to maint).
  
  * Developer support to automatically detect broken &&-chain in the
  test scripts is now turned on by default.
  (merge 92b269f jk/test-chain-lint later to maint).
  
  * Error reporting mechanism used in "refs" API has been made more
  consistent.
  
  * "git pull" has more test coverage now.
  
  * "git pull" has become more aware of the options meant for
  underlying "git fetch" and then learned to use parse-options
  parser.
  更多改进内容请看发行说明,下载:https://github.com/git/git/archive/v2.5.0-rc1.zip。
  Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。
  开源中国 Git 代码托管平台:http://git.oschina.net/
DSC0001.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-90383-1-1.html 上篇帖子: Rugged 0.23.0b3 发布,Git 的 Ruby 开发包 下篇帖子: GitLab 7.12.2 发布,新 LOGO 意见征询
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表