| GIT v1.5.2 Release Notes (draft) |
| ======================== |
| |
| Updates since v1.5.1 |
| -------------------- |
| |
| * Plumbing level subproject support. |
| |
| You can include a subdirectory that has an independent git |
| repository in your index and tree objects as a |
| "subproject". This plumbing (i.e. "core") level subproject |
| support explicitly excludes recursive behaviour. |
| |
| The "subproject" entries in the index and trees are |
| incompatible with older versions of git. Experimenting with |
| the plumbing level support is encouraged, but be warned that |
| unless everybody in your project updates to this release or |
| later, using this feature would make your project |
| inaccessible by people with older versions of git. |
| |
| * Plumbing level gitattributes support. |
| |
| The gitattributes mechanism allows you to add 'attributes' to |
| paths in your project, and affect the way certain git |
| operations work. Currently you can influence if a path is |
| considered a binary or text (the former would be treated by |
| 'git diff' not to produce textual output; the latter can go |
| through the line endings conversion process in repositories |
| with core.autocrlf set), and specify a custom 3-way merge |
| driver. |
| |
| * The packfile format now optionally suports 64-bit index. |
| |
| This release supports the "version 2" format of the .idx |
| file. This is automatically enabled when a huge packfile |
| needs more than 32-bit to express offsets of objects in the |
| pack |
| |
| * New commands and options. |
| |
| - "git bisect start" can optionally take a single bad commit and |
| zero or more good commits on the command line. |
| |
| - "git shortlog" can optionally be told to wrap its output. |
| |
| - "subtree" merge strategy allows another project to be merged in as |
| your subdirectory. |
| |
| - "git format-patch" learned a new --subject-prefix=<string> |
| option, to override the built-in "[PATCH]". |
| |
| - "git add -u" is a quick way to do the first stage of "git |
| commit -a" (i.e. update the index to match the working |
| tree); it obviously does not make a commit. |
| |
| * Updated behavior of existing commands. |
| |
| - "git diff --stat" shows size of preimage and postimage blobs |
| for binary contents. Earlier it only said "Bin". |
| |
| - "git lost-found" shows stuff that are unreachable except |
| from reflogs. |
| |
| - "git checkout branch^0" now detaches HEAD at the tip commit |
| on the named branch, instead of just switching to the |
| branch (use "git checkout branch" to switch to the branch, |
| as before). |
| |
| - "git bisect next" can be used after giving only a bad commit |
| without giving a good one (this starts bisection half-way to |
| the root commit). We used to refuse to operate without a |
| good and a bad commit. |
| |
| - "git push", when pushing into more than one repository, does |
| not stop at the first error. |
| |
| - "git archive" does not insist you to give --format parameter |
| anymore; it defaults to "tar". |
| |
| - "git cvsserver" can use backends other than sqlite. |
| |
| - "gitview" (in contrib/ section) learned to better support |
| "git-annotate". |
| |
| - Local "git fetch" from a repository whose object store is |
| one of the alternates (e.g. fetching from the origin in a |
| repository created with "git clone -l -s") avoids |
| downloading objects unnecessary. |
| |
| * Builds |
| |
| - git-p4import has never been installed; now there is an |
| installation option to do so. |
| |
| - gitk and git-gui can be configured out. |
| |
| - Generated documentation pages automatically get version |
| information from GIT_VERSION |
| |
| - Parallel build with "make -j" descending into subdirectory |
| was fixed. |
| |
| * Performance Tweaks |
| |
| - optimized "git-rev-list --bisect" (hence "git-bisect"). |
| |
| - optimized "git-add $path" in a large directory, most of |
| whose contents are ignored. |
| |
| |
| Fixes since v1.5.1 |
| ------------------ |
| |
| All of the fixes in v1.5.1 maintenance series are included in |
| this release, unless otherwise noted. |
| |
| * Bugfixes |
| |
| - Switching branches with "git checkout" refused to work when |
| a path changes from a file to a directory between the |
| current branch and the new branch, in order not to lose |
| possible local changes in the directory that is being turned |
| into a file with the switch. We now allow such a branch |
| switch after making sure that there is no locally modified |
| file nor un-ignored file in the directory. This has not |
| been backported to 1.5.1.x series, as it is rather an |
| intrusive change. |
| |
| - Merging branches that have a file in one and a directory in |
| another at the same path used to get quite confused. We |
| handle such a case a bit more carefully, even though that is |
| still left as a conflict for the user to sort out. This |
| will not be backported to 1.5.1.x series, as it is rather an |
| intrusive change. |
| |
| * Documentation updates |
| |
| * Performance Tweaks |
| |
| -- |
| exec >/var/tmp/1 |
| O=v1.5.1.2-242-g2d76548 |
| echo O=`git describe refs/heads/master` |
| git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint |