2008-06-26 09:13:37 +02:00
|
|
|
GIT v1.6.0 Release Notes
|
|
|
|
========================
|
|
|
|
|
|
|
|
User visible changes
|
|
|
|
--------------------
|
|
|
|
|
2008-06-29 22:34:26 +02:00
|
|
|
With the default Makefile settings, most of the programs are now
|
|
|
|
installed outside your $PATH, except for "git", "gitk", "git-gui" and
|
|
|
|
some server side programs that need to be accessible for technical
|
|
|
|
reasons. Invoking a git subcommand as "git-xyzzy" from the command
|
|
|
|
line has been deprecated since early 2006 (and officially announced in
|
|
|
|
1.5.4 release notes); use of them from your scripts after adding
|
|
|
|
output from "git --exec-path" to the $PATH is still supported in this
|
|
|
|
release, but users are again strongly encouraged to adjust their
|
|
|
|
scripts to use "git xyzzy" form, as we will stop installing
|
|
|
|
"git-xyzzy" hardlinks for built-in commands in later releases.
|
2008-06-26 09:13:37 +02:00
|
|
|
|
|
|
|
Source changes needed for porting to MinGW environment are now all in the
|
|
|
|
main git.git codebase.
|
|
|
|
|
2008-07-02 02:21:12 +02:00
|
|
|
By default, packfiles created with this version uses delta-base-offset
|
|
|
|
encoding introduced in v1.4.4. Pack idx files are using version 2 that
|
|
|
|
allows larger packs and added robustness thanks to its CRC checking,
|
2008-07-17 19:01:30 +02:00
|
|
|
introduced in v1.5.2 and v1.4.4.5. If you want to keep your repositories
|
|
|
|
backwards compatible past these versions, set repack.useDeltaBaseOffset
|
|
|
|
to false or pack.indexVersion to 1, respectively.
|
2008-07-02 02:21:12 +02:00
|
|
|
|
2008-06-30 09:37:47 +02:00
|
|
|
GIT_CONFIG, which was only documented as affecting "git config", but
|
|
|
|
actually affected all git commands, now only affects "git config".
|
|
|
|
GIT_LOCAL_CONFIG, also only documented as affecting "git config" and
|
|
|
|
not different from GIT_CONFIG in a useful way, is removed.
|
|
|
|
|
2008-07-17 03:34:19 +02:00
|
|
|
The ".dotest" temporary area "git am" and "git rebase" use is now moved
|
|
|
|
inside the $GIT_DIR, to avoid mistakes of adding it to the project by
|
|
|
|
accident.
|
|
|
|
|
2008-07-07 10:39:28 +02:00
|
|
|
An ancient merge strategy "stupid" has been removed.
|
|
|
|
|
2008-06-26 09:13:37 +02:00
|
|
|
|
|
|
|
Updates since v1.5.6
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
(subsystems)
|
|
|
|
|
2008-06-29 22:34:26 +02:00
|
|
|
* git-p4 in contrib learned "allowSubmit" configuration to control on
|
|
|
|
which branch to allow "submit" subcommand.
|
|
|
|
|
2008-07-07 10:39:28 +02:00
|
|
|
* git-gui learned to stage changes per-line.
|
|
|
|
|
2008-06-26 09:13:37 +02:00
|
|
|
(portability)
|
|
|
|
|
2008-07-07 10:39:28 +02:00
|
|
|
* Changes for MinGW port have been merged, thanks to Johannes Sixt and
|
|
|
|
gangs.
|
|
|
|
|
2008-06-26 09:13:37 +02:00
|
|
|
* Sample hook scripts shipped in templates/ are now suffixed with
|
|
|
|
*.sample. We used to prevent them from triggering by default by
|
|
|
|
relying on the fact that we install them as unexecutable, but on
|
|
|
|
some filesystems this approach does not work. Instead of running
|
|
|
|
"chmod +x" on them, the users who want to activate these samples
|
|
|
|
as-is can now rename them dropping *.sample suffix.
|
|
|
|
|
|
|
|
* perl's in-place edit (-i) does not work well without backup files on Windows;
|
|
|
|
some tests are rewritten to cope with this.
|
|
|
|
|
|
|
|
(documentation)
|
|
|
|
|
|
|
|
* Updated howto/update-hook-example
|
|
|
|
|
2008-07-07 10:39:28 +02:00
|
|
|
* Got rid of usage of "git-foo" from the tutorial and made typography
|
|
|
|
more consistent.
|
2008-06-29 22:34:26 +02:00
|
|
|
|
|
|
|
* Disambiguating "--" between revs and paths is finally documented.
|
|
|
|
|
|
|
|
(performance, robustness, sanity etc.)
|
|
|
|
|
2008-07-17 03:34:19 +02:00
|
|
|
* index-pack used too much memory when dealing with a deep delta chain.
|
|
|
|
This has been optimized.
|
2008-06-26 09:13:37 +02:00
|
|
|
|
|
|
|
* reduced excessive inlining to shrink size of the "git" binary.
|
|
|
|
|
|
|
|
* verify-pack checks the object CRC when using version 2 idx files.
|
|
|
|
|
|
|
|
* When an object is corrupt in a pack, the object became unusable even
|
|
|
|
when the same object is available in a loose form, We now try harder to
|
|
|
|
fall back to these redundant objects when able. In particular, "git
|
|
|
|
repack -a -f" can be used to fix such a corruption as long as necessary
|
|
|
|
objects are available.
|
|
|
|
|
2008-07-17 03:34:19 +02:00
|
|
|
* Performance of "git-blame -C -C" operation is vastly improved.
|
|
|
|
|
2008-06-26 09:13:37 +02:00
|
|
|
* git-clone does not create refs in loose form anymore (it behaves as
|
|
|
|
if you immediately ran git-pack-refs after cloning). This will help
|
|
|
|
repositories with insanely large number of refs.
|
|
|
|
|
|
|
|
* core.fsyncobjectfiles configuration can be used to ensure that the loose
|
|
|
|
objects created will be fsync'ed (this is only useful on filesystems
|
|
|
|
that does not order data writes properly).
|
|
|
|
|
2008-06-29 22:34:26 +02:00
|
|
|
* "git commit-tree" plumbing can make Octopus with more than 16 parents.
|
|
|
|
"git commit" has been capable of this for quite some time.
|
|
|
|
|
2008-06-26 09:13:37 +02:00
|
|
|
(usability, bells and whistles)
|
|
|
|
|
2008-07-17 03:34:19 +02:00
|
|
|
* even more documentation pages are now accessible via "man" and "git help".
|
|
|
|
|
2008-07-07 10:39:28 +02:00
|
|
|
* A new environment variable GIT_CEILING_DIRECTORIES can be used to stop
|
|
|
|
the discovery process of the toplevel of working tree; this may be useful
|
|
|
|
when you are working in a slow network disk and are outside any working tree,
|
|
|
|
as bash-completion and "git help" may still need to run in these places.
|
|
|
|
|
2008-07-14 07:30:35 +02:00
|
|
|
* By default, stash entries never expire. Set reflogexpire in [gc
|
|
|
|
"refs/stash"] to a reasonable value to get traditional auto-expiration
|
|
|
|
behaviour back
|
|
|
|
|
|
|
|
* Longstanding latency issue with bash completion script has been
|
|
|
|
addressed. This will need to be backmerged to 'maint' later.
|
|
|
|
|
|
|
|
* pager.<cmd> configuration variable can be used to enable/disable the
|
|
|
|
default paging behaviour per command.
|
|
|
|
|
|
|
|
* "git-add -i" has a new action 'e/dit' to allow you edit the patch hunk
|
|
|
|
manually.
|
|
|
|
|
2008-07-15 14:55:55 +02:00
|
|
|
* git-am records the original tip of the branch in ORIG_HEAD before it
|
|
|
|
starts applying patches.
|
|
|
|
|
2008-07-02 02:21:12 +02:00
|
|
|
* git-apply can handle a patch that touches the same path more than once
|
|
|
|
much better than before.
|
|
|
|
|
|
|
|
* git-apply can be told not to trust the line counts recorded in the input
|
|
|
|
patch but recount, with the new --recount option.
|
|
|
|
|
2008-07-14 07:30:35 +02:00
|
|
|
* git-apply can be told to apply a patch to a path deeper than what the
|
|
|
|
patch records with --directory option.
|
|
|
|
|
2008-06-26 09:13:37 +02:00
|
|
|
* git-archive can be told to omit certain paths from its output using
|
|
|
|
export-ignore attributes.
|
|
|
|
|
2008-07-20 00:52:12 +02:00
|
|
|
* git-archive uses the zlib default compression level when creating
|
|
|
|
zip archive.
|
|
|
|
|
2008-07-14 07:30:35 +02:00
|
|
|
* With -v option, git-branch describes the remote tracking statistics
|
|
|
|
similar to the way git-checkout reports by how many commits your branch
|
|
|
|
is ahead/behind.
|
|
|
|
|
2008-07-15 14:55:55 +02:00
|
|
|
* git-branch's --contains option used to always require a commit parameter
|
|
|
|
to limit the branches with; it now defaults to list branches that
|
|
|
|
contains HEAD if this parameter is omitted.
|
|
|
|
|
|
|
|
* git-branch's --merged and --no-merged option used to always limit the
|
|
|
|
branches relative to the HEAD, but they can now take an optional commit
|
|
|
|
argument that is used in place of HEAD.
|
|
|
|
|
2008-07-14 07:30:35 +02:00
|
|
|
* git-bundle can read the revision arguments from the standard input.
|
|
|
|
|
|
|
|
* git-cherry-pick can replay a root commit now.
|
|
|
|
|
2008-07-02 02:21:12 +02:00
|
|
|
* git-clone can clone from a remote whose URL would be rewritten by
|
|
|
|
configuration stored in $HOME/.gitconfig now.
|
|
|
|
|
2008-07-20 00:52:12 +02:00
|
|
|
* git-cvsserver learned to respond to "cvs co -c".
|
|
|
|
|
2008-07-02 02:21:12 +02:00
|
|
|
* git-diff --check now checks leftover merge conflict markers.
|
|
|
|
|
|
|
|
* When remote side used to have branch 'foo' and git-fetch finds that now
|
|
|
|
it has branch 'foo/bar', it refuses to lose the existing remote tracking
|
|
|
|
branch and its reflog. The error message has been improved to suggest
|
|
|
|
pruning the remote if the user wants to proceed and get the latest set
|
|
|
|
of branches from the remote, including such 'foo/bar'.
|
|
|
|
|
2008-06-26 09:13:37 +02:00
|
|
|
* fast-export learned to export and import marks file; this can be used to
|
|
|
|
interface with fast-import incrementally.
|
|
|
|
|
2008-07-20 00:52:12 +02:00
|
|
|
* fast-import and fast-export learned to export and import gitlinks.
|
|
|
|
|
2008-07-15 14:55:55 +02:00
|
|
|
* git-rebase records the original tip of branch in ORIG_HEAD before it is
|
|
|
|
rewound.
|
|
|
|
|
2008-07-07 10:39:28 +02:00
|
|
|
* "git rerere" can be told to update the index with auto-reused resolution
|
|
|
|
with rerere.autoupdate configuration variable.
|
2008-06-26 09:13:37 +02:00
|
|
|
|
2008-07-14 07:30:35 +02:00
|
|
|
* git-rev-list learned --children option to show child commits it
|
|
|
|
encountered during the traversal, instead of shoing parent commits.
|
|
|
|
|
2008-07-02 02:21:12 +02:00
|
|
|
* git-send-mail can talk not just over SSL but over TLS now.
|
|
|
|
|
2008-07-15 14:55:55 +02:00
|
|
|
* git-shortlog honors custom output format specified with "--pretty=format:".
|
|
|
|
|
2008-07-14 07:30:35 +02:00
|
|
|
* "git-stash save" learned --keep-index option. This lets you stash away the
|
|
|
|
local changes and bring the changes staged in the index to your working
|
|
|
|
tree for examination and testing.
|
|
|
|
|
|
|
|
* git-stash also learned branch subcommand to create a new branch out of
|
|
|
|
stashed changes.
|
|
|
|
|
|
|
|
* git-status gives the remote tracking statistics similar to the way
|
|
|
|
git-checkout reports by how many commits your branch is ahead/behind.
|
|
|
|
|
2008-06-26 09:13:37 +02:00
|
|
|
* You can tell "git status -u" to even more aggressively omit checking
|
|
|
|
untracked files with --untracked-files=no.
|
|
|
|
|
2008-07-07 10:39:28 +02:00
|
|
|
* Original SHA-1 value for "update-ref -d" is optional now.
|
|
|
|
|
2008-06-26 09:13:37 +02:00
|
|
|
* Error codes from gitweb are made more descriptive where possible, rather
|
|
|
|
than "403 forbidden" as we used to issue everywhere.
|
|
|
|
|
|
|
|
(internal)
|
|
|
|
|
2008-07-17 03:34:19 +02:00
|
|
|
* git-merge has been reimplemented in C.
|
|
|
|
|
2008-06-26 09:13:37 +02:00
|
|
|
|
|
|
|
Fixes since v1.5.6
|
|
|
|
------------------
|
|
|
|
|
|
|
|
All of the fixes in v1.5.6 maintenance series are included in
|
|
|
|
this release, unless otherwise noted.
|
|
|
|
|
|
|
|
---
|
|
|
|
exec >/var/tmp/1
|
2008-07-20 00:52:12 +02:00
|
|
|
O=v1.5.6.4-432-g6796399
|
2008-06-26 09:13:37 +02:00
|
|
|
echo O=$(git describe refs/heads/master)
|
|
|
|
git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint
|