2007-02-14 09:45:24 +01:00
|
|
|
GIT v1.5.1 Release Notes
|
|
|
|
========================
|
|
|
|
|
|
|
|
Updates since v1.5.0
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
* Deprecated commands and options.
|
|
|
|
|
|
|
|
- git-diff-stages and git-resolve have been removed.
|
|
|
|
|
|
|
|
* New commands and options.
|
|
|
|
|
2007-03-26 03:00:45 +02:00
|
|
|
- "git log" and friends take --reverse, which instructs them
|
|
|
|
to give their output in the order opposite from their usual.
|
|
|
|
They typically output from new to old, but with this option
|
|
|
|
their output would read from old to new. "git shortlog"
|
|
|
|
usually lists older commits first, but with this option,
|
|
|
|
they are shown from new to old.
|
|
|
|
|
|
|
|
- "git log --pretty=format:<string>" to allow more flexible
|
|
|
|
custom log output.
|
2007-02-14 09:45:24 +01:00
|
|
|
|
|
|
|
- "git diff" learned --ignore-space-at-eol. This is a weaker
|
|
|
|
form of --ignore-space-change.
|
|
|
|
|
2007-03-01 00:06:38 +01:00
|
|
|
- "git diff --no-index pathA pathB" can be used as diff
|
|
|
|
replacement with git specific enhancements.
|
|
|
|
|
2007-03-19 10:28:29 +01:00
|
|
|
- "git diff --no-index" can read from '-' (standard input).
|
|
|
|
|
|
|
|
- "git diff" also learned --exit-code to exit with non-zero
|
|
|
|
status when it found differences. In the future we might
|
|
|
|
want to make this the default but that would be a rather big
|
|
|
|
backward incompatible change; it will stay as an option for
|
|
|
|
now.
|
|
|
|
|
2007-03-26 03:00:45 +02:00
|
|
|
- "git diff --quiet" is --exit-code with output turned off,
|
|
|
|
meant for scripted use to quickly determine if there is any
|
|
|
|
tree-level difference.
|
|
|
|
|
|
|
|
- Textual patch generation with "git diff" without -w/-b
|
|
|
|
option has been significantly optimized. "git blame" got
|
|
|
|
faster because of the same change.
|
|
|
|
|
|
|
|
- "git log" and "git rev-list" has been optimized
|
|
|
|
significantly when they are used with pathspecs.
|
|
|
|
|
2007-03-19 10:28:29 +01:00
|
|
|
- "git branch --track" can be used to set up configuration
|
|
|
|
variables to help it easier to base your work on branches
|
|
|
|
you track from a remote site.
|
|
|
|
|
|
|
|
- "git format-patch --attach" now emits attachments. Use
|
|
|
|
--inline to get an inlined multipart/mixed.
|
|
|
|
|
2007-02-18 00:50:36 +01:00
|
|
|
- "git name-rev" learned --refs=<pattern>, to limit the tags
|
|
|
|
used for naming the given revisions only to the ones
|
|
|
|
matching the given pattern.
|
|
|
|
|
2007-03-01 00:06:38 +01:00
|
|
|
- "git remote update" is to run "git fetch" for defined remotes
|
|
|
|
to update tracking branches.
|
|
|
|
|
|
|
|
- "git cvsimport" can now take '-d' to talk with a CVS
|
|
|
|
repository different from what are recorded in CVS/Root
|
|
|
|
(overriding it with environment CVSROOT does not work).
|
|
|
|
|
|
|
|
- "git bundle" can help sneaker-netting your changes between
|
|
|
|
repositories.
|
|
|
|
|
2007-03-19 10:28:29 +01:00
|
|
|
- "git mergetool" can help 3-way file-level conflict
|
|
|
|
resolution with your favorite graphical merge tools.
|
|
|
|
|
2007-03-05 07:49:10 +01:00
|
|
|
- A new configuration "core.symlinks" can be used to disable
|
|
|
|
symlinks on filesystems that do not support them; they are
|
|
|
|
checked out as regular files instead.
|
|
|
|
|
2007-03-26 03:00:45 +02:00
|
|
|
- You can name a commit object with its first line of the
|
|
|
|
message. The syntax to use is ':/message text'. E.g.
|
|
|
|
|
|
|
|
$ git show ":/object name: introduce ':/<oneline prefix>' notation"
|
|
|
|
|
|
|
|
means the same thing as:
|
|
|
|
|
|
|
|
$ git show 28a4d940443806412effa246ecc7768a21553ec7
|
|
|
|
|
|
|
|
- "git bisect" learned a new command "run" that takes a script
|
|
|
|
to run after each revision is checked out to determine if it
|
|
|
|
is good or bad, to automate the bisection process.
|
|
|
|
|
2007-03-30 09:56:36 +02:00
|
|
|
- "git log" family learned a new traversal option --first-parent,
|
|
|
|
which does what the name suggests.
|
|
|
|
|
2007-03-01 00:06:38 +01:00
|
|
|
|
2007-04-02 22:29:38 +02:00
|
|
|
* Updated behavior of existing commands.
|
|
|
|
|
|
|
|
- "git-merge-recursive" used to barf when there are more than
|
|
|
|
one common ancestors for the merge, and merging them had a
|
|
|
|
rename/rename conflict. This has been fixed.
|
2007-02-14 09:45:24 +01:00
|
|
|
|
2007-03-19 10:28:29 +01:00
|
|
|
- "git fsck" does not barf on corrupt loose objects.
|
|
|
|
|
2007-03-30 09:56:36 +02:00
|
|
|
- "git rm" does not remove newly added files without -f.
|
|
|
|
|
2007-03-19 10:28:29 +01:00
|
|
|
- "git archimport" allows remapping when coming up with git
|
|
|
|
branch names from arch names.
|
|
|
|
|
2007-03-01 00:06:38 +01:00
|
|
|
- git-svn got almost a rewrite.
|
|
|
|
|
|
|
|
- core.autocrlf configuration, when set to 'true', makes git
|
|
|
|
to convert CRLF at the end of lines in text files to LF when
|
|
|
|
reading from the filesystem, and convert in reverse when
|
|
|
|
writing to the filesystem. The variable can be set to
|
|
|
|
'input', in which case the conversion happens only while
|
|
|
|
reading from the filesystem but files are written out with
|
|
|
|
LF at the end of lines. Currently, which paths to consider
|
|
|
|
'text' (i.e. be subjected to the autocrlf mechanism) is
|
|
|
|
decided purely based on the contents, but the plan is to
|
2007-03-01 06:14:23 +01:00
|
|
|
allow users to explicitly override this heuristic based on
|
2007-03-01 00:06:38 +01:00
|
|
|
paths.
|
|
|
|
|
2007-04-02 22:29:38 +02:00
|
|
|
- The behavior of 'git-apply', when run in a subdirectory,
|
2007-03-01 00:06:38 +01:00
|
|
|
without --index nor --cached were inconsistent with that of
|
|
|
|
the command with these options. This was fixed to match the
|
2007-04-02 22:29:38 +02:00
|
|
|
behavior with --index. A patch that is meant to be applied
|
2007-03-01 00:06:38 +01:00
|
|
|
with -p1 from the toplevel of the project tree can be
|
|
|
|
applied with any custom -p<n> option. A patch that is not
|
|
|
|
relative to the toplevel needs to be applied with -p<n>
|
|
|
|
option with or without --index (or --cached).
|
|
|
|
|
2007-02-18 00:50:36 +01:00
|
|
|
- "git diff" outputs a trailing HT when pathnames have embedded
|
|
|
|
SP on +++/--- header lines, in order to help "GNU patch" to
|
|
|
|
parse its output. "git apply" was already updated to accept
|
|
|
|
this modified output format since ce74618d (Sep 22, 2006).
|
2007-02-14 09:45:24 +01:00
|
|
|
|
2007-03-01 00:06:38 +01:00
|
|
|
- "git cvsserver" runs hooks/update and honors its exit status.
|
|
|
|
|
|
|
|
- "git cvsserver" can be told to send everything with -kb.
|
|
|
|
|
|
|
|
- "git diff --check" also honors the --color output option.
|
|
|
|
|
|
|
|
- "git name-rev" used to stress the fact that a ref is a tag too
|
|
|
|
much, by saying something like "v1.2.3^0~22". It now says
|
|
|
|
"v1.2.3~22" in such a case (it still says "v1.2.3^0" if it does
|
|
|
|
not talk about an ancestor of the commit that is tagged, which
|
|
|
|
makes sense).
|
|
|
|
|
|
|
|
- "git rev-list --boundary" now shows boundary markers for the
|
|
|
|
commits omitted by --max-age and --max-count condition.
|
|
|
|
|
|
|
|
- The configuration mechanism now reads $(prefix)/etc/gitconfig.
|
|
|
|
|
|
|
|
- "git apply --verbose" shows what preimage lines were wanted
|
|
|
|
when it couldn't find them.
|
|
|
|
|
|
|
|
- "git status" in a read-only repository got a bit saner.
|
|
|
|
|
2007-03-05 07:49:10 +01:00
|
|
|
- "git fetch" (hence "git clone" and "git pull") are less
|
|
|
|
noisy when the output does not go to tty.
|
|
|
|
|
2007-03-19 10:28:29 +01:00
|
|
|
- "git fetch" between repositories with many refs were slow
|
|
|
|
even when there are not many changes that needed
|
|
|
|
transferring. This has been sped up by partially rewriting
|
|
|
|
the heaviest parts in C.
|
|
|
|
|
|
|
|
- "git mailinfo" which splits an e-mail into a patch and the
|
2007-04-02 22:29:38 +02:00
|
|
|
meta-information was rewritten, thanks to Don Zickus. It
|
|
|
|
handles nested multipart better. The command was broken for
|
|
|
|
a brief period on 'master' branch since 1.5.0 but the
|
|
|
|
breakage is fixed now.
|
2007-03-19 10:28:29 +01:00
|
|
|
|
|
|
|
- send-email learned configurable bcc and chain-reply-to.
|
|
|
|
|
2007-03-26 03:00:45 +02:00
|
|
|
- "git remote show $remote" also talks about branches that
|
|
|
|
would be pushed if you run "git push remote".
|
|
|
|
|
2007-04-02 22:29:38 +02:00
|
|
|
- Using objects from packs is now seriously optimized by clever
|
2007-03-19 10:28:29 +01:00
|
|
|
use of a cache. This should be most noticeable in git-log
|
|
|
|
family of commands that involve reading many tree objects.
|
|
|
|
In addition, traversing revisions while filtering changes
|
|
|
|
with pathspecs is made faster by terminating the comparison
|
|
|
|
between the trees as early as possible.
|
|
|
|
|
|
|
|
|
2007-02-14 09:45:24 +01:00
|
|
|
* Hooks
|
|
|
|
|
2007-03-26 03:00:45 +02:00
|
|
|
- The part to send out notification e-mails was removed from
|
|
|
|
the sample update hook, as it was not an appropriate place
|
2007-04-02 22:29:38 +02:00
|
|
|
to do so. The proper place to do this is the new post-receive
|
|
|
|
hook. An example hook has been added to contrib/hooks/.
|
2007-02-14 09:45:24 +01:00
|
|
|
|
2007-03-19 10:28:29 +01:00
|
|
|
|
|
|
|
* Others
|
|
|
|
|
|
|
|
- git-revert, git-gc and git-cherry-pick are now built-ins.
|
|
|
|
|
|
|
|
|
2007-02-14 09:45:24 +01:00
|
|
|
--
|
2007-02-18 00:50:36 +01:00
|
|
|
exec >/var/tmp/1
|
2007-04-02 22:29:38 +02:00
|
|
|
O=v1.5.1-rc3-29-gd8b6a1a
|
2007-02-14 09:45:24 +01:00
|
|
|
echo O=`git describe master`
|
2007-02-18 00:50:36 +01:00
|
|
|
git shortlog --no-merges $O..master ^maint
|
2007-03-01 00:06:38 +01:00
|
|
|
|
|
|
|
# Local Variables:
|
|
|
|
# mode: text
|
|
|
|
# End:
|