1 GIT v1.6.5 Release Notes
2 ========================
4 In git 1.7.0, which was planned to be the release after 1.6.5, "git
5 push" into a branch that is currently checked out will be refused by
8 You can choose what should happen upon such a push by setting the
9 configuration variable receive.denyCurrentBranch in the receiving
12 Also, "git push $there :$killed" to delete the branch $killed in a remote
13 repository $there, when $killed branch is the current branch pointed at by
14 its HEAD, will be refused by default.
16 You can choose what should happen upon such a push by setting the
17 configuration variable receive.denyDeleteCurrent in the receiving
20 To ease the transition plan, the receiving repository of such a
21 push running this release will issue a big warning when the
22 configuration variable is missing. Please refer to:
24 http://git.or.cz/gitwiki/GitFaq#non-bare
25 http://thread.gmane.org/gmane.comp.version-control.git/107758/focus=108007
27 for more details on the reason why this change is needed and the
35 * various updates to git-svn and gitweb.
39 * more improvements on mingw port.
41 * mingw will also give FRSX as the default value for the LESS
42 environment variable when the user does not have one.
46 * On major platforms, the system can be compiled to use with Linus's
47 block-sha1 implementation of the SHA-1 hash algorithm, which
48 outperforms the default fallback implementation we borrowed from
51 * Unnecessary inefficiency in deepening of a shallow repository has
54 * The "git" main binary used to link with libcurl, which then dragged
55 in a large number of external libraries. When using basic plumbing
56 commands in scripts, this unnecessarily slowed things down. We now
57 implement http/https/ftp transfer as a separate executable as we
60 * "git clone" run locally hardlinks or copies the files in .git/ to
61 newly created repository. It used to give new mtime to copied files,
62 but this delayed garbage collection to trigger unnecessarily in the
63 cloned repository. We now preserve mtime for these files to avoid
66 (usability, bells and whistles)
68 * Human writable date format to various options, e.g. --since=yesterday,
69 master@{2000.09.17}, are taught to infer some omitted input properly.
71 * A few programs gave verbose "advice" messages to help uninitiated
72 people when issuing error messages. An infrastructure to allow
73 users to squelch them has been introduced, and a few such messages
76 * refs/replace/ hierarchy is designed to be usable as a replacement
77 of the "grafts" mechanism, with the added advantage that it can be
78 transferred across repositories.
80 * "git am" learned to optionally ignore whitespace differences.
82 * "git am" handles input e-mail files that has CRLF line endings sensibly.
84 * "git am" learned "--scissors" option to allow you to discard early part
85 of an incoming e-mail.
87 * "git checkout", "git reset" and "git stash" learned to pick and
88 choose to use selected changes you made, similar to "git add -p".
90 * "git clone" learned a "-b" option to pick a HEAD to check out
91 different from the remote's default branch.
93 * "git commit --dry-run $args" is a new recommended way to ask "what would
94 happen if I try to commit with these arguments."
96 * "git commit --dry-run" and "git status" shows conflicted paths in a
97 separate section to make them easier to spot during a merge.
99 * "git cvsimport" now supports password-protected pserver access even
100 when the password is not taken from ~/.cvspass file.
102 * "git fast-export" learned --no-data option that can be useful when
103 reordering commits and trees without touching the contents of
106 * "git fast-import" has a pair of new front-end in contrib/ area.
108 * "git init" learned to mkdir/chdir into a directory when given an
109 extra argument (i.e. "git init this").
111 * "git instaweb" optionally can use mongoose as the web server.
113 * "git log --decorate" can optionally be told with --decorate=full to
114 give the reference name in full.
116 * "git merge" issued an unnecessarily scary message when it detected
117 that the merge may have to touch the path that the user has local
118 uncommitted changes to. The message has been reworded to make it
119 clear that the command aborted, without doing any harm.
121 * "git push" can be told to be --quiet.
123 * "git push" pays attention to url.$base.pushInsteadOf and uses a URL
124 that is derived from the URL used for fetching.
126 * informational output from "git reset" that lists the locally modified
127 paths is made consistent with that of "git checkout $another_branch".
129 * "git submodule" learned to give submodule name to scripts run with
130 "foreach" subcommand.
132 * various subcommands to "git submodule" learned --recursive option.
134 * "git submodule summary" learned --files option to compare the work
135 tree vs the commit bound at submodule path, instead of comparing
138 * "git upload-pack", which is the server side support for "git clone" and
139 "git fetch", can call a new post-upload-pack hook for statistics purposes.
143 * With GIT_TEST_OPTS="--root=/p/a/t/h", tests can be run outside the
144 source directory; using tmpfs may give faster turnaround.
150 # All of the fixes in v1.6.4.X maintenance series are included in this
151 # release, unless otherwise noted.
153 # Here are fixes that this release has, but have not been backported to
158 O=v1.6.4.2-298-gdf01e7c
159 O=v1.6.5-rc0-49-g5f2b1e6
160 echo O=$(git describe master)
161 git shortlog --no-merges $O..master --not maint