| Junio C Hamano | 401939f | 2007-07-01 06:34:30 | [diff] [blame] | 1 | GIT v1.5.3 Release Notes |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 2 | ======================== |
| 3 | |
| 4 | Updates since v1.5.2 |
| 5 | -------------------- |
| 6 | |
| Junio C Hamano | bb0f404 | 2007-07-04 06:41:40 | [diff] [blame] | 7 | * The commit walkers other than http are officially deprecated, |
| 8 | but still supported for now. |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 9 | |
| Junio C Hamano | bb0f404 | 2007-07-04 06:41:40 | [diff] [blame] | 10 | * The submodule support has Porcelain layer. |
| 11 | |
| 12 | * There are a handful pack-objects changes to help you cope better |
| 13 | with repositories with pathologically large blobs in them. |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 14 | |
| Junio C Hamano | 401939f | 2007-07-01 06:34:30 | [diff] [blame] | 15 | * For people who need to import from Perforce, a front-end for |
| Junio C Hamano | bb0f404 | 2007-07-04 06:41:40 | [diff] [blame] | 16 | fast-import is in contrib/fast-import/. |
| Junio C Hamano | 401939f | 2007-07-01 06:34:30 | [diff] [blame] | 17 | |
| 18 | * Comes with git-gui 0.8.0. |
| 19 | |
| 20 | * Comes with updated gitk. |
| 21 | |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 22 | * New commands and options. |
| 23 | |
| Junio C Hamano | d81c5d3 | 2007-07-16 00:06:12 | [diff] [blame] | 24 | - "git log --date=<format>" can use more formats: iso8601, rfc2822. |
| 25 | |
| Junio C Hamano | 235d53f | 2007-07-13 00:25:15 | [diff] [blame] | 26 | - The hunk header output from "git diff" family can be customized |
| 27 | with the attributes mechanism. See gitattributes(5) for details. |
| 28 | |
| Junio C Hamano | bb0f404 | 2007-07-04 06:41:40 | [diff] [blame] | 29 | - "git stash" allows you to quickly save away your work in |
| 30 | progress and replay it later on an updated state. |
| 31 | |
| 32 | - "git rebase" learned an "interactive" mode that let you |
| 33 | pick and reorder which commits to rebuild. |
| 34 | |
| 35 | - "git fsck" can save its findings in $GIT_DIR/lost-found, |
| 36 | without a separate invocation of "git lost-found" command. |
| 37 | |
| 38 | - $GIT_WORK_TREE environment variable can be used together with |
| 39 | $GIT_DIR to work in a subdirectory of a working tree that is |
| 40 | not located at "$GIT_DIR/..". |
| 41 | |
| 42 | - "git log" learned a new option "--follow", to follow |
| Junio C Hamano | 401939f | 2007-07-01 06:34:30 | [diff] [blame] | 43 | renaming history of a single file. |
| 44 | |
| Junio C Hamano | bb0f404 | 2007-07-04 06:41:40 | [diff] [blame] | 45 | - "git-filter-branch" lets you rewrite the revision history of |
| 46 | the current branch, creating a new branch. You can specify a |
| 47 | number of filters to modify the commits, files and trees. |
| Junio C Hamano | 401939f | 2007-07-01 06:34:30 | [diff] [blame] | 48 | |
| 49 | - "git-cvsserver" learned new options (--base-path, --export-all, |
| 50 | --strict-paths) inspired by git-daemon. |
| 51 | |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 52 | - "git-submodule" command helps you manage the projects from |
| 53 | the superproject that contain them. |
| 54 | |
| 55 | - In addition to core.compression configuration option, |
| 56 | core.loosecompression and pack.compression options can |
| 57 | independently tweak zlib compression levels used for loose |
| 58 | and packed objects. |
| 59 | |
| 60 | - "git-ls-tree -l" shows size of blobs pointed at by the |
| 61 | tree entries, similar to "/bin/ls -l". |
| 62 | |
| 63 | - "git-rev-list" learned --regexp-ignore-case and |
| 64 | --extended-regexp options to tweak its matching logic used |
| 65 | for --grep fitering. |
| 66 | |
| 67 | - "git-describe --contains" is a handier way to call more |
| 68 | obscure command "git-name-rev --tags". |
| 69 | |
| 70 | - "git gc --aggressive" tells the command to spend more cycles |
| 71 | to optimize the repository harder. |
| 72 | |
| Junio C Hamano | d81c5d3 | 2007-07-16 00:06:12 | [diff] [blame] | 73 | - "git repack" learned a "window-memory" limit which |
| 74 | dynamically reduces the window size to stay within the |
| 75 | specified memory usage. |
| 76 | |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 77 | - "git repack" can be told to split resulting packs to avoid |
| 78 | exceeding limit specified with "--max-pack-size". |
| 79 | |
| Junio C Hamano | 401939f | 2007-07-01 06:34:30 | [diff] [blame] | 80 | - "git fsck" gained --verbose option. This is really really |
| 81 | verbose but it might help you identify exact commit that is |
| 82 | corrupt in your repository. |
| 83 | |
| 84 | - "git format-patch" learned --numbered-files option. This |
| 85 | may be useful for MH users. |
| 86 | |
| Junio C Hamano | bb0f404 | 2007-07-04 06:41:40 | [diff] [blame] | 87 | - "git format-patch" learned format.subjectprefix configuration |
| 88 | variable, which serves the same purpose as "--subject-prefix" |
| 89 | option. |
| 90 | |
| Junio C Hamano | 401939f | 2007-07-01 06:34:30 | [diff] [blame] | 91 | - "git tag -n -l" shows tag annotations while listing tags. |
| 92 | |
| 93 | - "git cvsimport" can optionally use the separate-remote layout. |
| 94 | |
| Junio C Hamano | bb0f404 | 2007-07-04 06:41:40 | [diff] [blame] | 95 | - "git blame" can be told to see through commits that change |
| Junio C Hamano | 401939f | 2007-07-01 06:34:30 | [diff] [blame] | 96 | whitespaces and indentation levels with "-w" option. |
| 97 | |
| 98 | - "git send-email" can be told not to thread the messages when |
| 99 | sending out more than one patches. |
| 100 | |
| 101 | - "git config" learned NUL terminated output format via -z to |
| 102 | help scripts. |
| 103 | |
| Junio C Hamano | bb0f404 | 2007-07-04 06:41:40 | [diff] [blame] | 104 | - "git init -q" makes the command quieter. |
| 105 | |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 106 | * Updated behavior of existing commands. |
| 107 | |
| Junio C Hamano | d81c5d3 | 2007-07-16 00:06:12 | [diff] [blame] | 108 | - "git rm --cached" does not complain when removing a newly |
| 109 | added file from the index anymore. |
| 110 | |
| Junio C Hamano | bb0f404 | 2007-07-04 06:41:40 | [diff] [blame] | 111 | - "git svn dcommit" retains local merge information. |
| 112 | |
| 113 | - "git config" to set values also honors type flags like --bool |
| 114 | and --int. |
| 115 | |
| 116 | - core.quotepath configuration can be used to make textual git |
| 117 | output to emit most of the characters in the path literally. |
| 118 | |
| Junio C Hamano | 401939f | 2007-07-01 06:34:30 | [diff] [blame] | 119 | - "git mergetool" chooses its backend more wisely, taking |
| 120 | notice of its environment such as use of X, Gnome/KDE, etc. |
| 121 | |
| 122 | - "gitweb" shows merge commits a lot nicer than before. The |
| 123 | default view uses more compact --cc format, while the UI |
| 124 | allows to choose normal diff with any parent. |
| 125 | |
| 126 | - snapshot files "gitweb" creates from a repository at |
| 127 | $path/$project/.git are more useful. We use $project part |
| 128 | in the filename, which we used to discard. |
| 129 | |
| Junio C Hamano | bb0f404 | 2007-07-04 06:41:40 | [diff] [blame] | 130 | - "git cvsimport" creates lightweight tags; there is no |
| Junio C Hamano | 401939f | 2007-07-01 06:34:30 | [diff] [blame] | 131 | interesting information we can record in an annotated tag, |
| 132 | and the handcrafted ones the old code created was not |
| 133 | properly formed anyway. |
| 134 | |
| 135 | - "git-push" pretends that you immediately fetched back from |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 136 | the remote by updating corresponding remote tracking |
| 137 | branches if you have any. |
| 138 | |
| 139 | - The diffstat given after a merge (or a pull) honors the |
| 140 | color.diff configuration. |
| 141 | |
| 142 | - "git-apply --whitespace=strip" removes blank lines added at |
| 143 | the end of the file. |
| 144 | |
| Junio C Hamano | bb0f404 | 2007-07-04 06:41:40 | [diff] [blame] | 145 | - "git-fetch" over git native protocols with "-v" option shows |
| 146 | connection status, and the IP address of the other end, to |
| 147 | help diagnosing problems. |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 148 | |
| Junio C Hamano | 401939f | 2007-07-01 06:34:30 | [diff] [blame] | 149 | - We used to have core.legacyheaders configuration, when |
| 150 | set to false, allowed git to write loose objects in a format |
| 151 | that mimicks the format used by objects stored in packs. It |
| 152 | turns out that this was not so useful. Although we will |
| 153 | continue to read objects written in that format, we do not |
| 154 | honor that configuration anymore and create loose objects in |
| 155 | the legacy/traditional format. |
| 156 | |
| 157 | - "--find-copies-harder" option to diff family can now be |
| 158 | spelled as "-C -C" for brevity. |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 159 | |
| 160 | - "git-mailsplit" (hence "git-am") can read from Maildir |
| 161 | formatted mailboxes. |
| 162 | |
| Junio C Hamano | 401939f | 2007-07-01 06:34:30 | [diff] [blame] | 163 | - "git-cvsserver" does not barf upon seeing "cvs login" |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 164 | request. |
| 165 | |
| 166 | - "pack-objects" honors "delta" attribute set in |
| 167 | .gitattributes. It does not attempt to deltify blobs that |
| 168 | come from paths with delta attribute set to false. |
| 169 | |
| Junio C Hamano | bb0f404 | 2007-07-04 06:41:40 | [diff] [blame] | 170 | - "new-workdir" script (in contrib) can now be used with a |
| 171 | bare repository. |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 172 | |
| Junio C Hamano | 401939f | 2007-07-01 06:34:30 | [diff] [blame] | 173 | - "git-mergetool" learned to use gvimdiff. |
| 174 | |
| 175 | - "gitview" (in contrib) has a better blame interface. |
| 176 | |
| 177 | - "git log" and friends did not handle a commit log message |
| 178 | that is larger than 16kB; they do now. |
| 179 | |
| 180 | - "--pretty=oneline" output format for "git log" and friends |
| 181 | deals with "malformed" commit log messages that have more |
| 182 | than one lines in the first paragraph better. We used to |
| 183 | show the first line, cutting the title at mid-sentence; we |
| 184 | concatenate them into a single line and treat the result as |
| 185 | "oneline". |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 186 | |
| Junio C Hamano | d81c5d3 | 2007-07-16 00:06:12 | [diff] [blame] | 187 | - "git p4import" has been demoted to contrib status. For |
| 188 | a superior option, checkout the git-p4 front end to |
| 189 | git-fast-import (also in contrib). The man page and p4 |
| 190 | rpm have been removed as well. |
| 191 | |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 192 | * Builds |
| 193 | |
| Junio C Hamano | 401939f | 2007-07-01 06:34:30 | [diff] [blame] | 194 | - old-style function definitions (most notably, a function |
| 195 | without parameter defined with "func()", not "func(void)") |
| 196 | have been eradicated. |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 197 | |
| 198 | * Performance Tweaks |
| 199 | |
| 200 | - git-pack-objects avoids re-deltification cost by caching |
| 201 | small enough delta results it creates while looking for the |
| 202 | best delta candidates. |
| 203 | |
| Junio C Hamano | 235d53f | 2007-07-13 00:25:15 | [diff] [blame] | 204 | - git-pack-objects learned a new heuristcs to prefer delta |
| 205 | that is shallower in depth over the smallest delta |
| 206 | possible. This improves both overall packfile access |
| 207 | performance and packfile density. |
| 208 | |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 209 | - diff-delta code that is used for packing has been improved |
| 210 | to work better on big files. |
| 211 | |
| 212 | - when there are more than one pack files in the repository, |
| 213 | the runtime used to try finding an object always from the |
| 214 | newest packfile; it now tries the same packfile as we found |
| 215 | the object requested the last time, which exploits the |
| 216 | locality of references. |
| 217 | |
| Junio C Hamano | 401939f | 2007-07-01 06:34:30 | [diff] [blame] | 218 | - verifying pack contents done by "git fsck --full" got boost |
| 219 | by carefully choosing the order to verify objects in them. |
| 220 | |
| 221 | |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 222 | Fixes since v1.5.2 |
| 223 | ------------------ |
| 224 | |
| 225 | All of the fixes in v1.5.2 maintenance series are included in |
| 226 | this release, unless otherwise noted. |
| 227 | |
| 228 | * Bugfixes |
| 229 | |
| Junio C Hamano | 401939f | 2007-07-01 06:34:30 | [diff] [blame] | 230 | - "gitweb" had trouble handling non UTF-8 text with older |
| 231 | Encode.pm Perl module. |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 232 | |
| 233 | -- |
| 234 | exec >/var/tmp/1 |
| Junio C Hamano | d81c5d3 | 2007-07-16 00:06:12 | [diff] [blame] | 235 | O=v1.5.3-rc2 |
| Junio C Hamano | 38b693c | 2007-06-03 08:40:14 | [diff] [blame] | 236 | echo O=`git describe refs/heads/master` |
| 237 | git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint |