495 lines
		
	
	
	
		
			22 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			495 lines
		
	
	
	
		
			22 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
Git v1.8.2 Release Notes
 | 
						|
========================
 | 
						|
 | 
						|
Backward compatibility notes (this release)
 | 
						|
-------------------------------------------
 | 
						|
 | 
						|
"git push $there tag v1.2.3" used to allow replacing a tag v1.2.3
 | 
						|
that already exists in the repository $there, if the rewritten tag
 | 
						|
you are pushing points at a commit that is a descendant of a commit
 | 
						|
that the old tag v1.2.3 points at.  This was found to be error prone
 | 
						|
and starting with this release, any attempt to update an existing
 | 
						|
ref under refs/tags/ hierarchy will fail, without "--force".
 | 
						|
 | 
						|
When "git add -u" and "git add -A" that does not specify what paths
 | 
						|
to add on the command line is run from inside a subdirectory, the
 | 
						|
scope of the operation has always been limited to the subdirectory.
 | 
						|
Many users found this counter-intuitive, given that "git commit -a"
 | 
						|
and other commands operate on the entire tree regardless of where you
 | 
						|
are.  In this release, these commands give a warning message that
 | 
						|
suggests the users to use "git add -u/-A ." when they want to limit
 | 
						|
the scope to the current directory; doing so will squelch the message,
 | 
						|
while training their fingers.
 | 
						|
 | 
						|
 | 
						|
Backward compatibility notes (for Git 2.0)
 | 
						|
------------------------------------------
 | 
						|
 | 
						|
When "git push [$there]" does not say what to push, we have used the
 | 
						|
traditional "matching" semantics so far (all your branches were sent
 | 
						|
to the remote as long as there already are branches of the same name
 | 
						|
over there).  In Git 2.0, the default will change to the "simple"
 | 
						|
semantics that pushes the current branch to the branch with the same
 | 
						|
name, only when the current branch is set to integrate with that
 | 
						|
remote branch.  There is a user preference configuration variable
 | 
						|
"push.default" to change this.  If you are an old-timer who is used
 | 
						|
to the "matching" semantics, you can set it to "matching" to keep the
 | 
						|
traditional behaviour.  If you want to live in the future early,
 | 
						|
you can set it to "simple" today without waiting for Git 2.0.
 | 
						|
 | 
						|
When "git add -u" and "git add -A", that does not specify what paths
 | 
						|
to add on the command line is run from inside a subdirectory, these
 | 
						|
commands will operate on the entire tree in Git 2.0 for consistency
 | 
						|
with "git commit -a" and other commands. Because there will be no
 | 
						|
mechanism to make "git add -u" behave as if "git add -u .", it is
 | 
						|
important for those who are used to "git add -u" (without pathspec)
 | 
						|
updating the index only for paths in the current subdirectory to start
 | 
						|
training their fingers to explicitly say "git add -u ." when they mean
 | 
						|
it before Git 2.0 comes.
 | 
						|
 | 
						|
 | 
						|
Updates since v1.8.1
 | 
						|
--------------------
 | 
						|
 | 
						|
UI, Workflows & Features
 | 
						|
 | 
						|
 * Initial ports to QNX and z/OS UNIX System Services have started.
 | 
						|
 | 
						|
 * Output from the tests is coloured using "green is okay, yellow is
 | 
						|
   questionable, red is bad and blue is informative" scheme.
 | 
						|
 | 
						|
 * Mention of "GIT/Git/git" in the documentation have been updated to
 | 
						|
   be more uniform and consistent.  The name of the system and the
 | 
						|
   concept it embodies is "Git"; the command the users type is "git".
 | 
						|
   All-caps "GIT" was merely a way to imitate "Git" typeset in small
 | 
						|
   caps in our ASCII text only documentation and to be avoided.
 | 
						|
 | 
						|
 * The completion script (in contrib/completion) used to let the
 | 
						|
   default completer to suggest pathnames, which gave too many
 | 
						|
   irrelevant choices (e.g. "git add" would not want to add an
 | 
						|
   unmodified path).  It learnt to use a more git-aware logic to
 | 
						|
   enumerate only relevant ones.
 | 
						|
 | 
						|
 * In bare repositories, "git shortlog" and other commands now read
 | 
						|
   mailmap files from the tip of the history, to help running these
 | 
						|
   tools in server settings.
 | 
						|
 | 
						|
 * Color specifiers, e.g. "%C(blue)Hello%C(reset)", used in the
 | 
						|
   "--format=" option of "git log" and friends can be disabled when
 | 
						|
   the output is not sent to a terminal by prefixing them with
 | 
						|
   "auto,", e.g. "%C(auto,blue)Hello%C(auto,reset)".
 | 
						|
 | 
						|
 * Scripts can ask Git that wildcard patterns in pathspecs they give do
 | 
						|
   not have any significance, i.e. take them as literal strings.
 | 
						|
 | 
						|
 * The patterns in .gitignore and .gitattributes files can have **/,
 | 
						|
   as a pattern that matches 0 or more levels of subdirectory.
 | 
						|
   E.g. "foo/**/bar" matches "bar" in "foo" itself or in a
 | 
						|
   subdirectory of "foo".
 | 
						|
 | 
						|
 * When giving arguments without "--" disambiguation, object names
 | 
						|
   that come earlier on the command line must not be interpretable as
 | 
						|
   pathspecs and pathspecs that come later on the command line must
 | 
						|
   not be interpretable as object names.  This disambiguation rule has
 | 
						|
   been tweaked so that ":/" (no other string before or after) is
 | 
						|
   always interpreted as a pathspec; "git cmd -- :/" is no longer
 | 
						|
   needed, you can just say "git cmd :/".
 | 
						|
 | 
						|
 * Various "hint" lines Git gives when it asks the user to edit
 | 
						|
   messages in the editor are commented out with '#' by default. The
 | 
						|
   core.commentchar configuration variable can be used to customize
 | 
						|
   this '#' to a different character.
 | 
						|
 | 
						|
 * "git add -u" and "git add -A" without pathspec issues warning to
 | 
						|
   make users aware that they are only operating on paths inside the
 | 
						|
   subdirectory they are in.  Use ":/" (everything from the top) or
 | 
						|
   "." (everything from the $cwd) to disambiguate.
 | 
						|
 | 
						|
 * "git blame" (and "git diff") learned the "--no-follow" option.
 | 
						|
 | 
						|
 * "git branch" now rejects some nonsense combinations of command line
 | 
						|
   arguments (e.g. giving more than one branch name to rename) with
 | 
						|
   more case-specific error messages.
 | 
						|
 | 
						|
 * "git check-ignore" command to help debugging .gitignore files has
 | 
						|
   been added.
 | 
						|
 | 
						|
 * "git cherry-pick" can be used to replay a root commit to an unborn
 | 
						|
   branch.
 | 
						|
 | 
						|
 * "git commit" can be told to use --cleanup=whitespace by setting the
 | 
						|
   configuration variable commit.cleanup to 'whitespace'.
 | 
						|
 | 
						|
 * "git diff" and other Porcelain commands can be told to use a
 | 
						|
   non-standard algorithm by setting diff.algorithm configuration
 | 
						|
   variable.
 | 
						|
 | 
						|
 * "git fetch --mirror" and fetch that uses other forms of refspec
 | 
						|
   with wildcard used to attempt to update a symbolic ref that match
 | 
						|
   the wildcard on the receiving end, which made little sense (the
 | 
						|
   real ref that is pointed at by the symbolic ref would be updated
 | 
						|
   anyway).  Symbolic refs no longer are affected by such a fetch.
 | 
						|
 | 
						|
 * "git format-patch" now detects more cases in which a whole branch
 | 
						|
   is being exported, and uses the description for the branch, when
 | 
						|
   asked to write a cover letter for the series.
 | 
						|
 | 
						|
 * "git format-patch" learned "-v $count" option, and prepends a
 | 
						|
   string "v$count-" to the names of its output files, and also
 | 
						|
   automatically sets the subject prefix to "PATCH v$count". This
 | 
						|
   allows patches from rerolled series to be stored under different
 | 
						|
   names and makes it easier to reuse cover letter messages.
 | 
						|
 | 
						|
 * "git log" and friends can be told with --use-mailmap option to
 | 
						|
   rewrite the names and email addresses of people using the mailmap
 | 
						|
   mechanism.
 | 
						|
 | 
						|
 * "git log --cc --graph" now shows the combined diff output with the
 | 
						|
   ancestry graph.
 | 
						|
 | 
						|
 * "git log --grep=<pattern>" honors i18n.logoutputencoding to look
 | 
						|
   for the pattern after fixing the log message to the specified
 | 
						|
   encoding.
 | 
						|
 | 
						|
 * "git mergetool" and "git difftool" learned to list the available
 | 
						|
   tool backends in a more consistent manner.
 | 
						|
 | 
						|
 * "git mergetool" is aware of TortoiseGitMerge now and uses it over
 | 
						|
   TortoiseMerge when available.
 | 
						|
 | 
						|
 * "git push" now requires "-f" to update a tag, even if it is a
 | 
						|
   fast-forward, as tags are meant to be fixed points.
 | 
						|
 | 
						|
 * Error messages from "git push" when it stops to prevent remote refs
 | 
						|
   from getting overwritten by mistake have been improved to explain
 | 
						|
   various situations separately.
 | 
						|
 | 
						|
 * "git push" will stop without doing anything if the new "pre-push"
 | 
						|
   hook exists and exits with a failure.
 | 
						|
 | 
						|
 * When "git rebase" fails to generate patches to be applied (e.g. due
 | 
						|
   to oom), it failed to detect the failure and instead behaved as if
 | 
						|
   there were nothing to do.  A workaround to use a temporary file has
 | 
						|
   been applied, but we probably would want to revisit this later, as
 | 
						|
   it hurts the common case of not failing at all.
 | 
						|
 | 
						|
 * Input and preconditions to "git reset" has been loosened where
 | 
						|
   appropriate.  "git reset $fromtree Makefile" requires $fromtree to
 | 
						|
   be any tree (it used to require it to be a commit), for example.
 | 
						|
   "git reset" (without options or parameters) used to error out when
 | 
						|
   you do not have any commits in your history, but it now gives you
 | 
						|
   an empty index (to match non-existent commit you are not even on).
 | 
						|
 | 
						|
 * "git status" says what branch is being bisected or rebased when
 | 
						|
   able, not just "bisecting" or "rebasing".
 | 
						|
 | 
						|
 * "git submodule" started learning a new mode to integrate with the
 | 
						|
   tip of the remote branch (as opposed to integrating with the commit
 | 
						|
   recorded in the superproject's gitlink).
 | 
						|
 | 
						|
 * "git upload-pack" which implements the service "ls-remote" and
 | 
						|
   "fetch" talk to can be told to hide ref hierarchies the server
 | 
						|
   side internally uses (and that clients have no business learning
 | 
						|
   about) with transfer.hiderefs configuration.
 | 
						|
 | 
						|
 | 
						|
Foreign Interface
 | 
						|
 | 
						|
 * "git fast-export" has been updated for its use in the context of
 | 
						|
   the remote helper interface.
 | 
						|
 | 
						|
 * A new remote helper to interact with bzr has been added to contrib/.
 | 
						|
 | 
						|
 * "git p4" got various bugfixes around its branch handling.  It is
 | 
						|
   also made usable with Python 2.4/2.5.  In addition, its various
 | 
						|
   portability issues for Cygwin have been addressed.
 | 
						|
 | 
						|
 * The remote helper to interact with Hg in contrib/ has seen a few
 | 
						|
   fixes.
 | 
						|
 | 
						|
 | 
						|
Performance, Internal Implementation, etc.
 | 
						|
 | 
						|
 * "git fsck" has been taught to be pickier about entries in tree
 | 
						|
   objects that should not be there, e.g. ".", ".git", and "..".
 | 
						|
 | 
						|
 * Matching paths with common forms of pathspecs that contain wildcard
 | 
						|
   characters has been optimized further.
 | 
						|
 | 
						|
 * We stopped paying attention to $GIT_CONFIG environment that points
 | 
						|
   at a single configuration file from any command other than "git config"
 | 
						|
   quite a while ago, but "git clone" internally set, exported, and
 | 
						|
   then unexported the variable during its operation unnecessarily.
 | 
						|
 | 
						|
 * "git reset" internals has been reworked and should be faster in
 | 
						|
   general. We tried to be careful not to break any behaviour but
 | 
						|
   there could be corner cases, especially when running the command
 | 
						|
   from a conflicted state, that we may have missed.
 | 
						|
 | 
						|
 * The implementation of "imap-send" has been updated to reuse xml
 | 
						|
   quoting code from http-push codepath, and lost a lot of unused
 | 
						|
   code.
 | 
						|
 | 
						|
 * There is a simple-minded checker for the test scripts in t/
 | 
						|
   directory to catch most common mistakes (it is not enabled by
 | 
						|
   default).
 | 
						|
 | 
						|
 * You can build with USE_WILDMATCH=YesPlease to use a replacement
 | 
						|
   implementation of pattern matching logic used for pathname-like
 | 
						|
   things, e.g. refnames and paths in the repository.  This new
 | 
						|
   implementation is not expected change the existing behaviour of Git
 | 
						|
   in this release, except for "git for-each-ref" where you can now
 | 
						|
   say "refs/**/master" and match with both refs/heads/master and
 | 
						|
   refs/remotes/origin/master.  We plan to use this new implementation
 | 
						|
   in wider places (e.g. "git ls-files '**/Makefile' may find Makefile
 | 
						|
   at the top-level, and "git log '**/t*.sh'" may find commits that
 | 
						|
   touch a shell script whose name begins with "t" at any level) in
 | 
						|
   future versions of Git, but we are not there yet.  By building with
 | 
						|
   USE_WILDMATCH, using the resulting Git daily and reporting when you
 | 
						|
   find breakages, you can help us get closer to that goal.
 | 
						|
 | 
						|
 * Some reimplementations of Git do not write all the stat info back
 | 
						|
   to the index due to their implementation limitations (e.g. jgit).
 | 
						|
   A configuration option can tell Git to ignore changes to most of
 | 
						|
   the stat fields and only pay attention to mtime and size, which
 | 
						|
   these implementations can reliably update.  This can be used to
 | 
						|
   avoid excessive revalidation of contents.
 | 
						|
 | 
						|
 * Some platforms ship with old version of expat where xmlparse.h
 | 
						|
   needs to be included instead of expat.h; the build procedure has
 | 
						|
   been taught about this.
 | 
						|
 | 
						|
 * "make clean" on platforms that cannot compute header dependencies
 | 
						|
   on the fly did not work with implementations of "rm" that do not
 | 
						|
   like an empty argument list.
 | 
						|
 | 
						|
Also contains minor documentation updates and code clean-ups.
 | 
						|
 | 
						|
 | 
						|
Fixes since v1.8.1
 | 
						|
------------------
 | 
						|
 | 
						|
Unless otherwise noted, all the fixes since v1.8.1 in the maintenance
 | 
						|
track are contained in this release (see release notes to them for
 | 
						|
details).
 | 
						|
 | 
						|
 * An element on GIT_CEILING_DIRECTORIES list that does not name the
 | 
						|
   real path to a directory (i.e. a symbolic link) could have caused
 | 
						|
   the GIT_DIR discovery logic to escape the ceiling.
 | 
						|
 | 
						|
 * When attempting to read the XDG-style $HOME/.config/git/config and
 | 
						|
   finding that $HOME/.config/git is a file, we gave a wrong error
 | 
						|
   message, instead of treating the case as "a custom config file does
 | 
						|
   not exist there" and moving on.
 | 
						|
 | 
						|
 * The behaviour visible to the end users was confusing, when they
 | 
						|
   attempt to kill a process spawned in the editor that was in turn
 | 
						|
   launched by Git with SIGINT (or SIGQUIT), as Git would catch that
 | 
						|
   signal and die.  We ignore these signals now.
 | 
						|
   (merge 0398fc34 pf/editor-ignore-sigint later to maint).
 | 
						|
 | 
						|
 * A child process that was killed by a signal (e.g. SIGINT) was
 | 
						|
   reported in an inconsistent way depending on how the process was
 | 
						|
   spawned by us, with or without a shell in between.
 | 
						|
 | 
						|
 * After failing to create a temporary file using mkstemp(), failing
 | 
						|
   pathname was not reported correctly on some platforms.
 | 
						|
 | 
						|
 * We used to stuff "user@" and then append what we read from
 | 
						|
   /etc/mailname to come up with a default e-mail ident, but a bug
 | 
						|
   lost the "user@" part.
 | 
						|
 | 
						|
 * The attribute mechanism didn't allow limiting attributes to be
 | 
						|
   applied to only a single directory itself with "path/" like the
 | 
						|
   exclude mechanism does.  The initial implementation of this that
 | 
						|
   was merged to 'maint' and 1.8.1.2 was with a severe performance
 | 
						|
   degradations and needs to merge a fix-up topic.
 | 
						|
 | 
						|
 * The smart HTTP clients forgot to verify the content-type that comes
 | 
						|
   back from the server side to make sure that the request is being
 | 
						|
   handled properly.
 | 
						|
 | 
						|
 * "git am" did not parse datestamp correctly from Hg generated patch,
 | 
						|
   when it is run in a locale outside C (or en).
 | 
						|
 | 
						|
 * "git apply" misbehaved when fixing whitespace breakages by removing
 | 
						|
   excess trailing blank lines.
 | 
						|
 | 
						|
 * "git apply --summary" has been taught to make sure the similarity
 | 
						|
   value shown in its output is sensible, even when the input had a
 | 
						|
   bogus value.
 | 
						|
 | 
						|
 * A tar archive created by "git archive" recorded a directory in a
 | 
						|
   way that made NetBSD's implementation of "tar" sometimes unhappy.
 | 
						|
 | 
						|
 * "git archive" did not record uncompressed size in the header when
 | 
						|
   streaming a zip archive, which confused some implementations of unzip.
 | 
						|
 | 
						|
 * "git archive" did not parse configuration values in tar.* namespace
 | 
						|
   correctly.
 | 
						|
   (merge b3873c3 jk/config-parsing-cleanup later to maint).
 | 
						|
 | 
						|
 * Attempt to "branch --edit-description" an existing branch, while
 | 
						|
   being on a detached HEAD, errored out.
 | 
						|
 | 
						|
 * "git clean" showed what it was going to do, but sometimes end up
 | 
						|
   finding that it was not allowed to do so, which resulted in a
 | 
						|
   confusing output (e.g. after saying that it will remove an
 | 
						|
   untracked directory, it found an embedded git repository there
 | 
						|
   which it is not allowed to remove).  It now performs the actions
 | 
						|
   and then reports the outcome more faithfully.
 | 
						|
 | 
						|
 * When "git clone --separate-git-dir=$over_there" is interrupted, it
 | 
						|
   failed to remove the real location of the $GIT_DIR it created.
 | 
						|
   This was most visible when interrupting a submodule update.
 | 
						|
 | 
						|
 * "git cvsimport" mishandled timestamps at DST boundary.
 | 
						|
 | 
						|
 * We used to have an arbitrary 32 limit for combined diff input,
 | 
						|
   resulting in incorrect number of leading colons shown when showing
 | 
						|
   the "--raw --cc" output.
 | 
						|
 | 
						|
 * "git fetch --depth" was broken in at least three ways.  The
 | 
						|
   resulting history was deeper than specified by one commit, it was
 | 
						|
   unclear how to wipe the shallowness of the repository with the
 | 
						|
   command, and documentation was misleading.
 | 
						|
   (merge cfb70e1 nd/fetch-depth-is-broken later to maint).
 | 
						|
 | 
						|
 * "git log --all -p" that walked refs/notes/textconv/ ref can later
 | 
						|
   try to use the textconv data incorrectly after it gets freed.
 | 
						|
 | 
						|
 * We forgot to close the file descriptor reading from "gpg" output,
 | 
						|
   killing "git log --show-signature" on a long history.
 | 
						|
 | 
						|
 * The way "git svn" asked for password using SSH_ASKPASS and
 | 
						|
   GIT_ASKPASS was not in line with the rest of the system.
 | 
						|
 | 
						|
 * The --graph code fell into infinite loop when asked to do what the
 | 
						|
   code did not expect.
 | 
						|
 | 
						|
 * http transport was wrong to ask for the username when the
 | 
						|
   authentication is done by certificate identity.
 | 
						|
 | 
						|
 * "git pack-refs" that ran in parallel to another process that
 | 
						|
   created new refs had a nasty race.
 | 
						|
 | 
						|
 * Rebasing the history of superproject with change in the submodule
 | 
						|
   has been broken since v1.7.12.
 | 
						|
 | 
						|
 * After "git add -N" and then writing a tree object out of the
 | 
						|
   index, the cache-tree data structure got corrupted.
 | 
						|
 | 
						|
 * "git clone" used to allow --bare and --separate-git-dir=$there
 | 
						|
   options at the same time, which was nonsensical.
 | 
						|
 | 
						|
 * "git rebase --preserve-merges" lost empty merges in recent versions
 | 
						|
   of Git.
 | 
						|
 | 
						|
 * "git merge --no-edit" computed who were involved in the work done
 | 
						|
   on the side branch, even though that information is to be discarded
 | 
						|
   without getting seen in the editor.
 | 
						|
 | 
						|
 * "git merge" started calling prepare-commit-msg hook like "git
 | 
						|
   commit" does some time ago, but forgot to pay attention to the exit
 | 
						|
   status of the hook.
 | 
						|
 | 
						|
 * A failure to push due to non-ff while on an unborn branch
 | 
						|
   dereferenced a NULL pointer when showing an error message.
 | 
						|
 | 
						|
 * When users spell "cc:" in lowercase in the fake "header" in the
 | 
						|
   trailer part, "git send-email" failed to pick up the addresses from
 | 
						|
   there. As e-mail headers field names are case insensitive, this
 | 
						|
   script should follow suit and treat "cc:" and "Cc:" the same way.
 | 
						|
 | 
						|
 * Output from "git status --ignored" showed an unexpected interaction
 | 
						|
   with "--untracked".
 | 
						|
 | 
						|
 * "gitweb", when sorting by age to show repositories with new
 | 
						|
   activities first, used to sort repositories with absolutely
 | 
						|
   nothing in it early, which was not very useful.
 | 
						|
 | 
						|
 * "gitweb"'s code to sanitize control characters before passing it to
 | 
						|
   "highlight" filter lost known-to-be-safe control characters by
 | 
						|
   mistake.
 | 
						|
 | 
						|
 * "gitweb" pages served over HTTPS, when configured to show picon or
 | 
						|
   gravatar, referred to these external resources to be fetched via
 | 
						|
   HTTP, resulting in mixed contents warning in browsers.
 | 
						|
 | 
						|
 * When a line to be wrapped has a solid run of non space characters
 | 
						|
   whose length exactly is the wrap width, "git shortlog -w" failed
 | 
						|
   to add a newline after such a line.
 | 
						|
 | 
						|
 * Command line completion leaked an unnecessary error message while
 | 
						|
   looking for possible matches with paths in <tree-ish>.
 | 
						|
 | 
						|
 * Command line completion for "tcsh" emitted an unwanted space
 | 
						|
   after completing a single directory name.
 | 
						|
 | 
						|
 * Command line completion code was inadvertently made incompatible with
 | 
						|
   older versions of bash by using a newer array notation.
 | 
						|
 | 
						|
 * "git push" was taught to refuse updating the branch that is
 | 
						|
   currently checked out long time ago, but the user manual was left
 | 
						|
   stale.
 | 
						|
   (merge 50995ed wk/man-deny-current-branch-is-default-these-days later to maint).
 | 
						|
 | 
						|
 * Some shells do not behave correctly when IFS is unset; work it
 | 
						|
   around by explicitly setting it to the default value.
 | 
						|
 | 
						|
 * Some scripted programs written in Python did not get updated when
 | 
						|
   PYTHON_PATH changed.
 | 
						|
   (cherry-pick 96a4647fca54031974cd6ad1 later to maint).
 | 
						|
 | 
						|
 * When autoconf is used, any build on a different commit always ran
 | 
						|
   "config.status --recheck" even when unnecessary.
 | 
						|
 | 
						|
 * A fix was added to the build procedure to work around buggy
 | 
						|
   versions of ccache broke the auto-generation of dependencies, which
 | 
						|
   unfortunately is still relevant because some people use ancient
 | 
						|
   distros.
 | 
						|
 | 
						|
 * The autoconf subsystem passed --mandir down to generated
 | 
						|
   config.mak.autogen but forgot to do the same for --htmldir.
 | 
						|
   (merge 55d9bf0 ct/autoconf-htmldir later to maint).
 | 
						|
 | 
						|
 * A change made on v1.8.1.x maintenance track had a nasty regression
 | 
						|
   to break the build when autoconf is used.
 | 
						|
   (merge 7f1b697 jn/less-reconfigure later to maint).
 | 
						|
 | 
						|
 * We have been carrying a translated and long-unmaintained copy of an
 | 
						|
   old version of the tutorial; removed.
 | 
						|
 | 
						|
 * t0050 had tests expecting failures from a bug that was fixed some
 | 
						|
   time ago.
 | 
						|
 | 
						|
 * t4014, t9502 and t0200 tests had various portability issues that
 | 
						|
   broke on OpenBSD.
 | 
						|
 | 
						|
 * t9020 and t3600 tests had various portability issues.
 | 
						|
 | 
						|
 * t9200 runs "cvs init" on a directory that already exists, but a
 | 
						|
   platform can configure this fail for the current user (e.g. you
 | 
						|
   need to be in the cvsadmin group on NetBSD 6.0).
 | 
						|
 | 
						|
 * t9020 and t9810 had a few non-portable shell script construct.
 | 
						|
 | 
						|
 * Scripts to test bash completion was inherently flaky as it was
 | 
						|
   affected by whatever random things the user may have on $PATH.
 | 
						|
 | 
						|
 * An element on GIT_CEILING_DIRECTORIES could be a "logical" pathname
 | 
						|
   that uses a symbolic link to point at somewhere else (e.g. /home/me
 | 
						|
   that points at /net/host/export/home/me, and the latter directory
 | 
						|
   is automounted). Earlier when Git saw such a pathname e.g. /home/me
 | 
						|
   on this environment variable, the "ceiling" mechanism did not take
 | 
						|
   effect. With this release (the fix has also been merged to the
 | 
						|
   v1.8.1.x maintenance series), elements on GIT_CEILING_DIRECTORIES
 | 
						|
   are by default checked for such aliasing coming from symbolic
 | 
						|
   links. As this needs to actually resolve symbolic links for each
 | 
						|
   element on the GIT_CEILING_DIRECTORIES, you can disable this
 | 
						|
   mechanism for some elements by listing them after an empty element
 | 
						|
   on the GIT_CEILING_DIRECTORIES. e.g. Setting /home/me::/home/him to
 | 
						|
   GIT_CEILING_DIRECTORIES makes Git resolve symbolic links in
 | 
						|
   /home/me when checking if the current directory is under /home/me,
 | 
						|
   but does not do so for /home/him.
 | 
						|
   (merge 7ec30aa mh/maint-ceil-absolute later to maint).
 |