1 GIT v1.5.1 Release Notes
2 ========================
7 * Deprecated commands and options.
9 - git-diff-stages and git-resolve have been removed.
11 * New commands and options.
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.
20 - "git log --pretty=format:<string>" to allow more flexible
23 - "git diff" learned --ignore-space-at-eol. This is a weaker
24 form of --ignore-space-change.
26 - "git diff --no-index pathA pathB" can be used as diff
27 replacement with git specific enhancements.
29 - "git diff --no-index" can read from '-' (standard input).
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
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.
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.
45 - "git log" and "git rev-list" has been optimized
46 significantly when they are used with pathspecs.
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.
52 - "git format-patch --attach" now emits attachments. Use
53 --inline to get an inlined multipart/mixed.
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.
59 - "git remote update" is to run "git fetch" for defined remotes
60 to update tracking branches.
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).
66 - "git bundle" can help sneaker-netting your changes between
69 - "git mergetool" can help 3-way file-level conflict
70 resolution with your favorite graphical merge tools.
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.
76 - You can name a commit object with its first line of the
77 message. The syntax to use is ':/message text'. E.g.
79 $ git show ":/object name: introduce ':/<oneline prefix>' notation"
81 means the same thing as:
83 $ git show 28a4d940443806412effa246ecc7768a21553ec7
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.
90 * Updated behaviour of existing commands.
92 - "git fsck" does not barf on corrupt loose objects.
94 - "git archimport" allows remapping when coming up with git
95 branch names from arch names.
97 - git-svn got almost a rewrite.
99 - core.autocrlf configuration, when set to 'true', makes git
100 to convert CRLF at the end of lines in text files to LF when
101 reading from the filesystem, and convert in reverse when
102 writing to the filesystem. The variable can be set to
103 'input', in which case the conversion happens only while
104 reading from the filesystem but files are written out with
105 LF at the end of lines. Currently, which paths to consider
106 'text' (i.e. be subjected to the autocrlf mechanism) is
107 decided purely based on the contents, but the plan is to
108 allow users to explicitly override this heuristic based on
111 - The behaviour of 'git-apply', when run in a subdirectory,
112 without --index nor --cached were inconsistent with that of
113 the command with these options. This was fixed to match the
114 behaviour with --index. A patch that is meant to be applied
115 with -p1 from the toplevel of the project tree can be
116 applied with any custom -p<n> option. A patch that is not
117 relative to the toplevel needs to be applied with -p<n>
118 option with or without --index (or --cached).
120 - "git diff" outputs a trailing HT when pathnames have embedded
121 SP on +++/--- header lines, in order to help "GNU patch" to
122 parse its output. "git apply" was already updated to accept
123 this modified output format since ce74618d (Sep 22, 2006).
125 - "git cvsserver" runs hooks/update and honors its exit status.
127 - "git cvsserver" can be told to send everything with -kb.
129 - "git diff --check" also honors the --color output option.
131 - "git name-rev" used to stress the fact that a ref is a tag too
132 much, by saying something like "v1.2.3^0~22". It now says
133 "v1.2.3~22" in such a case (it still says "v1.2.3^0" if it does
134 not talk about an ancestor of the commit that is tagged, which
137 - "git rev-list --boundary" now shows boundary markers for the
138 commits omitted by --max-age and --max-count condition.
140 - The configuration mechanism now reads $(prefix)/etc/gitconfig.
142 - "git apply --verbose" shows what preimage lines were wanted
143 when it couldn't find them.
145 - "git status" in a read-only repository got a bit saner.
147 - "git fetch" (hence "git clone" and "git pull") are less
148 noisy when the output does not go to tty.
150 - "git fetch" between repositories with many refs were slow
151 even when there are not many changes that needed
152 transferring. This has been sped up by partially rewriting
153 the heaviest parts in C.
155 - "git mailinfo" which splits an e-mail into a patch and the
156 metainformation was rewritten, thanks to Don Zickus. It
157 handles nested multipart better.
159 - send-email learned configurable bcc and chain-reply-to.
161 - "git remote show $remote" also talks about branches that
162 would be pushed if you run "git push remote".
164 - Using objects from packs is now seriouly optimized by clever
165 use of a cache. This should be most noticeable in git-log
166 family of commands that involve reading many tree objects.
167 In addition, traversing revisions while filtering changes
168 with pathspecs is made faster by terminating the comparison
169 between the trees as early as possible.
174 - The part to send out notification e-mails was removed from
175 the sample update hook, as it was not an appropriate place
181 - git-revert, git-gc and git-cherry-pick are now built-ins.
186 O=v1.5.1-rc1-63-g12d6697
187 echo O=`git describe master`
188 git shortlog --no-merges $O..master ^maint