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