1GIT v1.5.2 Release Notes (draft) 2======================== 3 4Updates since v1.5.1 5-------------------- 6 7* Plumbing level subproject support. 8 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. 13 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. 20 21* Plumbing level gitattributes support. 22 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. 31 32* The packfile format now optionally suports 64-bit index. 33 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 38 39* New commands and options. 40 41 - "git bisect start" can optionally take a single bad commit and 42 zero or more good commits on the command line. 43 44 - "git shortlog" can optionally be told to wrap its output. 45 46 - "subtree" merge strategy allows another project to be merged in as 47 your subdirectory. 48 49 - "git format-patch" learned a new --subject-prefix=<string> 50 option, to override the built-in "[PATCH]". 51 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. 55 56* Updated behavior of existing commands. 57 58 - "git diff --stat" shows size of preimage and postimage blobs 59 for binary contents. Earlier it only said "Bin". 60 61 - "git lost-found" shows stuff that are unreachable except 62 from reflogs. 63 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). 68 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. 73 74 - "git push", when pushing into more than one repository, does 75 not stop at the first error. 76 77 - "git archive" does not insist you to give --format parameter 78 anymore; it defaults to "tar". 79 80 - "git cvsserver" can use backends other than sqlite. 81 82 - "gitview" (in contrib/ section) learned to better support 83 "git-annotate". 84 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. 89 90* Builds 91 92 - git-p4import has never been installed; now there is an 93 installation option to do so. 94 95 - gitk and git-gui can be configured out. 96 97 - Generated documentation pages automatically get version 98 information from GIT_VERSION 99 100 - Parallel build with "make -j" descending into subdirectory 101 was fixed. 102 103* Performance Tweaks 104 105 - optimized "git-rev-list --bisect" (hence "git-bisect"). 106 107 - optimized "git-add $path" in a large directory, most of 108 whose contents are ignored. 109 110 111Fixes since v1.5.1 112------------------ 113 114All of the fixes in v1.5.1 maintenance series are included in 115this release, unless otherwise noted. 116 117* Bugfixes 118 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. 128 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. 135 136* Documentation updates 137 138* Performance Tweaks 139 140-- 141exec >/var/tmp/1 142O=v1.5.1.2-242-g2d76548 143echo O=`git describe refs/heads/master` 144git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint