<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/t, branch v2.9.0</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.9.0</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.9.0'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2016-06-10T22:26:05Z</updated>
<entry>
<title>Merge branch 'jk/shell-portability'</title>
<updated>2016-06-10T22:26:05Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-06-10T22:26:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=45c0c21eb96ce45f05ffbe8600adf6ac65086415'/>
<id>urn:sha1:45c0c21eb96ce45f05ffbe8600adf6ac65086415</id>
<content type='text'>
test fixes.

* jk/shell-portability:
  t5500 &amp; t7403: lose bash-ism "local"
  test-lib: add in-shell "env" replacement
</content>
</entry>
<entry>
<title>Merge branch 'jc/t2300-setup'</title>
<updated>2016-06-10T22:26:04Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-06-10T22:26:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8ffc9d26e41f1ce23acbaee0f14419d99677b5f9'/>
<id>urn:sha1:8ffc9d26e41f1ce23acbaee0f14419d99677b5f9</id>
<content type='text'>
A test fix.

* jc/t2300-setup:
  t2300: run git-sh-setup in an environment that better mimics the real life
</content>
</entry>
<entry>
<title>Merge branch 'js/perf-rebase-i'</title>
<updated>2016-06-03T21:38:00Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-06-03T21:38:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=be3ac81f0c73252b7df34522e4886c4427eb43ae'/>
<id>urn:sha1:be3ac81f0c73252b7df34522e4886c4427eb43ae</id>
<content type='text'>
The one in 'master' has a brown-paper-bag bug that breaks the perf
test when used inside a usual Git repository with a working tree.

* js/perf-rebase-i:
  perf: make the tests work without a worktree
</content>
</entry>
<entry>
<title>t2300: run git-sh-setup in an environment that better mimics the real life</title>
<updated>2016-06-01T21:15:17Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-06-01T20:30:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=fe17fc0006927246c5905ef9352e7e89a3c5814b'/>
<id>urn:sha1:fe17fc0006927246c5905ef9352e7e89a3c5814b</id>
<content type='text'>
When we run scripted Porcelains, "git" potty has set up the $PATH by
prepending $GIT_EXEC_PATH, the path given by "git --exec-path=$there
$cmd", etc. already.  Because of this, scripted Porcelains can
dot-source shell script library like git-sh-setup with simple dot
without specifying any path.

t2300 however dot-sources git-sh-setup without adjusting $PATH like
the real "git" potty does.  This has not been a problem so far, but
once git-sh-setup wants to rely on the $PATH adjustment, just like
any scripted Porcelains already do, it would become one.  It cannot
for example dot-source another shell library without specifying the
full path to it by prefixing $(git --exec-path).

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>t5500 &amp; t7403: lose bash-ism "local"</title>
<updated>2016-06-01T21:00:33Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-06-01T20:56:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e256eec79d375649ecda7cc21b527386898794a4'/>
<id>urn:sha1:e256eec79d375649ecda7cc21b527386898794a4</id>
<content type='text'>
In t5500::check_prot_host_port_path(), diagport is not a variable
used elsewhere and the function is not recursively called so this
can simply lose the "local", which may not be supported by shell
(besides, the function liberally clobbers other variables without
making them "local").

t7403::reset_submodule_urls() overrides the "root" variable used
in the test framework for no good reason; its use is not about
temporarily relocating where the test repositories are created.
This assignment can be made not to clobber the variable by moving
them into the subshells it already uses.  Its value is always
$TRASH_DIRECTORY, so we could use it instead there, and this
function that is called only once and its two subshells may not be
necessary (instead, the caller can use "git -C $there config" and
set a value that is derived from $TRASH_DIRECTORY), but this is a
minimum fix that is needed to lose "local".

Helped-by: John Keeping &lt;john@keeping.me.uk&gt;
Helped-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>test-lib: add in-shell "env" replacement</title>
<updated>2016-06-01T15:04:08Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2016-06-01T07:04:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d2554c7207896136ad2033776efd29578592a3fb'/>
<id>urn:sha1:d2554c7207896136ad2033776efd29578592a3fb</id>
<content type='text'>
The one-shot environment variable syntax:

  FOO=BAR some-program

is unportable when some-program is actually a shell
function, like test_must_fail (on some shells FOO remains
set after the function returns, and on others it does not).

We sometimes get around this by using env, like:

  test_must_fail env FOO=BAR some-program

But that only works because test_must_fail's arguments are
themselves a command which can be run. You can't run:

  env FOO=BAR test_must_fail some-program

because env does not know about our shell functions. So
there is no equivalent for test_commit, for example, and one
must resort to:

  (
    FOO=BAR
    export FOO
    test_commit
  )

which is a bit verbose.  Let's add a version of "env" that
works _inside_ the shell, by creating a subshell, exporting
variables from its argument list, and running the command.

Its use is demonstrated on a currently-unportable case in
t4014.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'sb/submodule-deinit-all' into maint</title>
<updated>2016-05-31T21:09:46Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-05-31T21:09:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3296e1a93a4540e083ffe28710d3601da95f06b5'/>
<id>urn:sha1:3296e1a93a4540e083ffe28710d3601da95f06b5</id>
<content type='text'>
Correct faulty recommendation to use "git submodule deinit ." when
de-initialising all submodules, which would result in a strange
error message in a pathological corner case.

* sb/submodule-deinit-all:
  submodule deinit: require '--all' instead of '.' for all submodules
</content>
</entry>
<entry>
<title>Merge branch 'jk/test-send-sh-x-trace-elsewhere' into maint</title>
<updated>2016-05-31T21:08:27Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-05-31T21:08:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=68a6e976a821ebf2b3766efb167fa716cbf8c188'/>
<id>urn:sha1:68a6e976a821ebf2b3766efb167fa716cbf8c188</id>
<content type='text'>
Running tests with '-x' option to trace the individual command
executions is a useful way to debug test scripts, but some tests
that capture the standard error stream and check what the command
said can be broken with the trace output mixed in.  When running
our tests under "bash", however, we can redirect the trace output
to another file descriptor to keep the standard error of programs
being tested intact.

* jk/test-send-sh-x-trace-elsewhere:
  test-lib: set BASH_XTRACEFD automatically
</content>
</entry>
<entry>
<title>Merge branch 'js/name-rev-use-oldest-ref' into maint</title>
<updated>2016-05-31T21:08:26Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-05-31T21:08:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9ee8f9409cab2a52e133c63bdd0acce24f99e73f'/>
<id>urn:sha1:9ee8f9409cab2a52e133c63bdd0acce24f99e73f</id>
<content type='text'>
"git describe --contains" often made a hard-to-justify choice of
tag to give name to a given commit, because it tried to come up
with a name with smallest number of hops from a tag, causing an old
commit whose close descendant that is recently tagged were not
described with respect to an old tag but with a newer tag.  It did
not help that its computation of "hop" count was further tweaked to
penalize being on a side branch of a merge.  The logic has been
updated to favor using the tag with the oldest tagger date, which
is a lot easier to explain to the end users: "We describe a commit
in terms of the (chronologically) oldest tag that contains the
commit."

* js/name-rev-use-oldest-ref:
  name-rev: include taggerdate in considering the best name
</content>
</entry>
<entry>
<title>perf: make the tests work without a worktree</title>
<updated>2016-05-31T20:44:59Z</updated>
<author>
<name>René Scharfe</name>
<email>l.s.r@web.de</email>
</author>
<published>2016-05-29T16:43:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e2522f2acaec35130520f76c36c711b2011ed310'/>
<id>urn:sha1:e2522f2acaec35130520f76c36c711b2011ed310</id>
<content type='text'>
In regular repositories $source_git and $objects_dir contain relative
paths based on $source.  Go there to allow cp to resolve them.

Signed-off-by: Rene Scharfe &lt;l.s.r@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
