<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-sh-setup.sh, branch v2.9.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.9.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.9.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2016-07-11T17:44:13Z</updated>
<entry>
<title>Merge branch 'lc/shell-default-value-noexpand' into maint</title>
<updated>2016-07-11T17:44:13Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-07-11T17:44:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5220b7589b09d62e7166799baa98dcd6a1c02804'/>
<id>urn:sha1:5220b7589b09d62e7166799baa98dcd6a1c02804</id>
<content type='text'>
Fix unnecessarily waste in the idiomatic use of ': ${VAR=default}'
to set the default value, without enclosing it in double quotes.

* lc/shell-default-value-noexpand:
  sh-setup: enclose setting of ${VAR=default} in double-quotes
</content>
</entry>
<entry>
<title>sh-setup: enclose setting of ${VAR=default} in double-quotes</title>
<updated>2016-06-19T21:07:04Z</updated>
<author>
<name>LE Manh Cuong</name>
<email>cuong.manhle.vn@gmail.com</email>
</author>
<published>2016-06-18T20:26:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=01247e0299b34b9b46d96d5850a24583e39deabe'/>
<id>urn:sha1:01247e0299b34b9b46d96d5850a24583e39deabe</id>
<content type='text'>
We often make sure an environment variable is set to
something, either set by the user (in which case we do not
molest it) or set it to our default value (otherwise), with

	: ${VAR=default value}

i.e. running the no-op command ":" with ${VAR} as its
parameters (or the default value we supply), relying on that
":" is a no-op.

This pattern, even though it is no-op from correctness point
of view, still can be expensive if the existing value in VAR
has shell glob (because they will be expanded against
filesystem entities) and IFS whitespaces (because the value
need to be split into multiple parameters).  Our invocation
of ":" command does not care if the parameter given to it is
after the value in VAR goes through these processing.

Enclosing the whole thing in double-quote, i.e.

	: "${VAR=default value}"

avoids paying the unnecessary cost, so let's do so.

Signed-off-by: LE Manh Cuong &lt;cuong.manhle.vn@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>sane_grep: pass "-a" if grep accepts it</title>
<updated>2016-03-10T23:35:43Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-03-08T23:47:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=71b401032b9e5b0a71e41d95ae0998858787700c'/>
<id>urn:sha1:71b401032b9e5b0a71e41d95ae0998858787700c</id>
<content type='text'>
Newer versions of GNU grep is reported to be pickier when we feed a
non-ASCII input and break some Porcelain scripts.  As we know we do
not feed random binary file to our own sane_grep wrapper, allow us
to always pass "-a" by setting SANE_TEXT_GREP=-a Makefile variable
to work it around.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'nd/multiple-work-trees'</title>
<updated>2015-05-11T21:23:39Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-05-11T21:23:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=68a2e6a2c80303144807c8c91a087427e3c8e727'/>
<id>urn:sha1:68a2e6a2c80303144807c8c91a087427e3c8e727</id>
<content type='text'>
A replacement for contrib/workdir/git-new-workdir that does not
rely on symbolic links and make sharing of objects and refs safer
by making the borrowee and borrowers aware of each other.

* nd/multiple-work-trees: (41 commits)
  prune --worktrees: fix expire vs worktree existence condition
  t1501: fix test with split index
  t2026: fix broken &amp;&amp;-chain
  t2026 needs procondition SANITY
  git-checkout.txt: a note about multiple checkout support for submodules
  checkout: add --ignore-other-wortrees
  checkout: pass whole struct to parse_branchname_arg instead of individual flags
  git-common-dir: make "modules/" per-working-directory directory
  checkout: do not fail if target is an empty directory
  t2025: add a test to make sure grafts is working from a linked checkout
  checkout: don't require a work tree when checking out into a new one
  git_path(): keep "info/sparse-checkout" per work-tree
  count-objects: report unused files in $GIT_DIR/worktrees/...
  gc: support prune --worktrees
  gc: factor out gc.pruneexpire parsing code
  gc: style change -- no SP before closing parenthesis
  checkout: clean up half-prepared directories in --to mode
  checkout: reject if the branch is already checked out elsewhere
  prune: strategies for linked checkouts
  checkout: support checking out into a new working directory
  ...
</content>
</entry>
<entry>
<title>Merge branch 'dw/shell-basename-dashdash-before-stripping-leading-dash-from-login'</title>
<updated>2014-12-22T20:26:48Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-12-22T20:26:48Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8e606f97f8dee35f839b50900db8ab98fe189b3c'/>
<id>urn:sha1:8e606f97f8dee35f839b50900db8ab98fe189b3c</id>
<content type='text'>
* dw/shell-basename-dashdash-before-stripping-leading-dash-from-login:
  git-sh-setup.sh: use dashdash with basename call
</content>
</entry>
<entry>
<title>git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects</title>
<updated>2014-12-01T19:00:13Z</updated>
<author>
<name>Nguyễn Thái Ngọc Duy</name>
<email>pclouds@gmail.com</email>
</author>
<published>2014-11-30T08:24:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3bc518084acfdbc81a656c9cdff1f1bd50e0615f'/>
<id>urn:sha1:3bc518084acfdbc81a656c9cdff1f1bd50e0615f</id>
<content type='text'>
If $GIT_COMMON_DIR is set, $GIT_OBJECT_DIRECTORY should be
$GIT_COMMON_DIR/objects, not $GIT_DIR/objects. Just let rev-parse
--git-path handle it.

Signed-off-by: Nguyễn Thái Ngọc Duy &lt;pclouds@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-sh-setup.sh: use dashdash with basename call</title>
<updated>2014-11-25T18:06:08Z</updated>
<author>
<name>Dan Wyand</name>
<email>danwyand@gmail.com</email>
</author>
<published>2014-11-24T23:03:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7d665f35849309faaa73cdfbf23210950cd4389d'/>
<id>urn:sha1:7d665f35849309faaa73cdfbf23210950cd4389d</id>
<content type='text'>
Calling basename on a argument that starts with a dash, like a login
shell, will result in an error. Add '--' before the argument so that
the argument is interpreted properly.

Signed-off-by: Dan Wyand &lt;danwyand@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'da/mergetool-tool-help'</title>
<updated>2014-10-21T20:28:37Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-10-21T20:28:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e96e98b3399ae4c638466f84068fe94d4712c5a3'/>
<id>urn:sha1:e96e98b3399ae4c638466f84068fe94d4712c5a3</id>
<content type='text'>
Allow "git mergetool --help" to run outside a Git repository.

* da/mergetool-tool-help:
  difftool: don't assume that default sh is sane
  mergetool: don't require a work tree for --tool-help
  git-sh-setup: move GIT_DIR initialization into a function
  mergetool: use more conservative temporary filenames
  test-lib-functions: adjust style to match CodingGuidelines
  t7610-mergetool: prefer test_config over git config
</content>
</entry>
<entry>
<title>git-sh-setup: move GIT_DIR initialization into a function</title>
<updated>2014-10-15T21:12:20Z</updated>
<author>
<name>David Aguilar</name>
<email>davvid@gmail.com</email>
</author>
<published>2014-10-11T08:39:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1c7e2d23e4f22f1599570d9c5d0cc2f4156b5b74'/>
<id>urn:sha1:1c7e2d23e4f22f1599570d9c5d0cc2f4156b5b74</id>
<content type='text'>
Signed-off-by: David Aguilar &lt;davvid@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>pager: remove 'S' from $LESS by default</title>
<updated>2014-05-07T20:41:04Z</updated>
<author>
<name>Matthieu Moy</name>
<email>Matthieu.Moy@imag.fr</email>
</author>
<published>2014-04-30T07:35:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b3275838d969b7ecb91aae584226fccbeb046aca'/>
<id>urn:sha1:b3275838d969b7ecb91aae584226fccbeb046aca</id>
<content type='text'>
By default, Git used to set $LESS to -FRSX if $LESS was not set by
the user. The FRX flags actually make sense for Git (F and X because
sometimes the output Git pipes to less is short, and R because Git
pipes colored output). The S flag (chop long lines), on the other
hand, is not related to Git and is a matter of user preference. Git
should not decide for the user to change LESS's default.

More specifically, the S flag harms users who review untrusted code
within a pager, since a patch looking like:

    -old code;
    +new good code; [... lots of tabs ...] malicious code;

would appear identical to:

    -old code;
    +new good code;

Users who prefer the old behavior can still set the $LESS environment
variable to -FRSX explicitly, or set core.pager to 'less -S'.

The documentation in config.txt is made a bit longer to keep both an
example setting the 'S' flag (needed to recover the old behavior)
and an example showing how to unset a flag set by Git.

Signed-off-by: Matthieu Moy &lt;Matthieu.Moy@imag.fr&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
