1GIT v1.5.1 Release Notes 2======================== 3 4Updates since v1.5.0 5-------------------- 6 7* Deprecated commands and options. 8 9 - git-diff-stages and git-resolve have been removed. 10 11* New commands and options. 12 13 - "git log" and friends take --reverse, which instructs them 14 to give their output in the order opposite from their usual. 15 They typically output from new to old, but with this option 16 their output would read from old to new. "git shortlog" 17 usually lists older commits first, but with this option, 18 they are shown from new to old. 19 20 - "git log --pretty=format:<string>" to allow more flexible 21 custom log output. 22 23 - "git diff" learned --ignore-space-at-eol. This is a weaker 24 form of --ignore-space-change. 25 26 - "git diff --no-index pathA pathB" can be used as diff 27 replacement with git specific enhancements. 28 29 - "git diff --no-index" can read from '-' (standard input). 30 31 - "git diff" also learned --exit-code to exit with non-zero 32 status when it found differences. In the future we might 33 want to make this the default but that would be a rather big 34 backward incompatible change; it will stay as an option for 35 now. 36 37 - "git diff --quiet" is --exit-code with output turned off, 38 meant for scripted use to quickly determine if there is any 39 tree-level difference. 40 41 - Textual patch generation with "git diff" without -w/-b 42 option has been significantly optimized. "git blame" got 43 faster because of the same change. 44 45 - "git log" and "git rev-list" has been optimized 46 significantly when they are used with pathspecs. 47 48 - "git branch --track" can be used to set up configuration 49 variables to help it easier to base your work on branches 50 you track from a remote site. 51 52 - "git format-patch --attach" now emits attachments. Use 53 --inline to get an inlined multipart/mixed. 54 55 - "git name-rev" learned --refs=<pattern>, to limit the tags 56 used for naming the given revisions only to the ones 57 matching the given pattern. 58 59 - "git remote update" is to run "git fetch" for defined remotes 60 to update tracking branches. 61 62 - "git cvsimport" can now take '-d' to talk with a CVS 63 repository different from what are recorded in CVS/Root 64 (overriding it with environment CVSROOT does not work). 65 66 - "git bundle" can help sneaker-netting your changes between 67 repositories. 68 69 - "git mergetool" can help 3-way file-level conflict 70 resolution with your favorite graphical merge tools. 71 72 - A new configuration "core.symlinks" can be used to disable 73 symlinks on filesystems that do not support them; they are 74 checked out as regular files instead. 75 76 - You can name a commit object with its first line of the 77 message. The syntax to use is ':/message text'. E.g. 78 79 $ git show ":/object name: introduce ':/<oneline prefix>' notation" 80 81 means the same thing as: 82 83 $ git show 28a4d940443806412effa246ecc7768a21553ec7 84 85 - "git bisect" learned a new command "run" that takes a script 86 to run after each revision is checked out to determine if it 87 is good or bad, to automate the bisection process. 88 89 - "git log" family learned a new traversal option --first-parent, 90 which does what the name suggests. 91 92 93* Updated behaviour of existing commands. 94 95 - "git fsck" does not barf on corrupt loose objects. 96 97 - "git rm" does not remove newly added files without -f. 98 99 - "git archimport" allows remapping when coming up with git 100 branch names from arch names. 101 102 - git-svn got almost a rewrite. 103 104 - core.autocrlf configuration, when set to 'true', makes git 105 to convert CRLF at the end of lines in text files to LF when 106 reading from the filesystem, and convert in reverse when 107 writing to the filesystem. The variable can be set to 108 'input', in which case the conversion happens only while 109 reading from the filesystem but files are written out with 110 LF at the end of lines. Currently, which paths to consider 111 'text' (i.e. be subjected to the autocrlf mechanism) is 112 decided purely based on the contents, but the plan is to 113 allow users to explicitly override this heuristic based on 114 paths. 115 116 - The behaviour of 'git-apply', when run in a subdirectory, 117 without --index nor --cached were inconsistent with that of 118 the command with these options. This was fixed to match the 119 behaviour with --index. A patch that is meant to be applied 120 with -p1 from the toplevel of the project tree can be 121 applied with any custom -p<n> option. A patch that is not 122 relative to the toplevel needs to be applied with -p<n> 123 option with or without --index (or --cached). 124 125 - "git diff" outputs a trailing HT when pathnames have embedded 126 SP on +++/--- header lines, in order to help "GNU patch" to 127 parse its output. "git apply" was already updated to accept 128 this modified output format since ce74618d (Sep 22, 2006). 129 130 - "git cvsserver" runs hooks/update and honors its exit status. 131 132 - "git cvsserver" can be told to send everything with -kb. 133 134 - "git diff --check" also honors the --color output option. 135 136 - "git name-rev" used to stress the fact that a ref is a tag too 137 much, by saying something like "v1.2.3^0~22". It now says 138 "v1.2.3~22" in such a case (it still says "v1.2.3^0" if it does 139 not talk about an ancestor of the commit that is tagged, which 140 makes sense). 141 142 - "git rev-list --boundary" now shows boundary markers for the 143 commits omitted by --max-age and --max-count condition. 144 145 - The configuration mechanism now reads $(prefix)/etc/gitconfig. 146 147 - "git apply --verbose" shows what preimage lines were wanted 148 when it couldn't find them. 149 150 - "git status" in a read-only repository got a bit saner. 151 152 - "git fetch" (hence "git clone" and "git pull") are less 153 noisy when the output does not go to tty. 154 155 - "git fetch" between repositories with many refs were slow 156 even when there are not many changes that needed 157 transferring. This has been sped up by partially rewriting 158 the heaviest parts in C. 159 160 - "git mailinfo" which splits an e-mail into a patch and the 161 metainformation was rewritten, thanks to Don Zickus. It 162 handles nested multipart better. 163 164 - send-email learned configurable bcc and chain-reply-to. 165 166 - "git remote show $remote" also talks about branches that 167 would be pushed if you run "git push remote". 168 169 - Using objects from packs is now seriouly optimized by clever 170 use of a cache. This should be most noticeable in git-log 171 family of commands that involve reading many tree objects. 172 In addition, traversing revisions while filtering changes 173 with pathspecs is made faster by terminating the comparison 174 between the trees as early as possible. 175 176 177* Hooks 178 179 - The part to send out notification e-mails was removed from 180 the sample update hook, as it was not an appropriate place 181 to do so. 182 183 184* Others 185 186 - git-revert, git-gc and git-cherry-pick are now built-ins. 187 188 189-- 190exec >/var/tmp/1 191O=v1.5.1-rc3-18-ge881192 192echo O=`git describe master` 193git shortlog --no-merges $O..master ^maint 194 195# Local Variables: 196# mode: text 197# End: