Use diff* with --exit-code in git-am, git-rebase and git-merge-ours
[git/fastimport.git] / Documentation / RelNotes-1.5.1.txt
blobf78cf56bc8563681ab8851e88dd6158eabe98a9d
1 GIT v1.5.1 Release Notes
2 ========================
4 Updates since v1.5.0
5 --------------------
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.  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.
19   - "git diff" learned --ignore-space-at-eol.  This is a weaker
20     form of --ignore-space-change.
22   - "git diff --no-index pathA pathB" can be used as diff
23     replacement with git specific enhancements.
25   - "git diff --pretty=format:<string>" to allow more flexible
26     custom log output.
28   - "git diff --no-index" can read from '-' (standard input).
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.
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.
40   - "git format-patch --attach" now emits attachments.  Use
41     --inline to get an inlined multipart/mixed.
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.
47   - "git remote update" is to run "git fetch" for defined remotes
48     to update tracking branches.
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).
54   - "git bundle" can help sneaker-netting your changes between
55     repositories.
57   - "git mergetool" can help 3-way file-level conflict
58     resolution with your favorite graphical merge tools.
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.
65 * Updated behaviour of existing commands.
67   - "git fsck" does not barf on corrupt loose objects.
69   - "git archimport" allows remapping when coming up with git
70     branch names from arch names.
72   - git-svn got almost a rewrite.
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.
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).
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).
100   - "git cvsserver" runs hooks/update and honors its exit status.
102   - "git cvsserver" can be told to send everything with -kb.
104   - "git diff --check" also honors the --color output option.
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).
112   - "git rev-list --boundary" now shows boundary markers for the
113     commits omitted by --max-age and --max-count condition.
115   - The configuration mechanism now reads $(prefix)/etc/gitconfig.
117   - "git apply --verbose" shows what preimage lines were wanted
118     when it couldn't find them.
120   - "git status" in a read-only repository got a bit saner.
122   - "git fetch" (hence "git clone" and "git pull") are less
123     noisy when the output does not go to tty.
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.
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.
134   - send-email learned configurable bcc and chain-reply-to.
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.
144 * Hooks
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.
152 * Others
154   - git-revert, git-gc and git-cherry-pick are now built-ins.
158 exec >/var/tmp/1
159 O=v1.5.0.5-446-g5d86501
160 echo O=`git describe master`
161 git shortlog --no-merges $O..master ^maint
163 # Local Variables:
164 # mode: text
165 # End: