update v1.5.0 draft release notes
- Reword a few paragraphs to follow comments from the list. - Add sections to Bare repositories, Detached HEAD, and Sliding mmap.
Junio C Hamano committed
Jan 9, 2007 at 23:23 UTC
2a26199aac43ab5a08ec3a28f1b3f42e980f2ee9
1 file changed
+85
-14
v1.5.0.txt
+85
-14
@@ -19,16 +19,23 @@ can no longer be used with ancient git.
19
- There is a configuration variable core.legacyheaders that
20
changes the format of loose objects so that they are more
21
efficient to pack and to send out of the repository over git
22
- native protocol, since v1.4.2. However, this format cannot
23
- be read by git older than that version; people fetching from
24
- your repository using older clients over dumb transports
25
- (e.g. http) using older versions of git will also be
26
- affected. This is not enabled by default.
22
+ native protocol, since v1.4.2. However, loose objects
23
+ written in the new format cannot be read by git older than
24
+ that version; people fetching from your repository using
25
+ older clients over dumb transports (e.g. http) using older
26
+ versions of git will also be affected.
27
28
- Since v1.4.3, configuration repack.usedeltabaseoffset allows
29
packfile to be created in more space efficient format, which
30
- cannot be read by git older than that version. This is not
31
- enabled by default.
30
+ cannot be read by git older than that version.
31
+
32
+The above two are not enabled by default and you explicitly have
33
+to ask for them, because these two features make repositories
34
+unreadable by older versions of git, and in v1.5.0 we still do
35
+not enable them by default for the same reason. We will change
36
+this default probably 1 year after 1.4.2's release, when it is
37
+reasonable to expect everybody to have new enough version of
38
+git.
39
40
- 'git pack-refs' appeared in v1.4.4; this command allows tags
41
to be accessed much more efficiently than the traditional
@@ -115,6 +122,26 @@ Updates in v1.5.0 since v1.4.4 series
122
accumulated too many small packs this way as well. Updated
123
git-count-objects helps you with this.
124
125
+ - A new command, git-remote, can help you manage your remote
126
+ tracking branch definitions.
127
+
128
+
129
+* Bare repositories
130
+
131
+ - Certain commands change their behaviour in a bare repository
132
+ (i.e. a repository without associated working tree). We use
133
+ a fairly conservative heuristic (if $GIT_DIR is ".git", or
134
+ ends with "/.git", the repository is not bare) to decide if a
135
+ repository is bare, but "core.bare" configuration variable
136
+ can be used to override the heuristic when it misidentifies
137
+ your repository.
138
+
139
+ - git-fetch used to complain updating the current branch but
140
+ this is now allowed for a bare repository.
141
+
142
+ - NEEDSWORK: We should disable Porcelain-ish commands that
143
+ require a working tree in a bare repository.
144
+
145
146
* Reflog
147
@@ -133,15 +160,42 @@ Updates in v1.5.0 since v1.4.4 series
160
versions of git.
161
162
Existing repositories that have been using reflog may get
136
- complaints from fsck-objects; please run "git reflog expire
137
- --all" first to remove reflog entries that refer to commits
138
- that are no longer in the repository before attempting to
139
- repack it.
163
+ complaints from fsck-objects and may not be able to run
164
+ git-repack; please run "git reflog expire --all" first to
165
+ remove reflog entries that refer to commits that are no
166
+ longer in the repository when that happens.
167
168
- git-branch knows how to rename branches and moves existing
169
reflog data from the old branch to the new one.
170
171
172
+* Detached HEAD
173
+
174
+ - You can give non-branch to "git checkout" now. This will
175
+ dissociate your HEAD from any of your branches. A typical
176
+ use of this feature is to "look around". E.g.
177
+
178
+ $ git checkout v2.6.16
179
+ ... compile, test, etc.
180
+ $ git checkout v2.6.17
181
+ ... compile, test, etc.
182
+
183
+ - After detaching your HEAD, you can go back to an existing
184
+ branch with usual "git checkout $branch". Also you can
185
+ start a new branch using "git checkout -b $newbranch".
186
+
187
+ - You can even pull from other repositories, make merges and
188
+ commits while your HEAD is detached. Also you can use "git
189
+ reset" to jump to arbitrary commit.
190
+
191
+ Going back to undetached state by "git checkout $branch" can
192
+ lose the current stat you arrived in these ways, and "git
193
+ checkout" refuses when the detached HEAD is not pointed by
194
+ any existing ref (an existing branch, a remote tracking
195
+ branch or a tag). This safety can be overriden with "git
196
+ checout -f".
197
+
198
+
199
* Packed refs
200
201
- Repositories with hundreds of tags have been paying large
@@ -196,15 +250,23 @@ Updates in v1.5.0 since v1.4.4 series
250
configuration, in the decreasing order of preference, and
251
defaults to UTF-8.
252
253
+ - Tools for e-mailed patch application now default to -u
254
+ behaviour; i.e. it always re-codes from the e-mailed encoding
255
+ to the encoding specified with i18n.commitencoding. This
256
+ unfortunately forces projects that have happily using a
257
+ legacy encoding without setting i18n.commitencoding, but
258
+ taken with other improvement, please excuse us for this very
259
+ minor one-time inconvenience.
260
+
261
262
* Foreign SCM interfaces
263
264
- git-svn now requires the Perl SVN:: libraries, the
265
command-line backend was too slow and limited.
266
205
- - the 'commit' command has been renamed to 'set-tree', and
206
- 'dcommit' is the recommended replacement for day-to-day
207
- work.
267
+ - the 'commit' subcommand of git-svn has been renamed to
268
+ 'set-tree', and 'dcommit' is the recommended replacement for
269
+ day-to-day work.
270
271
272
* User support
@@ -216,6 +278,15 @@ Updates in v1.5.0 since v1.4.4 series
278
- Better error messages for often used Porcelainish commands.
279
280
281
+* Sliding mmap
282
+
283
+ - We used to assume that we can mmap the whole packfile while
284
+ in use, but with a large project this consumes huge virtual
285
+ memory space and truly huge ones would not fit in the
286
+ userland address space on 32-bit platforms. We now mmap huge
287
+ packfile in pieces to avoid this problem.
288
+
289
+
290
* Shallow clones
291
292
- There is a partial support for 'shallow' repositories that