Documentation / RelNotes-1.5.1.txton commit git-rm: don't remove newly added file without -f (e4d9516)
   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
  90* Updated behaviour of existing commands.
  91
  92  - "git fsck" does not barf on corrupt loose objects.
  93
  94  - "git archimport" allows remapping when coming up with git
  95    branch names from arch names.
  96
  97  - git-svn got almost a rewrite.
  98
  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
 109    paths.
 110
 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).
 119
 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).
 124
 125  - "git cvsserver" runs hooks/update and honors its exit status.
 126
 127  - "git cvsserver" can be told to send everything with -kb.
 128
 129  - "git diff --check" also honors the --color output option.
 130
 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
 135    makes sense).
 136
 137  - "git rev-list --boundary" now shows boundary markers for the
 138    commits omitted by --max-age and --max-count condition.
 139
 140  - The configuration mechanism now reads $(prefix)/etc/gitconfig.
 141
 142  - "git apply --verbose" shows what preimage lines were wanted
 143    when it couldn't find them.
 144
 145  - "git status" in a read-only repository got a bit saner.
 146
 147  - "git fetch" (hence "git clone" and "git pull") are less
 148    noisy when the output does not go to tty.
 149
 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.
 154
 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.
 158
 159  - send-email learned configurable bcc and chain-reply-to.
 160
 161  - "git remote show $remote" also talks about branches that
 162    would be pushed if you run "git push remote".
 163
 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.
 170
 171
 172* Hooks
 173
 174  - The part to send out notification e-mails was removed from
 175    the sample update hook, as it was not an appropriate place
 176    to do so.
 177
 178
 179* Others
 180
 181  - git-revert, git-gc and git-cherry-pick are now built-ins.
 182
 183
 184--
 185exec >/var/tmp/1
 186O=v1.5.1-rc1-63-g12d6697
 187echo O=`git describe master`
 188git shortlog --no-merges $O..master ^maint
 189
 190# Local Variables:
 191# mode: text
 192# End: