Documentation / RelNotes-1.5.3.txton commit Don't fflush(stdout) when it's not helpful (06f59e9)
   1GIT v1.5.3 Release Notes
   2========================
   3
   4Updates since v1.5.2
   5--------------------
   6
   7* An initial interation of Porcelain level superproject support
   8  started to take shape.
   9
  10* Thee are a handful pack-objects changes to help you cope better with
  11  repositories with pathologically large blobs in them.
  12
  13* For people who need to import from Perforce, a front-end for
  14  fast-import is in contrib/fast-import/ now.
  15
  16* Comes with git-gui 0.8.0.
  17
  18* Comes with updated gitk.
  19
  20* New commands and options.
  21
  22  - "git log" learned a new option '--follow', to follow
  23    renaming history of a single file.
  24
  25  - "git-filter-branch" is a reborn cg-admin-rewritehist.
  26
  27  - "git-cvsserver" learned new options (--base-path, --export-all,
  28    --strict-paths) inspired by git-daemon.
  29
  30  - "git-submodule" command helps you manage the projects from
  31    the superproject that contain them.
  32
  33  - In addition to core.compression configuration option,
  34    core.loosecompression and pack.compression options can
  35    independently tweak zlib compression levels used for loose
  36    and packed objects.
  37
  38  - "git-ls-tree -l" shows size of blobs pointed at by the
  39    tree entries, similar to "/bin/ls -l".
  40
  41  - "git-rev-list" learned --regexp-ignore-case and
  42    --extended-regexp options to tweak its matching logic used
  43    for --grep fitering.
  44
  45  - "git-describe --contains" is a handier way to call more
  46    obscure command "git-name-rev --tags".
  47
  48  - "git gc --aggressive" tells the command to spend more cycles
  49    to optimize the repository harder.
  50
  51  - "git repack" can be told to split resulting packs to avoid
  52    exceeding limit specified with "--max-pack-size".
  53
  54  - "git fsck" gained --verbose option.  This is really really
  55    verbose but it might help you identify exact commit that is
  56    corrupt in your repository.
  57
  58  - "git format-patch" learned --numbered-files option.  This
  59    may be useful for MH users.
  60
  61  - "git tag -n -l" shows tag annotations while listing tags.
  62
  63  - "git cvsimport" can optionally use the separate-remote layout.
  64
  65  - "git blame" can be told to see through commits that changes
  66    whitespaces and indentation levels with "-w" option.
  67
  68  - "git send-email" can be told not to thread the messages when
  69    sending out more than one patches.
  70
  71  - "git config" learned NUL terminated output format via -z to
  72    help scripts.
  73
  74* Updated behavior of existing commands.
  75
  76  - "git mergetool" chooses its backend more wisely, taking
  77    notice of its environment such as use of X, Gnome/KDE, etc.
  78
  79  - "gitweb" shows merge commits a lot nicer than before.  The
  80    default view uses more compact --cc format, while the UI
  81    allows to choose normal diff with any parent.
  82
  83  - snapshot files "gitweb" creates from a repository at
  84    $path/$project/.git are more useful.  We use $project part
  85    in the filename, which we used to discard.
  86
  87  - "git cvsimort" creates lightweight tag; there is not any
  88    interesting information we can record in an annotated tag,
  89    and the handcrafted ones the old code created was not
  90    properly formed anyway.
  91
  92  - "git-push" pretends that you immediately fetched back from
  93    the remote by updating corresponding remote tracking
  94    branches if you have any.
  95
  96  - The diffstat given after a merge (or a pull) honors the
  97    color.diff configuration.
  98
  99  - "git-apply --whitespace=strip" removes blank lines added at
 100    the end of the file.
 101
 102  - "git-fetch" over git native protocols with -v shows connection
 103    status, and the IP address of the other end, to help
 104    diagnosing problems.
 105
 106  - We used to have core.legacyheaders configuration, when
 107    set to false, allowed git to write loose objects in a format
 108    that mimicks the format used by objects stored in packs.  It
 109    turns out that this was not so useful.  Although we will
 110    continue to read objects written in that format, we do not
 111    honor that configuration anymore and create loose objects in
 112    the legacy/traditional format.
 113
 114  - "--find-copies-harder" option to diff family can now be
 115    spelled as "-C -C" for brevity.
 116
 117  - "git-mailsplit" (hence "git-am") can read from Maildir
 118    formatted mailboxes.
 119
 120  - "git-cvsserver" does not barf upon seeing "cvs login"
 121    request.
 122
 123  - "pack-objects" honors "delta" attribute set in
 124    .gitattributes.  It does not attempt to deltify blobs that
 125    come from paths with delta attribute set to false.
 126
 127  - new-workdir script (in contrib) can now be used with a bare
 128    repository.
 129
 130  - "git-mergetool" learned to use gvimdiff.
 131
 132  - "gitview" (in contrib) has a better blame interface.
 133
 134  - "git log" and friends did not handle a commit log message
 135    that is larger than 16kB; they do now.
 136
 137  - "--pretty=oneline" output format for "git log" and friends
 138    deals with "malformed" commit log messages that have more
 139    than one lines in the first paragraph better.  We used to
 140    show the first line, cutting the title at mid-sentence; we
 141    concatenate them into a single line and treat the result as
 142    "oneline".
 143
 144* Builds
 145
 146  - old-style function definitions (most notably, a function
 147    without parameter defined with "func()", not "func(void)")
 148    have been eradicated.
 149
 150* Performance Tweaks
 151
 152  - git-pack-objects avoids re-deltification cost by caching
 153    small enough delta results it creates while looking for the
 154    best delta candidates.
 155
 156  - diff-delta code that is used for packing has been improved
 157    to work better on big files.
 158
 159  - when there are more than one pack files in the repository,
 160    the runtime used to try finding an object always from the
 161    newest packfile; it now tries the same packfile as we found
 162    the object requested the last time, which exploits the
 163    locality of references.
 164
 165  - verifying pack contents done by "git fsck --full" got boost
 166    by carefully choosing the order to verify objects in them.
 167
 168
 169Fixes since v1.5.2
 170------------------
 171
 172All of the fixes in v1.5.2 maintenance series are included in
 173this release, unless otherwise noted.
 174
 175* Bugfixes
 176
 177  - "gitweb" had trouble handling non UTF-8 text with older
 178    Encode.pm Perl module.
 179
 180--
 181exec >/var/tmp/1
 182O=v1.5.2.2-603-g7c85173
 183echo O=`git describe refs/heads/master`
 184git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint