106 lines
3.8 KiB
Plaintext
106 lines
3.8 KiB
Plaintext
|
GIT v1.6.0 Release Notes
|
||
|
========================
|
||
|
|
||
|
User visible changes
|
||
|
--------------------
|
||
|
|
||
|
[[Note that none of these are not merged to 'master' as of this writing
|
||
|
but they will be before 1.6.0 happens]]
|
||
|
|
||
|
With 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 needs to be accessible when connecting over ssh.
|
||
|
|
||
|
When talking to remote repository over ssh, necessary server side programs
|
||
|
are now invoked with "git $program" notation, not with "git-$program"
|
||
|
notation. This should work with both servers running older git where you
|
||
|
had all of these programs installed on $PATH, or newer git where you have
|
||
|
only "git" on $PATH. However, if the remote side is running a custom
|
||
|
software that restricts programs you can run over ssh, it might cause
|
||
|
problems. Use --upload-pack="git-upload-pack" (when using ls-remote,
|
||
|
fetch and pull on the client side), --receive-pack="git-receive-pack"
|
||
|
(when using push on the client side), or --exec="git-upload-archive" (when
|
||
|
using git-archive) as appropriate when talking to such a remote.
|
||
|
|
||
|
Source changes needed for porting to MinGW environment are now all in the
|
||
|
main git.git codebase.
|
||
|
|
||
|
|
||
|
Updates since v1.5.6
|
||
|
--------------------
|
||
|
|
||
|
(subsystems)
|
||
|
|
||
|
(portability)
|
||
|
|
||
|
* 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
|
||
|
|
||
|
(performance, robustness etc.)
|
||
|
|
||
|
* 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.
|
||
|
|
||
|
* 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).
|
||
|
|
||
|
(usability, bells and whistles)
|
||
|
|
||
|
* git-archive can be told to omit certain paths from its output using
|
||
|
export-ignore attributes.
|
||
|
|
||
|
* fast-export learned to export and import marks file; this can be used to
|
||
|
interface with fast-import incrementally.
|
||
|
|
||
|
* Original SHA-1 value for "update-ref -d" is optional now.
|
||
|
|
||
|
* You can tell "git status -u" to even more aggressively omit checking
|
||
|
untracked files with --untracked-files=no.
|
||
|
|
||
|
* Error codes from gitweb are made more descriptive where possible, rather
|
||
|
than "403 forbidden" as we used to issue everywhere.
|
||
|
|
||
|
(internal)
|
||
|
|
||
|
|
||
|
Fixes since v1.5.6
|
||
|
------------------
|
||
|
|
||
|
All of the fixes in v1.5.6 maintenance series are included in
|
||
|
this release, unless otherwise noted.
|
||
|
|
||
|
* diff -c/--cc showed unnecessary "deletion" lines at the context
|
||
|
boundary (needs backmerge to maint).
|
||
|
|
||
|
* "git-clone <src> <dst>" did not create leading directories for <dst>
|
||
|
like the scripted version used to do (needs backport to maint).
|
||
|
|
||
|
---
|
||
|
exec >/var/tmp/1
|
||
|
O=v1.5.6.1-77-gf9a08f6
|
||
|
echo O=$(git describe refs/heads/master)
|
||
|
git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint
|