]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/RelNotes/1.6.5.txt
Merge branch 'cb/fsmonitor-intfix' into maint
[thirdparty/git.git] / Documentation / RelNotes / 1.6.5.txt
CommitLineData
66415759
JH
1GIT v1.6.5 Release Notes
2========================
3
5ad9dce7
JH
4In git 1.7.0, which was planned to be the release after 1.6.5, "git
5push" into a branch that is currently checked out will be refused by
6default.
66415759
JH
7
8You can choose what should happen upon such a push by setting the
9configuration variable receive.denyCurrentBranch in the receiving
10repository.
11
12Also, "git push $there :$killed" to delete the branch $killed in a remote
13repository $there, when $killed branch is the current branch pointed at by
14its HEAD, will be refused by default.
15
16You can choose what should happen upon such a push by setting the
17configuration variable receive.denyDeleteCurrent in the receiving
18repository.
19
20To ease the transition plan, the receiving repository of such a
21push running this release will issue a big warning when the
22configuration variable is missing. Please refer to:
23
24 http://git.or.cz/gitwiki/GitFaq#non-bare
25 http://thread.gmane.org/gmane.comp.version-control.git/107758/focus=108007
26
27for more details on the reason why this change is needed and the
28transition plan.
29
30Updates since v1.6.4
31--------------------
32
33(subsystems)
34
6426ee61 35 * various updates to gitk, git-svn and gitweb.
d17982f1 36
66415759
JH
37(portability)
38
d17982f1
JH
39 * more improvements on mingw port.
40
eaf1c941
JH
41 * mingw will also give FRSX as the default value for the LESS
42 environment variable when the user does not have one.
43
6426ee61
JH
44 * initial support to compile git on Windows with MSVC.
45
66415759
JH
46(performance)
47
d17982f1
JH
48 * On major platforms, the system can be compiled to use with Linus's
49 block-sha1 implementation of the SHA-1 hash algorithm, which
50 outperforms the default fallback implementation we borrowed from
6426ee61 51 Mozilla.
d17982f1 52
5ad9dce7
JH
53 * Unnecessary inefficiency in deepening of a shallow repository has
54 been removed.
55
dc3c7a72
JH
56 * "git clone" does not grab objects that it does not need (i.e.
57 referenced only from refs outside refs/heads and refs/tags
58 hierarchy) anymore.
59
eaf1c941
JH
60 * The "git" main binary used to link with libcurl, which then dragged
61 in a large number of external libraries. When using basic plumbing
62 commands in scripts, this unnecessarily slowed things down. We now
63 implement http/https/ftp transfer as a separate executable as we
64 used to.
65
66 * "git clone" run locally hardlinks or copies the files in .git/ to
67 newly created repository. It used to give new mtime to copied files,
68 but this delayed garbage collection to trigger unnecessarily in the
69 cloned repository. We now preserve mtime for these files to avoid
70 this issue.
71
66415759
JH
72(usability, bells and whistles)
73
5ad9dce7
JH
74 * Human writable date format to various options, e.g. --since=yesterday,
75 master@{2000.09.17}, are taught to infer some omitted input properly.
76
eaf1c941
JH
77 * A few programs gave verbose "advice" messages to help uninitiated
78 people when issuing error messages. An infrastructure to allow
79 users to squelch them has been introduced, and a few such messages
80 can be silenced now.
81
d17982f1
JH
82 * refs/replace/ hierarchy is designed to be usable as a replacement
83 of the "grafts" mechanism, with the added advantage that it can be
84 transferred across repositories.
85
86 * "git am" learned to optionally ignore whitespace differences.
87
88 * "git am" handles input e-mail files that has CRLF line endings sensibly.
89
5ad9dce7
JH
90 * "git am" learned "--scissors" option to allow you to discard early part
91 of an incoming e-mail.
92
6426ee61
JH
93 * "git archive -o output.zip" works without being told what format to
94 use with an explicit "--format=zip".option.
95
5ad9dce7
JH
96 * "git checkout", "git reset" and "git stash" learned to pick and
97 choose to use selected changes you made, similar to "git add -p".
98
99 * "git clone" learned a "-b" option to pick a HEAD to check out
100 different from the remote's default branch.
101
6426ee61
JH
102 * "git clone" learned --recursive option.
103
104 * "git clone" from a local repository on a different filesystem used to
105 copy individual object files without preserving the old timestamp, giving
106 them extra lifetime in the new repository until they gc'ed.
107
d17982f1
JH
108 * "git commit --dry-run $args" is a new recommended way to ask "what would
109 happen if I try to commit with these arguments."
110
5ad9dce7
JH
111 * "git commit --dry-run" and "git status" shows conflicted paths in a
112 separate section to make them easier to spot during a merge.
113
114 * "git cvsimport" now supports password-protected pserver access even
115 when the password is not taken from ~/.cvspass file.
d17982f1
JH
116
117 * "git fast-export" learned --no-data option that can be useful when
118 reordering commits and trees without touching the contents of
119 blobs.
120
eaf1c941
JH
121 * "git fast-import" has a pair of new front-end in contrib/ area.
122
d17982f1
JH
123 * "git init" learned to mkdir/chdir into a directory when given an
124 extra argument (i.e. "git init this").
125
126 * "git instaweb" optionally can use mongoose as the web server.
127
128 * "git log --decorate" can optionally be told with --decorate=full to
129 give the reference name in full.
130
eaf1c941
JH
131 * "git merge" issued an unnecessarily scary message when it detected
132 that the merge may have to touch the path that the user has local
133 uncommitted changes to. The message has been reworded to make it
134 clear that the command aborted, without doing any harm.
135
d17982f1
JH
136 * "git push" can be told to be --quiet.
137
eaf1c941
JH
138 * "git push" pays attention to url.$base.pushInsteadOf and uses a URL
139 that is derived from the URL used for fetching.
140
d17982f1
JH
141 * informational output from "git reset" that lists the locally modified
142 paths is made consistent with that of "git checkout $another_branch".
143
d17982f1
JH
144 * "git submodule" learned to give submodule name to scripts run with
145 "foreach" subcommand.
146
147 * various subcommands to "git submodule" learned --recursive option.
148
149 * "git submodule summary" learned --files option to compare the work
150 tree vs the commit bound at submodule path, instead of comparing
151 the index.
152
5ad9dce7
JH
153 * "git upload-pack", which is the server side support for "git clone" and
154 "git fetch", can call a new post-upload-pack hook for statistics purposes.
155
66415759
JH
156(developers)
157
d17982f1
JH
158 * With GIT_TEST_OPTS="--root=/p/a/t/h", tests can be run outside the
159 source directory; using tmpfs may give faster turnaround.
160
dc3c7a72
JH
161 * With NO_PERL_MAKEMAKER set, DESTDIR= is now honoured, so you can
162 build for one location, and install into another location to tar it
163 up.
d17982f1 164
66415759
JH
165Fixes since v1.6.4
166------------------
167
dc3c7a72
JH
168All of the fixes in v1.6.4.X maintenance series are included in this
169release, unless otherwise noted.