1 | Git v1.7.12 Release Notes
|
---|
2 | =========================
|
---|
3 |
|
---|
4 | Updates since v1.7.11
|
---|
5 | ---------------------
|
---|
6 |
|
---|
7 | UI, Workflows & Features
|
---|
8 |
|
---|
9 | * Git can be told to normalize pathnames it read from readdir(3) and
|
---|
10 | all arguments it got from the command line into precomposed UTF-8
|
---|
11 | (assuming that they come as decomposed UTF-8), in order to work
|
---|
12 | around issues on Mac OS.
|
---|
13 |
|
---|
14 | I think there still are other places that need conversion
|
---|
15 | (e.g. paths that are read from stdin for some commands), but this
|
---|
16 | should be a good first step in the right direction.
|
---|
17 |
|
---|
18 | * Per-user $HOME/.gitconfig file can optionally be stored in
|
---|
19 | $HOME/.config/git/config instead, which is in line with XDG.
|
---|
20 |
|
---|
21 | * The value of core.attributesfile and core.excludesfile default to
|
---|
22 | $HOME/.config/git/attributes and $HOME/.config/git/ignore respectively
|
---|
23 | when these files exist.
|
---|
24 |
|
---|
25 | * Logic to disambiguate abbreviated object names have been taught to
|
---|
26 | take advantage of object types that are expected in the context,
|
---|
27 | e.g. XXXXXX in the "git describe" output v1.2.3-gXXXXXX must be a
|
---|
28 | commit object, not a blob nor a tree. This will help us prolong
|
---|
29 | the lifetime of abbreviated object names.
|
---|
30 |
|
---|
31 | * "git apply" learned to wiggle the base version and perform three-way
|
---|
32 | merge when a patch does not exactly apply to the version you have.
|
---|
33 |
|
---|
34 | * Scripted Porcelain writers now have access to the credential API via
|
---|
35 | the "git credential" plumbing command.
|
---|
36 |
|
---|
37 | * "git help" used to always default to "man" format even on platforms
|
---|
38 | where "man" viewer is not widely available.
|
---|
39 |
|
---|
40 | * "git clone --local $path" started its life as an experiment to
|
---|
41 | optionally use link/copy when cloning a repository on the disk, but
|
---|
42 | we didn't deprecate it after we made the option a no-op to always
|
---|
43 | use the optimization. The command learned "--no-local" option to
|
---|
44 | turn this off, as a more explicit alternative over use of file://
|
---|
45 | URL.
|
---|
46 |
|
---|
47 | * "git fetch" and friends used to say "remote side hung up
|
---|
48 | unexpectedly" when they failed to get response they expect from the
|
---|
49 | other side, but one common reason why they don't get expected
|
---|
50 | response is that the remote repository does not exist or cannot be
|
---|
51 | read. The error message in this case was updated to give better
|
---|
52 | hints to the user.
|
---|
53 |
|
---|
54 | * "git help -w $cmd" can show HTML version of documentation for
|
---|
55 | "git-$cmd" by setting help.htmlpath to somewhere other than the
|
---|
56 | default location where the build procedure installs them locally;
|
---|
57 | the variable can even point at a http:// URL.
|
---|
58 |
|
---|
59 | * "git rebase [-i] --root $tip" can now be used to rewrite all the
|
---|
60 | history leading to "$tip" down to the root commit.
|
---|
61 |
|
---|
62 | * "git rebase -i" learned "-x <cmd>" to insert "exec <cmd>" after
|
---|
63 | each commit in the resulting history.
|
---|
64 |
|
---|
65 | * "git status" gives finer classification to various states of paths
|
---|
66 | in conflicted state and offer advice messages in its output.
|
---|
67 |
|
---|
68 | * "git submodule" learned to deal with nested submodule structure
|
---|
69 | where a module is contained within a module whose origin is
|
---|
70 | specified as a relative URL to its superproject's origin.
|
---|
71 |
|
---|
72 | * A rather heavy-ish "git completion" script has been split to create
|
---|
73 | a separate "git prompting" script, to help lazy-autoloading of the
|
---|
74 | completion part while making prompting part always available.
|
---|
75 |
|
---|
76 | * "gitweb" pays attention to various forms of credits that are
|
---|
77 | similar to "Signed-off-by:" lines in the commit objects and
|
---|
78 | highlights them accordingly.
|
---|
79 |
|
---|
80 |
|
---|
81 | Foreign Interface
|
---|
82 |
|
---|
83 | * "mediawiki" remote helper (in contrib/) learned to handle file
|
---|
84 | attachments.
|
---|
85 |
|
---|
86 | * "git p4" now uses "Jobs:" and "p4 move" when appropriate.
|
---|
87 |
|
---|
88 | * vcs-svn has been updated to clean-up compilation, lift 32-bit
|
---|
89 | limitations, etc.
|
---|
90 |
|
---|
91 |
|
---|
92 | Performance, Internal Implementation, etc. (please report possible regressions)
|
---|
93 |
|
---|
94 | * Some tests showed false failures caused by a bug in ecryptofs.
|
---|
95 |
|
---|
96 | * We no longer use AsciiDoc7 syntax in our documentation and favor a
|
---|
97 | more modern style.
|
---|
98 |
|
---|
99 | * "git am --rebasing" codepath was taught to grab authorship, log
|
---|
100 | message and the patch text directly out of existing commits. This
|
---|
101 | will help rebasing commits that have confusing "diff" output in
|
---|
102 | their log messages.
|
---|
103 |
|
---|
104 | * "git index-pack" and "git pack-objects" use streaming API to read
|
---|
105 | from the object store to avoid having to hold a large blob object
|
---|
106 | in-core while they are doing their thing.
|
---|
107 |
|
---|
108 | * Code to match paths with exclude patterns learned to avoid calling
|
---|
109 | fnmatch() by comparing fixed leading substring literally when
|
---|
110 | possible.
|
---|
111 |
|
---|
112 | * "git log -n 1 -- rarely-touched-path" was spending unnecessary
|
---|
113 | cycles after showing the first change to find the next one, only to
|
---|
114 | discard it.
|
---|
115 |
|
---|
116 | * "git svn" got a large-looking code reorganization at the last
|
---|
117 | minute before the code freeze.
|
---|
118 |
|
---|
119 |
|
---|
120 | Also contains minor documentation updates and code clean-ups.
|
---|
121 |
|
---|
122 |
|
---|
123 | Fixes since v1.7.11
|
---|
124 | -------------------
|
---|
125 |
|
---|
126 | Unless otherwise noted, all the fixes since v1.7.11 in the maintenance
|
---|
127 | releases are contained in this release (see release notes to them for
|
---|
128 | details).
|
---|
129 |
|
---|
130 | * "git submodule add" was confused when the superproject did not have
|
---|
131 | its repository in its usual place in the working tree and GIT_DIR
|
---|
132 | and GIT_WORK_TREE was used to access it.
|
---|
133 |
|
---|
134 | * "git commit --amend" let the user edit the log message and then died
|
---|
135 | when the human-readable committer name was given insufficiently by
|
---|
136 | getpwent(3).
|
---|