2014-06-02 18:32:37 by Adam Ciarcinski | Files touched by this commit (5) |
Log message:
Fixes since v1.9.3
------------------
* Commands that take pathspecs on the command line misbehaved when
the pathspec is given as an absolute pathname (which is a
practice not particularly encouraged) that points at a symbolic
link in the working tree.
* An earlier fix to the shell prompt script (in contrib/) for using
the PROMPT_COMMAND interface did not correctly check if the extra
code path needs to trigger, causing the branch name not to appear
when 'promptvars' option is disabled in bash or PROMPT_SUBST is
unset in zsh.
|
2014-05-10 13:43:30 by Adam Ciarcinski | Files touched by this commit (4) |
Log message:
Changes 1.9.3:
* "git p4" dealing with changes in binary files were broken by a
change in 1.9 release.
* The shell prompt script (in contrib/), when using the PROMPT_COMMAND
interface, used an unsafe construct when showing the branch name in
$PS1.
* "git rebase" used a POSIX shell construct FreeBSD /bin/sh does not
work well with.
* Some more Unicode codepoints defined in Unicode 6.3 as having
zero width have been taught to our display column counting logic.
* Some tests used shell constructs that did not work well on
FreeBSD.
|
2014-02-23 11:00:27 by Adam Ciarcinski | Files touched by this commit (8) | |
Log message:
Changes 1.8.5:
Foreign interfaces, subsystems and ports.
* The HTTP transport, when talking GSS-Negotiate, uses "100
Continue" response to avoid having to rewind and resend a large
payload, which may not be always doable.
* Various bugfixes to remote-bzr and remote-hg (in contrib/).
* The build procedure is aware of MirBSD now.
* Various "git p4", "git svn" and "gitk" updates.
UI, Workflows & Features
* Fetching from a shallowly-cloned repository used to be forbidden,
primarily because the codepaths involved were not carefully vetted
and we did not bother supporting such usage. This release attempts
to allow object transfer out of a shallowly-cloned repository in a
more controlled way (i.e. the receiver becomes a shallow repository
with a truncated history).
* Just like we give a reasonable default for "less" via the LESS
environment variable, we now specify a reasonable default for "lv"
via the "LV" environment variable when spawning the pager.
* Two-level configuration variable names in "branch.*" and \
"remote.*"
hierarchies, whose variables are predominantly three-level, were
not completed by hitting a <TAB> in bash and zsh completions.
* Fetching a 'frotz' branch with "git fetch", while a 'frotz/nitfol'
remote-tracking branch from an earlier fetch was still there, would
error out, primarily because the command was not told that it is
allowed to lose any information on our side. "git fetch --prune"
now can be used to remove 'frotz/nitfol' to make room for fetching and
storing the 'frotz' remote-tracking branch.
* "diff.orderfile=<file>" configuration variable can be used to
pretend as if the "-O<file>" option were given from the command
line of "git diff", etc.
* The negative pathspec syntax allows "git log -- . ':!dir'" to tell
us "I am interested in everything but 'dir' directory".
* "git difftool" shows how many different paths there are in total,
and how many of them have been shown so far, to indicate progress.
* "git push origin master" used to push our 'master' branch to update
the 'master' branch at the 'origin' repository. This has been
enhanced to use the same ref mapping "git push origin" would use to
determine what ref at the 'origin' to be updated with our 'master'.
For example, with this configuration
[remote "origin"]
push = refs/heads/*:refs/review/*
that would cause "git push origin" to push out our local branches
to corresponding refs under refs/review/ hierarchy at 'origin',
"git push origin master" would update 'refs/review/master' over
there. Alternatively, if push.default is set to 'upstream' and our
'master' is set to integrate with 'topic' from the 'origin' branch,
running "git push origin" while on our 'master' would update their
'topic' branch, and running "git push origin master" while on any
of our branches does the same.
* "gitweb" learned to treat ref hierarchies other than refs/heads as
if they are additional branch namespaces (e.g. refs/changes/ in
Gerrit).
* "git for-each-ref --format=..." learned a few formatting directives;
e.g. "%(color:red)%(HEAD)%(color:reset) %(refname:short) %(subject)".
* The command string given to "git submodule foreach" is passed
directly to the shell, without being eval'ed. This is a backward
incompatible change that may break existing users.
* "git log" and friends learned the \
"--exclude=<glob>" option, to
allow people to say "list history of all branches except those that
match this pattern" with "git log --exclude='*/*' --branches".
* "git rev-parse --parseopt" learned a new "--stuck-long" \
option to
help scripts parse options with an optional parameter.
* The "--tags" option to "git fetch" no longer tells the \
command to
fetch _only_ the tags. It instead fetches tags _in addition to_
what are fetched by the same command line without the option.
|
2014-02-06 18:34:02 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
Changes 1.8.5.4:
* "git fetch --depth=0" was a no-op, and was silently ignored.
Diagnose it as an error.
* Remote repository URL expressed in scp-style host:path notation are
parsed more carefully (e.g. "foo/bar:baz" is local, \
"[::1]:/~user" asks
to connect to user's home directory on host at address ::1.
* SSL-related options were not passed correctly to underlying socket
layer in "git send-email".
* "git commit -v" appends the patch to the log message before
editing, and then removes the patch when the editor returned
control. However, the patch was not stripped correctly when the
first modified path was a submodule.
* "git mv A B/", when B does not exist as a directory, should error
out, but it didn't.
* When we figure out how many file descriptors to allocate for
keeping packfiles open, a system with non-working getrlimit() could
cause us to die(), but because we make this call only to get a
rough estimate of how many is available and we do not even attempt
to use up all file descriptors available ourselves, it is nicer to
fall back to a reasonable low value rather than dying.
* "git log --decorate" did not handle a tag pointed by another tag
nicely.
* "git add -A" (no other arguments) in a totally empty working tree
used to emit an error.
* There is no reason to have a hardcoded upper limit of the number of
parents for an octopus merge, created via the graft mechanism, but
there was.
* The implementation of 'git stash $cmd "stash@{...}"' did not quote
the stash argument properly and left it split at IFS whitespace.
* The documentation to "git pull" hinted there is an "-m" option
because it incorrectly shared the documentation with "git merge".
Also contains typofixes, documentation updates and trivial code clean-ups.
|
2014-01-17 10:53:50 by Adam Ciarcinski | Files touched by this commit (1) |
Log message:
Also used by git-svn/Makefile
|
2014-01-17 10:50:38 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
Changes 1.8.5.3:
* The "--[no-]informative-errors" options to "git daemon" \
were parsed
a bit too loosely, allowing any other string after these option
names.
* A "gc" process running as a different user should be able to stop a
new "gc" process from starting.
* An earlier "clean-up" introduced an unnecessary memory leak to the
credential subsystem.
* "git mv A B/", when B does not exist as a directory, should error
out, but it didn't.
* "git rev-parse <revs> -- <paths>" did not implement the usual
disambiguation rules the commands in the "git log" family used in
the same way.
* "git cat-file --batch=", an admittedly useless command, did not
behave very well.
Also contains typofixes, documentation updates and trivial code clean-ups.
|
2014-01-07 15:59:04 by Thomas Klausner | Files touched by this commit (1) |
Log message:
Fix typo.
Add LICENSE: Set LICENSE of meta package to same license as the
separate packages, to avoid confusion.
|
2014-01-01 12:14:38 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
Changes 1.8.5.2:
* "git diff -- ':(icase)makefile'" was unnecessarily rejected at the
command line parser.
* "git cat-file --batch-check=ok" did not check the existence of
the named object.
* "git am --abort" sometimes complained about not being able to write
a tree with an 0{40} object in it.
* Two processes creating loose objects at the same time could have
failed unnecessarily when the name of their new objects started
with the same byte value, due to a race condition.
Also contains typofixes, documentation updates and trivial code clean-ups
|
2013-12-04 13:51:06 by Adam Ciarcinski | Files touched by this commit (4) | |
Log message:
Changes 1.8.5.1:
* "git submodule init" copied "submodule.$name.update" \
settings from
.gitmodules to .git/config without making sure if the suggested
value was sensible.
|
2013-11-12 12:22:10 by Adam Ciarcinski | Files touched by this commit (2) |
Log message:
Changes 1.8.4.3:
* The interaction between use of Perl in our test suite and NO_PERL
has been clarified a bit.
* A fast-import stream expresses a pathname with funny characters by
quoting them in C style; remote-hg remote helper (in contrib/)
forgot to unquote such a path.
* One long-standing flaw in the pack transfer protocol used by "git
clone" was that there was no way to tell the other end which branch
"HEAD" points at, and the receiving end needed to guess. A new
capability has been defined in the pack protocol to convey this
information so that cloning from a repository with more than one
branches pointing at the same commit where the HEAD is at now
reliably sets the initial branch in the resulting repository.
* We did not handle cases where http transport gets redirected during
the authorization request (e.g. from http:// to https://).
* "git rev-list --objects ^v1.0^ v1.0" gave v1.0 tag itself in the
output, but "git rev-list --objects v1.0^..v1.0" did not.
* The fall-back parsing of commit objects with broken author or
committer lines were less robust than ideal in picking up the
timestamps.
* Bash prompting code to deal with an SVN remote as an upstream
were coded in a way not supported by older Bash versions (3.x).
* "git checkout topic", when there is not yet a local \
"topic" branch
but there is a unique remote-tracking branch for a remote "topic"
branch, pretended as if "git checkout -t -b topic remote/$r/topic"
(for that unique remote $r) was run. This hack however was not
implemented for "git checkout topic --".
* Coloring around octopus merges in "log --graph" output was screwy.
* We did not generate HTML version of documentation to "git subtree"
in contrib/.
* The synopsis section of "git unpack-objects" documentation has been
clarified a bit.
* An ancient How-To on serving Git repositories on an HTTP server
lacked a warning that it has been mostly superseded with more
modern way.
|