Path to this page:
Subject: CVS commit: pkgsrc/devel
From: Adam Ciarcinski
Date: 2014-11-30 19:43:42
Message id: 20141130184342.27D8D98@cvs.netbsd.org
Log Message:
Changes 2.2.0:
Ports
* Building on older MacOS X systems automatically sets
the necessary NO_APPLE_COMMON_CRYPTO build-time option.
* Building with NO_PTHREADS has been resurrected.
* Compilation options have been updated a bit to better support the
z/OS port.
UI, Workflows & Features
* "git archive" learned to filter what gets archived with a pathspec.
* "git config --edit --global" starts from a skeletal per-user
configuration file contents, instead of a total blank, when the
user does not already have any global config. This immediately
reduces the need to later ask "Have you forgotten to set
core.user?", and we can add more to the template as we gain
more experience.
* "git stash list -p" used to be almost always a no-op because each
stash entry is represented as a merge commit. It learned to show
the difference between the base commit version and the working tree
version, which is in line with what "git stash show" gives.
* Sometimes users want to report a bug they experience on their
repository, but they are not at liberty to share the contents of
the repository. "fast-export" was taught an "--anonymize" \
option
to replace blob contents, names of people, paths and log
messages with bland and simple strings to help them.
* "git difftool" learned an option to stop feeding paths to the
diff backend when it exits with a non-zero status.
* "git grep" learned to paint (or not paint) partial matches on
context lines when showing "grep -C<num>" output in color.
* "log --date=iso" uses a slight variant of the ISO 8601 format that is
more human readable. A new "--date=iso-strict" option gives
datetime output that conforms more strictly.
* The logic "git prune" uses is more resilient against various corner
cases.
* A broken reimplementation of Git could write an invalid index that
records both stage 0 and higher-stage entries for the same path.
We now notice and reject such an index, as there is no sensible
fallback (we do not know if the broken tool wanted to resolve and
forgot to remove the higher-stage entries, or if it wanted to unresolve
and forgot to remove the stage 0 entry).
* The temporary files "git mergetool" uses are renamed to avoid too
many dots in them (e.g. a temporary file for "hello.c" used to be
named e.g. "hello.BASE.4321.c" but now uses underscore instead,
e.g. "hello_BASE_4321.c", to allow us to have multiple variants).
* The temporary files "git mergetool" uses can be placed in a newly
created temporary directory, instead of the current directory, by
setting the mergetool.writeToTemp configuration variable.
* "git mergetool" understands "--tool bc" now, as version 4 of
BeyondCompare can be driven the same way as its version 3 and it
feels awkward to say "--tool bc3" to run version 4.
* The "pre-receive" and "post-receive" hooks are no longer \
required
to consume their input fully (not following this requirement used
to result in intermittent errors in "git push").
* The pretty-format specifier "%d", which expands to " (tagname)"
for a tagged commit, gained a cousin "%D" that just gives the
"tagname" without frills.
* "git push" learned "--signed" push, that allows a push (i.e.
request to update the refs on the other side to point at a new
history, together with the transmission of necessary objects) to be
signed, so that it can be verified and audited, using the GPG
signature of the person who pushed, that the tips of branches at a
public repository really point the commits the pusher wanted to,
without having to "trust" the server.
* "git interpret-trailers" is a new filter to programmatically edit
the tail end of the commit log messages, e.g. "Signed-off-by:".
* "git help everyday" shows the "Everyday Git in 20 commands or \
so"
document, whose contents have been updated to match more modern
Git practice.
* On the "git svn" front, work progresses to reduce memory consumption and
to improve handling of mergeinfo.
Files: