| Junio C Hamano | e670d0d | 2008-02-17 20:14:59 | [diff] [blame] | 1 | GIT v1.5.5 Release Notes |
| 2 | ======================== |
| 3 | |
| 4 | Updates since v1.5.4 |
| 5 | -------------------- |
| 6 | |
| Junio C Hamano | 8e22588 | 2008-03-03 18:59:28 | [diff] [blame] | 7 | (subsystems) |
| 8 | |
| Junio C Hamano | 4de61f82 | 2008-03-16 10:23:02 | [diff] [blame] | 9 | * Comes with git-gui 0.9.3. |
| 10 | |
| 11 | (portability) |
| 12 | |
| 13 | * We shouldn't ask for BSD group ownership semantics by setting g+s bit |
| 14 | on directories on older BSD systems that refuses chmod() by non root |
| 15 | users. BSD semantics is the default there anyway. |
| 16 | |
| 17 | * Bunch of portability improvement patches coming from an effort to port |
| 18 | to Solaris has been applied. |
| Junio C Hamano | 8e22588 | 2008-03-03 18:59:28 | [diff] [blame] | 19 | |
| Junio C Hamano | e670d0d | 2008-02-17 20:14:59 | [diff] [blame] | 20 | (performance) |
| 21 | |
| 22 | * On platforms with suboptimal qsort(3) implementation, there |
| 23 | is an option to use more reasonable substitute we ship with |
| 24 | our software. |
| 25 | |
| 26 | * New configuration variable "pack.packsizelimit" can be used |
| 27 | in place of command line option --max-pack-size. |
| 28 | |
| 29 | * "git fetch" over the native git protocol used to make a |
| 30 | connection to find out the set of current remote refs and |
| 31 | another to actually download the pack data. We now use only |
| 32 | one connection for these tasks. |
| 33 | |
| 34 | * "git commit" does not run lstat(2) more than necessary |
| 35 | anymore. |
| 36 | |
| 37 | (usability, bells and whistles) |
| 38 | |
| Junio C Hamano | 4de61f82 | 2008-03-16 10:23:02 | [diff] [blame] | 39 | * Bash completion script (in contrib) are aware of more commands and |
| 40 | options. |
| 41 | |
| Junio C Hamano | e670d0d | 2008-02-17 20:14:59 | [diff] [blame] | 42 | * You can be warned when core.autocrlf conversion is applied in |
| 43 | such a way that results in an irreversible conversion. |
| 44 | |
| Junio C Hamano | 40f54d3 | 2008-02-29 09:21:50 | [diff] [blame] | 45 | * A catch-all "color.ui" configuration variable can be used to |
| 46 | enable coloring of all color-capable commands, instead of |
| 47 | individual ones such as "color.status" and "color.branch". |
| 48 | |
| 49 | * The commands refused to take absolute pathnames where they |
| 50 | require pathnames relative to the work tree or the current |
| 51 | subdirectory. They now can take absolute pathnames in such a |
| 52 | case as long as the pathnames do not refer outside of the |
| 53 | work tree. E.g. "git add $(pwd)/foo" now works. |
| 54 | |
| 55 | * Error messages used to be sent to stderr, only to get hidden, |
| 56 | when $PAGER was in use. They now are sent to stdout along |
| 57 | with the command output to be shown in the $PAGER. |
| 58 | |
| Junio C Hamano | e670d0d | 2008-02-17 20:14:59 | [diff] [blame] | 59 | * A pattern "foo/" in .gitignore file now matches a directory |
| 60 | "foo". Pattern "foo" also matches as before. |
| 61 | |
| Junio C Hamano | 40f54d3 | 2008-02-29 09:21:50 | [diff] [blame] | 62 | * bash completion's prompt helper function can talk about |
| 63 | operation in-progress (e.g. merge, rebase, etc.). |
| 64 | |
| 65 | * Configuration variables "url.<usethis>.insteadof = <otherurl>" can be |
| 66 | used to tell "git-fetch" and "git-push" to use different URL than what |
| 67 | is given from the command line. |
| 68 | |
| Junio C Hamano | 40f54d3 | 2008-02-29 09:21:50 | [diff] [blame] | 69 | * "git add -i" behaves better even before you make an initial commit. |
| 70 | |
| Junio C Hamano | 8e22588 | 2008-03-03 18:59:28 | [diff] [blame] | 71 | * "git am" refused to run from a subdirectory without a good reason. |
| 72 | |
| Junio C Hamano | 40f54d3 | 2008-02-29 09:21:50 | [diff] [blame] | 73 | * After "git apply --whitespace=fix" fixes whitespace errors in a patch, |
| 74 | a line before the fix can appear as a context or preimage line in a |
| 75 | later patch, causing the patch not to apply. The command now knows to |
| 76 | see through whitespace fixes done to context lines to successfully |
| 77 | apply such a patch series. |
| 78 | |
| 79 | * "git branch" (and "git checkout -b") to branch from a local branch can |
| 80 | optionally set "branch.<name>.merge" to mark the new branch to build on |
| 81 | the other local branch, when "branch.autosetupmerge" is set to |
| 82 | "always". By default, this does not happen when branching from a local |
| 83 | branch. |
| 84 | |
| 85 | * "git checkout" to switch to a branch that has "branch.<name>.merge" set |
| 86 | (i.e. marked to build on another branch) reports how much the branch |
| 87 | and the other branch diverged. |
| 88 | |
| 89 | * When "git checkout" has to update a lot of paths, it used to be silent |
| 90 | for 4 seconds before it showed any progress report. It is now a bit |
| 91 | more impatient and starts showing progress report early. |
| 92 | |
| 93 | * "git commit" learned a new hook "prepare-commit-msg" that can |
| 94 | inspect what is going to be committed and prepare the commit |
| 95 | log message template to be edited. |
| 96 | |
| Junio C Hamano | 8e22588 | 2008-03-03 18:59:28 | [diff] [blame] | 97 | * "git cvsimport" can now take more than one -M options. |
| 98 | |
| Junio C Hamano | e670d0d | 2008-02-17 20:14:59 | [diff] [blame] | 99 | * "git describe" learned to limit the tags to be used for |
| 100 | naming with --match option. |
| 101 | |
| 102 | * "git describe --contains" now barfs when the named commit |
| 103 | cannot be described. |
| 104 | |
| Junio C Hamano | 40f54d3 | 2008-02-29 09:21:50 | [diff] [blame] | 105 | * "git describe --exact-match" describes only commits that are tagged. |
| Junio C Hamano | e670d0d | 2008-02-17 20:14:59 | [diff] [blame] | 106 | |
| Junio C Hamano | 8e22588 | 2008-03-03 18:59:28 | [diff] [blame] | 107 | * "git describe --long" describes a tagged commit as $tag-0-$sha1, |
| 108 | instead of just showing the exact tagname. |
| 109 | |
| 110 | * "git describe" warns when using a tag whose name and path contradict |
| 111 | with each other. |
| 112 | |
| Junio C Hamano | 40f54d3 | 2008-02-29 09:21:50 | [diff] [blame] | 113 | * "git diff" learned "--relative" option to limit and output paths |
| 114 | relative to the current directory when working in a subdirectory. |
| 115 | |
| 116 | * "git diff" learned "--dirstat" option to show birds-eye-summary of |
| 117 | changes more concisely than "--diffstat". |
| 118 | |
| 119 | * "git format-patch" learned --cover-letter option to generate a cover |
| 120 | letter template. |
| 121 | |
| Junio C Hamano | 8e22588 | 2008-03-03 18:59:28 | [diff] [blame] | 122 | * "git gc" learned --quiet option. |
| 123 | |
| Junio C Hamano | 4de61f82 | 2008-03-16 10:23:02 | [diff] [blame] | 124 | * "git gc" now automatically prunes unreachable objects that are two |
| 125 | weeks old or older. |
| 126 | |
| Junio C Hamano | 25c0b70 | 2008-03-23 09:41:37 | [diff] [blame^] | 127 | * "git gc --auto" can be disabled more easily by just setting gc.auto |
| 128 | to zero. It also tolerates more packfiles by default. |
| 129 | |
| Junio C Hamano | 40f54d3 | 2008-02-29 09:21:50 | [diff] [blame] | 130 | * "git grep" now knows "--name-only" is a synonym for the "-l" option. |
| 131 | |
| 132 | * "git help <alias>" now reports "'git <alias>' is alias to <what>", |
| 133 | instead of saying "No manual entry for git-<alias>". |
| 134 | |
| Junio C Hamano | 4de61f82 | 2008-03-16 10:23:02 | [diff] [blame] | 135 | * "git help" can use different backends to show manual pages and this can |
| 136 | be configured using "man.viewer" configuration. |
| 137 | |
| 138 | * "gitk" does not restore window position from $HOME/.gitk anymore (it |
| 139 | still restores the size). |
| 140 | |
| Junio C Hamano | 40f54d3 | 2008-02-29 09:21:50 | [diff] [blame] | 141 | * "git log --grep=<what>" learned "--fixed-strings" option to look for |
| 142 | <what> without treating it as a regular expression. |
| Junio C Hamano | e670d0d | 2008-02-17 20:14:59 | [diff] [blame] | 143 | |
| 144 | * "git gui" learned an auto-spell checking. |
| 145 | |
| Junio C Hamano | 4de61f82 | 2008-03-16 10:23:02 | [diff] [blame] | 146 | * "git push <somewhere> HEAD" and "git push <somewhere> +HEAD" works as |
| 147 | expected; they push the current branch (and only the current branch). |
| 148 | In addition, HEAD can be written as the value of "remote.<there>.push" |
| 149 | configuration variable. |
| 150 | |
| 151 | * When the configuration variable "pack.threads" is set to 0, "git |
| 152 | repack" auto detects the number of CPUs and uses that many threads. |
| 153 | |
| Junio C Hamano | e670d0d | 2008-02-17 20:14:59 | [diff] [blame] | 154 | * "git send-email" learned to prompt for passwords |
| 155 | interactively. |
| 156 | |
| 157 | * "git send-email" learned an easier way to suppress CC |
| 158 | recipients. |
| 159 | |
| Junio C Hamano | 4de61f82 | 2008-03-16 10:23:02 | [diff] [blame] | 160 | * "git stash" learned "pop" command, that applies the latest stash and |
| 161 | removes it from the stash, and "drop" command to discard the named |
| 162 | stash entry. |
| 163 | |
| 164 | * "git submodule" learned a new subcommand "summary" to show the |
| 165 | symmetric difference between the HEAD version and the work tree version |
| 166 | of the submodule commits. |
| Junio C Hamano | 40f54d3 | 2008-02-29 09:21:50 | [diff] [blame] | 167 | |
| Junio C Hamano | e670d0d | 2008-02-17 20:14:59 | [diff] [blame] | 168 | * Various "git cvsimport", "git cvsexportcommit", "git svn" and |
| 169 | "git p4" improvements. |
| 170 | |
| 171 | (internal) |
| 172 | |
| 173 | * Duplicated code between git-help and git-instaweb that |
| 174 | launches user's preferred browser has been refactored. |
| 175 | |
| 176 | * It is now easier to write test scripts that records known |
| 177 | breakages. |
| 178 | |
| Junio C Hamano | 40f54d3 | 2008-02-29 09:21:50 | [diff] [blame] | 179 | * "git checkout" is rewritten in C. |
| 180 | |
| Junio C Hamano | 4de61f82 | 2008-03-16 10:23:02 | [diff] [blame] | 181 | * "git remote" is rewritten in C. |
| 182 | |
| Junio C Hamano | 40f54d3 | 2008-02-29 09:21:50 | [diff] [blame] | 183 | * Two conflict hunks that are separated by a very short span of common |
| 184 | lines are now coalesced into one larger hunk, to make the result easier |
| 185 | to read. |
| 186 | |
| 187 | * Run-command API's use of file descriptors is documented clearer and |
| 188 | is more consistent now. |
| 189 | |
| Junio C Hamano | 4de61f82 | 2008-03-16 10:23:02 | [diff] [blame] | 190 | * diff output can be sent to FILE * that is different from stdout. This |
| 191 | will help reimplementing more things in C. |
| Junio C Hamano | e670d0d | 2008-02-17 20:14:59 | [diff] [blame] | 192 | |
| 193 | Fixes since v1.5.4 |
| 194 | ------------------ |
| 195 | |
| 196 | All of the fixes in v1.5.4 maintenance series are included in |
| 197 | this release, unless otherwise noted. |
| 198 | |
| Junio C Hamano | 8e22588 | 2008-03-03 18:59:28 | [diff] [blame] | 199 | * "git-http-push" did not allow deletion of remote ref with the usual |
| 200 | "push <remote> :<branch>" syntax. |
| 201 | |
| Junio C Hamano | 8e22588 | 2008-03-03 18:59:28 | [diff] [blame] | 202 | * "git-rebase --abort" did not go back to the right location if |
| 203 | "git-reset" was run during the "git-rebase" session. |
| 204 | |
| Junio C Hamano | e670d0d | 2008-02-17 20:14:59 | [diff] [blame] | 205 | --- |
| 206 | exec >/var/tmp/1 |
| Junio C Hamano | 25c0b70 | 2008-03-23 09:41:37 | [diff] [blame^] | 207 | O=v1.5.5-rc1 |
| Junio C Hamano | e670d0d | 2008-02-17 20:14:59 | [diff] [blame] | 208 | echo O=`git describe refs/heads/master` |
| 209 | git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint |