"Fossies" - the Fresh Open Source Software Archive

Member "RelNotes/1.5.1.txt" (15 Dec 2018, 13288 Bytes) of package /linux/misc/git-htmldocs-2.20.1.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 GIT v1.5.1 Release Notes
    2 ========================
    3 
    4 Updates 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   - "git log" family learned a new traversal option --first-parent,
   90     which does what the name suggests.
   91 
   92 
   93 * Updated behavior of existing commands.
   94 
   95   - "git-merge-recursive" used to barf when there are more than
   96     one common ancestors for the merge, and merging them had a
   97     rename/rename conflict.  This has been fixed.
   98 
   99   - "git fsck" does not barf on corrupt loose objects.
  100 
  101   - "git rm" does not remove newly added files without -f.
  102 
  103   - "git archimport" allows remapping when coming up with git
  104     branch names from arch names.
  105 
  106   - git-svn got almost a rewrite.
  107 
  108   - core.autocrlf configuration, when set to 'true', makes git
  109     to convert CRLF at the end of lines in text files to LF when
  110     reading from the filesystem, and convert in reverse when
  111     writing to the filesystem.  The variable can be set to
  112     'input', in which case the conversion happens only while
  113     reading from the filesystem but files are written out with
  114     LF at the end of lines.  Currently, which paths to consider
  115     'text' (i.e. be subjected to the autocrlf mechanism) is
  116     decided purely based on the contents, but the plan is to
  117     allow users to explicitly override this heuristic based on
  118     paths.
  119 
  120   - The behavior of 'git-apply', when run in a subdirectory,
  121     without --index nor --cached were inconsistent with that of
  122     the command with these options.  This was fixed to match the
  123     behavior with --index.  A patch that is meant to be applied
  124     with -p1 from the toplevel of the project tree can be
  125     applied with any custom -p<n> option.  A patch that is not
  126     relative to the toplevel needs to be applied with -p<n>
  127     option with or without --index (or --cached).
  128 
  129   - "git diff" outputs a trailing HT when pathnames have embedded
  130     SP on +++/--- header lines, in order to help "GNU patch" to
  131     parse its output.  "git apply" was already updated to accept
  132     this modified output format since ce74618d (Sep 22, 2006).
  133 
  134   - "git cvsserver" runs hooks/update and honors its exit status.
  135 
  136   - "git cvsserver" can be told to send everything with -kb.
  137 
  138   - "git diff --check" also honors the --color output option.
  139 
  140   - "git name-rev" used to stress the fact that a ref is a tag too
  141     much, by saying something like "v1.2.3^0~22".  It now says
  142     "v1.2.3~22" in such a case (it still says "v1.2.3^0" if it does
  143     not talk about an ancestor of the commit that is tagged, which
  144     makes sense).
  145 
  146   - "git rev-list --boundary" now shows boundary markers for the
  147     commits omitted by --max-age and --max-count condition.
  148 
  149   - The configuration mechanism now reads $(prefix)/etc/gitconfig.
  150 
  151   - "git apply --verbose" shows what preimage lines were wanted
  152     when it couldn't find them.
  153 
  154   - "git status" in a read-only repository got a bit saner.
  155 
  156   - "git fetch" (hence "git clone" and "git pull") are less
  157     noisy when the output does not go to tty.
  158 
  159   - "git fetch" between repositories with many refs were slow
  160     even when there are not many changes that needed
  161     transferring.  This has been sped up by partially rewriting
  162     the heaviest parts in C.
  163 
  164   - "git mailinfo" which splits an e-mail into a patch and the
  165     meta-information was rewritten, thanks to Don Zickus.  It
  166     handles nested multipart better.  The command was broken for
  167     a brief period on 'master' branch since 1.5.0 but the
  168     breakage is fixed now.
  169 
  170   - send-email learned configurable bcc and chain-reply-to.
  171 
  172   - "git remote show $remote" also talks about branches that
  173     would be pushed if you run "git push remote".
  174 
  175   - Using objects from packs is now seriously optimized by clever
  176     use of a cache.  This should be most noticeable in git-log
  177     family of commands that involve reading many tree objects.
  178     In addition, traversing revisions while filtering changes
  179     with pathspecs is made faster by terminating the comparison
  180     between the trees as early as possible.
  181 
  182 
  183 * Hooks
  184 
  185   - The part to send out notification e-mails was removed from
  186     the sample update hook, as it was not an appropriate place
  187     to do so.  The proper place to do this is the new post-receive
  188     hook.  An example hook has been added to contrib/hooks/.
  189 
  190 
  191 * Others
  192 
  193   - git-revert, git-gc and git-cherry-pick are now built-ins.
  194 
  195 Fixes since v1.5.0
  196 ------------------
  197 
  198 These are all in v1.5.0.x series.
  199 
  200 * Documentation updates
  201 
  202   - Clarifications and corrections to 1.5.0 release notes.
  203 
  204   - The main documentation did not link to git-remote documentation.
  205 
  206   - Clarified introductory text of git-rebase documentation.
  207 
  208   - Converted remaining mentions of update-index on Porcelain
  209     documents to git-add/git-rm.
  210 
  211   - Some i18n.* configuration variables were incorrectly
  212     described as core.*; fixed.
  213 
  214   - added and clarified core.bare, core.legacyheaders configurations.
  215 
  216   - updated "git-clone --depth" documentation.
  217 
  218   - user-manual updates.
  219 
  220   - Options to 'git remote add' were described insufficiently.
  221 
  222   - Configuration format.suffix was not documented.
  223 
  224   - Other formatting and spelling fixes.
  225 
  226   - user-manual has better cross references.
  227 
  228   - gitweb installation/deployment procedure is now documented.
  229 
  230 
  231 * Bugfixes
  232 
  233   - git-upload-pack closes unused pipe ends; earlier this caused
  234     many zombies to hang around.
  235 
  236   - git-rerere was recording the contents of earlier hunks
  237     duplicated in later hunks.  This prevented resolving the same
  238     conflict when performing the same merge the other way around.
  239 
  240   - git-add and git-update-index on a filesystem on which
  241     executable bits are unreliable incorrectly reused st_mode
  242     bits even when the path changed between symlink and regular
  243     file.
  244 
  245   - git-daemon marks the listening sockets with FD_CLOEXEC so
  246     that it won't be leaked into the children.
  247 
  248   - segfault from git-blame when the mandatory pathname
  249     parameter was missing was fixed; usage() message is given
  250     instead.
  251 
  252   - git-rev-list did not read $GIT_DIR/config file, which means
  253     that did not honor i18n.logoutputencoding correctly.
  254 
  255   - Automated merge conflict handling when changes to symbolic
  256     links conflicted were completely broken.  The merge-resolve
  257     strategy created a regular file with conflict markers in it
  258     in place of the symbolic link.  The default strategy,
  259     merge-recursive was even more broken.  It removed the path
  260     that was pointed at by the symbolic link.  Both of these
  261     problems have been fixed.
  262 
  263   - 'git diff maint master next' did not correctly give combined
  264     diff across three trees.
  265 
  266   - 'git fast-import' portability fix for Solaris.
  267 
  268   - 'git show-ref --verify' without arguments did not error out
  269     but segfaulted.
  270 
  271   - 'git diff :tracked-file `pwd`/an-untracked-file' gave an extra
  272     slashes after a/ and b/.
  273 
  274   - 'git format-patch' produced too long filenames if the commit
  275     message had too long line at the beginning.
  276 
  277   - Running 'make all' and then without changing anything
  278     running 'make install' still rebuilt some files.  This
  279     was inconvenient when building as yourself and then
  280     installing as root (especially problematic when the source
  281     directory is on NFS and root is mapped to nobody).
  282 
  283   - 'git-rerere' failed to deal with two unconflicted paths that
  284     sorted next to each other.
  285 
  286   - 'git-rerere' attempted to open(2) a symlink and failed if
  287     there was a conflict.  Since a conflicting change to a
  288     symlink would not benefit from rerere anyway, the command
  289     now ignores conflicting changes to symlinks.
  290 
  291   - 'git-repack' did not like to pass more than 64 arguments
  292     internally to underlying 'rev-list' logic, which made it
  293     impossible to repack after accumulating many (small) packs
  294     in the repository.
  295 
  296   - 'git-diff' to review the combined diff during a conflicted
  297     merge were not reading the working tree version correctly
  298     when changes to a symbolic link conflicted.  It should have
  299     read the data using readlink(2) but read from the regular
  300     file the symbolic link pointed at.
  301 
  302   - 'git-remote' did not like period in a remote's name.
  303 
  304   - 'git.el' honors the commit coding system from the configuration.
  305 
  306   - 'blameview' in contrib/ correctly digs deeper when a line is
  307     clicked.
  308 
  309   - 'http-push' correctly makes sure the remote side has leading
  310     path.  Earlier it started in the middle of the path, and
  311     incorrectly.
  312 
  313   - 'git-merge' did not exit with non-zero status when the
  314     working tree was dirty and cannot fast forward.  It does
  315     now.
  316 
  317   - 'cvsexportcommit' does not lose yet-to-be-used message file.
  318 
  319   - int-vs-size_t typefix when running combined diff on files
  320     over 2GB long.
  321 
  322   - 'git apply --whitespace=strip' should not touch unmodified
  323     lines.
  324 
  325   - 'git-mailinfo' choke when a logical header line was too long.
  326 
  327   - 'git show A..B' did not error out.  Negative ref ("not A" in
  328     this example) does not make sense for the purpose of the
  329     command, so now it errors out.
  330 
  331   - 'git fmt-merge-msg --file' without file parameter did not
  332     correctly error out.
  333 
  334   - 'git archimport' barfed upon encountering a commit without
  335     summary.
  336 
  337   - 'git index-pack' did not protect itself from getting a short
  338     read out of pread(2).
  339 
  340   - 'git http-push' had a few buffer overruns.
  341 
  342   - Build dependency fixes to rebuild fetch.o when other headers
  343     change.
  344 
  345   - git.el does not add duplicate sign-off lines.
  346 
  347   - git-commit shows the full stat of the resulting commit, not
  348     just about the files in the current directory, when run from
  349     a subdirectory.
  350 
  351   - "git-checkout -m '@{8 hours ago}'" had a funny failure from
  352     eval; fixed.
  353 
  354   - git-merge (hence git-pull) did not refuse fast-forwarding
  355     when the working tree had local changes that would have
  356     conflicted with it.
  357 
  358   - a handful small fixes to gitweb.
  359 
  360   - build procedure for user-manual is fixed not to require locally
  361     installed stylesheets.
  362 
  363   - "git commit $paths" on paths whose earlier contents were
  364     already updated in the index were failing out.
  365 
  366 
  367 * Tweaks
  368 
  369   - sliding mmap() inefficiently mmaped the same region of a
  370     packfile with an access pattern that used objects in the
  371     reverse order.  This has been made more efficient.