Documentation / RelNotes-1.5.2.txton commit Split out mailmap handling out of shortlog (7c1c678)
   1GIT v1.5.2 Release Notes (draft)
   2========================
   3
   4Updates since v1.5.1
   5--------------------
   6
   7* Plumbing level subproject support.
   8
   9  You can include a subdirectory that has an independent git
  10  repository in your index and tree objects as a
  11  "subproject".  This plumbing (i.e. "core") level subproject
  12  support explicitly excludes recursive behaviour.
  13
  14  The "subproject" entries in the index and trees are
  15  incompatible with older versions of git.  Experimenting with
  16  the plumbing level support is encouraged, but be warned that
  17  unless everybody in your project updates to this release or
  18  later, using this feature would make your project
  19  inaccessible by people with older versions of git.
  20
  21* Plumbing level gitattributes support.
  22
  23  The gitattributes mechanism allows you to add 'attributes' to
  24  paths in your project, and affect the way certain git
  25  operations work.  Currently you can influence if a path is
  26  considered a binary or text (the former would be treated by
  27  'git diff' not to produce textual output; the latter can go
  28  through the line endings conversion process in repositories
  29  with core.autocrlf set), and specify a custom 3-way merge
  30  driver.
  31
  32* The packfile format now optionally suports 64-bit index.
  33
  34  This release supports the "version 2" format of the .idx
  35  file.  This is automatically enabled when a huge packfile
  36  needs more than 32-bit to express offsets of objects in the
  37  pack
  38
  39* New commands and options.
  40
  41  - "git bisect start" can optionally take a single bad commit and
  42    zero or more good commits on the command line.
  43
  44  - "git shortlog" can optionally be told to wrap its output.
  45
  46  - "subtree" merge strategy allows another project to be merged in as
  47    your subdirectory.
  48
  49  - "git format-patch" learned a new --subject-prefix=<string>
  50    option, to override the built-in "[PATCH]".
  51
  52  - "git add -u" is a quick way to do the first stage of "git
  53    commit -a" (i.e. update the index to match the working
  54    tree); it obviously does not make a commit.
  55
  56* Updated behavior of existing commands.
  57
  58  - "git diff --stat" shows size of preimage and postimage blobs
  59    for binary contents.  Earlier it only said "Bin".
  60
  61  - "git lost-found" shows stuff that are unreachable except
  62    from reflogs.
  63
  64  - "git checkout branch^0" now detaches HEAD at the tip commit
  65    on the named branch, instead of just switching to the
  66    branch (use "git checkout branch" to switch to the branch,
  67    as before).
  68
  69  - "git bisect next" can be used after giving only a bad commit
  70    without giving a good one (this starts bisection half-way to
  71    the root commit).  We used to refuse to operate without a
  72    good and a bad commit.
  73
  74  - "git push", when pushing into more than one repository, does
  75    not stop at the first error.
  76
  77  - "git archive" does not insist you to give --format parameter
  78    anymore; it defaults to "tar".
  79
  80  - "git cvsserver" can use backends other than sqlite.
  81
  82  - "gitview" (in contrib/ section) learned to better support
  83    "git-annotate".
  84
  85  - Local "git fetch" from a repository whose object store is
  86    one of the alternates (e.g. fetching from the origin in a
  87    repository created with "git clone -l -s") avoids
  88    downloading objects unnecessary.
  89
  90* Builds
  91
  92  - git-p4import has never been installed; now there is an
  93    installation option to do so.
  94
  95  - gitk and git-gui can be configured out.
  96
  97  - Generated documentation pages automatically get version
  98    information from GIT_VERSION
  99
 100  - Parallel build with "make -j" descending into subdirectory
 101    was fixed.
 102
 103* Performance Tweaks
 104
 105  - optimized "git-rev-list --bisect" (hence "git-bisect").
 106
 107  - optimized "git-add $path" in a large directory, most of
 108    whose contents are ignored.
 109
 110
 111Fixes since v1.5.1
 112------------------
 113
 114All of the fixes in v1.5.1 maintenance series are included in
 115this release, unless otherwise noted.
 116
 117* Bugfixes
 118
 119  - Switching branches with "git checkout" refused to work when
 120    a path changes from a file to a directory between the
 121    current branch and the new branch, in order not to lose
 122    possible local changes in the directory that is being turned
 123    into a file with the switch.  We now allow such a branch
 124    switch after making sure that there is no locally modified
 125    file nor un-ignored file in the directory.  This has not
 126    been backported to 1.5.1.x series, as it is rather an
 127    intrusive change.
 128
 129  - Merging branches that have a file in one and a directory in
 130    another at the same path used to get quite confused.  We
 131    handle such a case a bit more carefully, even though that is
 132    still left as a conflict for the user to sort out.  This
 133    will not be backported to 1.5.1.x series, as it is rather an
 134    intrusive change.
 135
 136* Documentation updates
 137
 138* Performance Tweaks
 139
 140--
 141exec >/var/tmp/1
 142O=v1.5.1.2-242-g2d76548
 143echo O=`git describe refs/heads/master`
 144git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint