t5302: avoid using tail -c
[tgit.git] / Documentation / RelNotes-1.5.2.txt
blobabecac6de9765f83a1fac574c8c722488f442f9e
1 GIT v1.5.2 Release Notes (draft)
2 ========================
4 Updates since v1.5.1
5 --------------------
7 * Plumbing level subproject support.
9   You can include a subdirectory that has an independent git
10   repository in your index and tree objects as a
11   "subproject".  This plumbing (i.e. "core") level subproject
12   support explicitly excludes recursive behaviour.
14   The "subproject" entries in the index and trees are
15   incompatible with older versions of git.  Experimenting with
16   the plumbing level support is encouraged, but be warned that
17   unless everybody in your project updates to this release or
18   later, using this feature would make your project
19   inaccessible by people with older versions of git.
21 * Plumbing level gitattributes support.
23   The gitattributes mechanism allows you to add 'attributes' to
24   paths in your project, and affect the way certain git
25   operations work.  Currently you can influence if a path is
26   considered a binary or text (the former would be treated by
27   'git diff' not to produce textual output; the latter can go
28   through the line endings conversion process in repositories
29   with core.autocrlf set), and specify a custom 3-way merge
30   driver.
32 * The packfile format now optionally suports 64-bit index.
34   This release supports the "version 2" format of the .idx
35   file.  This is automatically enabled when a huge packfile
36   needs more than 32-bit to express offsets of objects in the
37   pack
39 * New commands and options.
41   - "git bisect start" can optionally take a single bad commit and
42     zero or more good commits on the command line.
44   - "git shortlog" can optionally be told to wrap its output.
46   - "subtree" merge strategy allows another project to be merged in as
47     your subdirectory.
49   - "git format-patch" learned a new --subject-prefix=<string>
50     option, to override the built-in "[PATCH]".
52   - "git add -u" is a quick way to do the first stage of "git
53     commit -a" (i.e. update the index to match the working
54     tree); it obviously does not make a commit.
56 * Updated behavior of existing commands.
58   - "git diff --stat" shows size of preimage and postimage blobs
59     for binary contents.  Earlier it only said "Bin".
61   - "git lost-found" shows stuff that are unreachable except
62     from reflogs.
64   - "git checkout branch^0" now detaches HEAD at the tip commit
65     on the named branch, instead of just switching to the
66     branch (use "git checkout branch" to switch to the branch,
67     as before).
69   - "git bisect next" can be used after giving only a bad commit
70     without giving a good one (this starts bisection half-way to
71     the root commit).  We used to refuse to operate without a
72     good and a bad commit.
74   - "git push", when pushing into more than one repository, does
75     not stop at the first error.
77   - "git archive" does not insist you to give --format parameter
78     anymore; it defaults to "tar".
80   - "git cvsserver" can use backends other than sqlite.
82   - "gitview" (in contrib/ section) learned to better support
83     "git-annotate".
85   - Local "git fetch" from a repository whose object store is
86     one of the alternates (e.g. fetching from the origin in a
87     repository created with "git clone -l -s") avoids
88     downloading objects unnecessary.
90 * Builds
92   - git-p4import has never been installed; now there is an
93     installation option to do so.
95   - gitk and git-gui can be configured out.
97   - Generated documentation pages automatically get version
98     information from GIT_VERSION
100   - Parallel build with "make -j" descending into subdirectory
101     was fixed.
103 * Performance Tweaks
105   - optimized "git-rev-list --bisect" (hence "git-bisect").
107   - optimized "git-add $path" in a large directory, most of
108     whose contents are ignored.
111 Fixes since v1.5.1
112 ------------------
114 All of the fixes in v1.5.1 maintenance series are included in
115 this release, unless otherwise noted.
117 * Bugfixes
119   - Switching branches with "git checkout" refused to work when
120     a path changes from a file to a directory between the
121     current branch and the new branch, in order not to lose
122     possible local changes in the directory that is being turned
123     into a file with the switch.  We now allow such a branch
124     switch after making sure that there is no locally modified
125     file nor un-ignored file in the directory.  This has not
126     been backported to 1.5.1.x series, as it is rather an
127     intrusive change.
129   - Merging branches that have a file in one and a directory in
130     another at the same path used to get quite confused.  We
131     handle such a case a bit more carefully, even though that is
132     still left as a conflict for the user to sort out.  This
133     will not be backported to 1.5.1.x series, as it is rather an
134     intrusive change.
136 * Documentation updates
138 * Performance Tweaks
141 exec >/var/tmp/1
142 O=v1.5.1.2-242-g2d76548
143 echo O=`git describe refs/heads/master`
144 git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint