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