2007-04-08 14:59:32 +08:00
|
|
|
GIT v1.5.2 Release Notes (draft)
|
|
|
|
========================
|
|
|
|
|
|
|
|
Updates since v1.5.1
|
|
|
|
--------------------
|
|
|
|
|
2007-04-22 15:26:56 +08:00
|
|
|
* Plumbing level subproject support.
|
|
|
|
|
|
|
|
You can include a subdirectory that has an independent git
|
|
|
|
repository in your index and tree objects as a
|
|
|
|
"subproject". This plumbing (i.e. "core") level subproject
|
|
|
|
support explicitly excludes recursive behaviour.
|
|
|
|
|
|
|
|
The "subproject" entries in the index and trees are
|
|
|
|
incompatible with older versions of git. Experimenting with
|
|
|
|
the plumbing level support is encouraged, but be warned that
|
|
|
|
unless everybody in your project updates to this release or
|
|
|
|
later, using this feature would make your project
|
|
|
|
inaccessible by people with older versions of git.
|
|
|
|
|
|
|
|
* Plumbing level gitattributes support.
|
|
|
|
|
|
|
|
The gitattributes mechanism allows you to add 'attributes' to
|
|
|
|
paths in your project, and affect the way certain git
|
|
|
|
operations work. Currently you can influence if a path is
|
|
|
|
considered a binary or text (the former would be treated by
|
|
|
|
'git diff' not to produce textual output; the latter can go
|
|
|
|
through the line endings conversion process in repositories
|
|
|
|
with core.autocrlf set), and specify a custom 3-way merge
|
|
|
|
driver.
|
|
|
|
|
|
|
|
* The packfile format now optionally suports 64-bit index.
|
|
|
|
|
|
|
|
This release supports the "version 2" format of the .idx
|
|
|
|
file. This is automatically enabled when a huge packfile
|
|
|
|
needs more than 32-bit to express offsets of objects in the
|
|
|
|
pack
|
|
|
|
|
2007-04-08 14:59:32 +08:00
|
|
|
* New commands and options.
|
|
|
|
|
|
|
|
- "git bisect start" can optionally take a single bad commit and
|
|
|
|
zero or more good commits on the command line.
|
|
|
|
|
2007-04-18 09:03:00 +08:00
|
|
|
- "git shortlog" can optionally be told to wrap its output.
|
|
|
|
|
|
|
|
- "subtree" merge strategy allows another project to be merged in as
|
|
|
|
your subdirectory.
|
|
|
|
|
|
|
|
- "git format-patch" learned a new --subject-prefix=<string>
|
|
|
|
option, to override the built-in "[PATCH]".
|
|
|
|
|
2007-04-22 15:26:56 +08:00
|
|
|
- "git add -u" is a quick way to do the first stage of "git
|
|
|
|
commit -a" (i.e. update the index to match the working
|
|
|
|
tree); it obviously does not make a commit.
|
|
|
|
|
2007-04-08 14:59:32 +08:00
|
|
|
* Updated behavior of existing commands.
|
|
|
|
|
|
|
|
- "git diff --stat" shows size of preimage and postimage blobs
|
|
|
|
for binary contents. Earlier it only said "Bin".
|
|
|
|
|
|
|
|
- "git lost-found" shows stuff that are unreachable except
|
|
|
|
from reflogs.
|
|
|
|
|
|
|
|
- "git checkout branch^0" now detaches HEAD at the tip commit
|
|
|
|
on the named branch, instead of just switching to the
|
|
|
|
branch (use "git checkout branch" to switch to the branch,
|
|
|
|
as before).
|
|
|
|
|
|
|
|
- "git bisect next" can be used after giving only a bad commit
|
|
|
|
without giving a good one (this starts bisection half-way to
|
|
|
|
the root commit). We used to refuse to operate without a
|
|
|
|
good and a bad commit.
|
|
|
|
|
2007-04-18 09:03:00 +08:00
|
|
|
- "git push", when pushing into more than one repository, does
|
|
|
|
not stop at the first error.
|
|
|
|
|
|
|
|
- "git archive" does not insist you to give --format parameter
|
|
|
|
anymore; it defaults to "tar".
|
|
|
|
|
2007-04-22 15:26:56 +08:00
|
|
|
- "git cvsserver" can use backends other than sqlite.
|
|
|
|
|
|
|
|
- "gitview" (in contrib/ section) learned to better support
|
|
|
|
"git-annotate".
|
|
|
|
|
|
|
|
- Local "git fetch" from a repository whose object store is
|
|
|
|
one of the alternates (e.g. fetching from the origin in a
|
|
|
|
repository created with "git clone -l -s") avoids
|
|
|
|
downloading objects unnecessary.
|
|
|
|
|
2007-04-08 14:59:32 +08:00
|
|
|
* Builds
|
|
|
|
|
|
|
|
- git-p4import has never been installed; now there is an
|
|
|
|
installation option to do so.
|
|
|
|
|
|
|
|
- gitk and git-gui can be configured out.
|
|
|
|
|
|
|
|
- Generated documentation pages automatically get version
|
|
|
|
information from GIT_VERSION
|
|
|
|
|
|
|
|
- Parallel build with "make -j" descending into subdirectory
|
|
|
|
was fixed.
|
|
|
|
|
|
|
|
* Performance Tweaks
|
|
|
|
|
|
|
|
- optimized "git-rev-list --bisect" (hence "git-bisect").
|
|
|
|
|
|
|
|
- optimized "git-add $path" in a large directory, most of
|
|
|
|
whose contents are ignored.
|
|
|
|
|
|
|
|
|
|
|
|
Fixes since v1.5.1
|
|
|
|
------------------
|
|
|
|
|
2007-04-22 15:26:56 +08:00
|
|
|
All of the fixes in v1.5.1 maintenance series are included in
|
|
|
|
this release, unless otherwise noted.
|
2007-04-18 09:03:00 +08:00
|
|
|
|
2007-04-08 14:59:32 +08:00
|
|
|
* Bugfixes
|
|
|
|
|
|
|
|
- Switching branches with "git checkout" refused to work when
|
|
|
|
a path changes from a file to a directory between the
|
|
|
|
current branch and the new branch, in order not to lose
|
|
|
|
possible local changes in the directory that is being turned
|
|
|
|
into a file with the switch. We now allow such a branch
|
|
|
|
switch after making sure that there is no locally modified
|
|
|
|
file nor un-ignored file in the directory. This has not
|
|
|
|
been backported to 1.5.1.x series, as it is rather an
|
|
|
|
intrusive change.
|
|
|
|
|
2007-04-18 09:03:00 +08:00
|
|
|
- Merging branches that have a file in one and a directory in
|
|
|
|
another at the same path used to get quite confused. We
|
|
|
|
handle such a case a bit more carefully, even though that is
|
|
|
|
still left as a conflict for the user to sort out. This
|
|
|
|
will not be backported to 1.5.1.x series, as it is rather an
|
|
|
|
intrusive change.
|
|
|
|
|
2007-04-22 15:26:56 +08:00
|
|
|
* Documentation updates
|
|
|
|
|
2007-04-08 14:59:32 +08:00
|
|
|
* Performance Tweaks
|
|
|
|
|
|
|
|
--
|
|
|
|
exec >/var/tmp/1
|
2007-04-22 15:26:56 +08:00
|
|
|
O=v1.5.1.2-242-g2d76548
|
2007-04-08 14:59:32 +08:00
|
|
|
echo O=`git describe refs/heads/master`
|
|
|
|
git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint
|