<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/git.git/git-sh-setup.sh, branch v1.6.4.5</title>
<subtitle>Git
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.6.4.5</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.6.4.5'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/'/>
<updated>2009-06-18T16:50:31Z</updated>
<entry>
<title>git-sh-setup: introduce say() for quiet options</title>
<updated>2009-06-18T16:50:31Z</updated>
<author>
<name>Stephen Boyd</name>
<email>bebarino@gmail.com</email>
</author>
<published>2009-06-16T22:32:59Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=e064c170b4abe21f50658f2ec3b07e4ec7520767'/>
<id>urn:sha1:e064c170b4abe21f50658f2ec3b07e4ec7520767</id>
<content type='text'>
Scripts should use say() when they want to output non-error messages.
This function helps future script writers easily implement a quiet
option by setting GIT_QUIET to enable suppression of non-error messages.

Signed-off-by: Stephen Boyd &lt;bebarino@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Makefile: insert SANE_TOOL_PATH to PATH before /bin or /usr/bin</title>
<updated>2009-06-10T07:02:20Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-06-08T16:41:49Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=61dbb3c4415169194d9351cc4b68dd88788a93c5'/>
<id>urn:sha1:61dbb3c4415169194d9351cc4b68dd88788a93c5</id>
<content type='text'>
In an earlier patch, we introduced SANE_TOOL_PATH that is prepended to
user's PATH.  This had an unintended consequence of overriding user's
private binary directory that typically comes earlier in the PATH to holds
even saner commands than whatever comes with the system.

For example, a user may have ~/bin that is early in the path and contains
a shell script "vi" that launches system's /bin/vi with specific options.
Prepending SANE_TOOL_PATH to the PATH that happens to have "vi" in it
defeats such customization.

This fixes the issue by inserting SANE_TOOL_PATH just before /bin or
/usr/bin appears on the PATH.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Makefile: introduce SANE_TOOL_PATH for prepending required elements to PATH</title>
<updated>2009-06-06T20:21:51Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-06-05T23:36:15Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=0e0aea5a47b675ab2dca9c77180b8fe9bc6bdeec'/>
<id>urn:sha1:0e0aea5a47b675ab2dca9c77180b8fe9bc6bdeec</id>
<content type='text'>
Some platforms (like SunOS and family) have kept their common binaries at
some historical moment in time, and introduced new binaries with modern
features in a special location like /usr/xpg4/bin or /usr/ucb.  Some of the
features provided by these modern binaries are expected and required by git.
If the featureful binaries are not in the users path, then git could end up
using the less featureful binary and fail.

So provide a mechanism to prepend elements to the users PATH at runtime so
the modern binaries will be found.

Signed-off-by: Brandon Casey &lt;drafnel@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-sh-setup: Use "cd" option, not /bin/pwd, for symlinked work tree</title>
<updated>2009-02-07T08:45:29Z</updated>
<author>
<name>Marcel M. Cary</name>
<email>marcel@oak.homeunix.org</email>
</author>
<published>2009-02-07T03:24:28Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=2c3c395e84409c278bd7b050877c36d04b952056'/>
<id>urn:sha1:2c3c395e84409c278bd7b050877c36d04b952056</id>
<content type='text'>
In cd_to_toplevel, instead of 'cd $(unset PWD; /bin/pwd)/$path'
use 'cd -P $path'.  The "-P" option yields a desirable similarity to
C chdir.

While the "-P" option may be slightly less commonly supported than
/bin/pwd, it is more concise, better tested, and less error prone.
I've already added the 'unset PWD' to fix the /bin/pwd solution on
BSD; there may be more edge cases out there.

This still passes all the same test cases in t5521-pull-symlink.sh and
t2300-cd-to-toplevel.sh, even before updating them to use 'pwd -P'.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-sh-setup: Fix scripts whose PWD is a symlink to a work-dir on OS X</title>
<updated>2009-01-05T19:46:58Z</updated>
<author>
<name>Marcel M. Cary</name>
<email>marcel@oak.homeunix.org</email>
</author>
<published>2008-12-30T15:10:24Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=dd6c1360b22ee89cb179e2a1fface98ecbeb7b3e'/>
<id>urn:sha1:dd6c1360b22ee89cb179e2a1fface98ecbeb7b3e</id>
<content type='text'>
On Mac OS X and possibly BSDs, /bin/pwd reads PWD from the environment if
available and shows the logical path by default rather than the physical
one.

Unset PWD before running /bin/pwd in both cd_to_toplevel and its test.

Still use the external /bin/pwd because in my Bash on Linux, the builtin
pwd prints the same result whether or not PWD is set.

Signed-off-by: Marcel M. Cary &lt;marcel@oak.homeunix.org&gt;
Tested-by: Wincent Colaiuta &lt;win@wincent.com&gt; (on Mac OS X 10.5.5)
Tested-by: Marcel Koeppen &lt;git-dev@marzelpan.de&gt; (on Mac OS X 10.5.6)
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-sh-setup: Fix scripts whose PWD is a symlink into a git work-dir</title>
<updated>2008-12-21T09:10:48Z</updated>
<author>
<name>Marcel M. Cary</name>
<email>marcel@oak.homeunix.org</email>
</author>
<published>2008-12-15T17:34:37Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=08fc0608657ee91bc85276667804c36a93138c7d'/>
<id>urn:sha1:08fc0608657ee91bc85276667804c36a93138c7d</id>
<content type='text'>
I want directories of my working tree to be linked to from various
paths on my filesystem where third-party components expect them, both
in development and production environments.  A build system's install
step could solve this, but I develop scripts and web pages that don't
need to be built.  Git's submodule system could solve this, but we
tend to develop, branch, and test those directories all in unison, so
one big repository feels more natural.  We prefer to edit and commit
on the symlinked paths, not the canonical ones, and in that setting,
"git pull" fails to find the top-level directory of the repository
while other commands work fine.

"git pull" fails because POSIX shells have a notion of current working
directory that is different from getcwd().  The shell stores this path
in PWD.  As a result, "cd ../" can be interpreted differently in a
shell script than chdir("../") in a C program.  The shell interprets
"../" by essentially stripping the last textual path component from
PWD, whereas C chdir() follows the ".." link in the current directory
on the filesystem.  When PWD is a symlink, these are different
destinations.  As a result, Git's C commands find the correct
top-level working tree, and shell scripts do not.

Changes:

* When interpreting a relative upward (../) path in cd_to_toplevel,
  prepend the cwd without symlinks, given by /bin/pwd
* Add tests for cd_to_toplevel and "git pull" in a symlinked
  directory that failed before this fix, plus contrasting scenarios
  that already worked

Signed-off-by: Marcel M. Cary &lt;marcel@oak.homeunix.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Make usage strings dash-less</title>
<updated>2008-07-13T21:12:48Z</updated>
<author>
<name>Stephan Beyer</name>
<email>s-beyer@gmx.net</email>
</author>
<published>2008-07-13T13:36:15Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=1b1dd23f2d6a707b7077cdf6bc6d4055bd0bfb7d'/>
<id>urn:sha1:1b1dd23f2d6a707b7077cdf6bc6d4055bd0bfb7d</id>
<content type='text'>
When you misuse a git command, you are shown the usage string.
But this is currently shown in the dashed form.  So if you just
copy what you see, it will not work, when the dashed form
is no longer supported.

This patch makes git commands show the dash-less version.

For shell scripts that do not specify OPTIONS_SPEC, git-sh-setup.sh
generates a dash-less usage string now.

Signed-off-by: Stephan Beyer &lt;s-beyer@gmx.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Windows: Work around incompatible sort and find.</title>
<updated>2008-06-26T06:45:09Z</updated>
<author>
<name>Johannes Sixt</name>
<email>johannes.sixt@telecom.at</email>
</author>
<published>2007-11-30T21:06:30Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=87bddba9924045e39e988d9704714db90abd5619'/>
<id>urn:sha1:87bddba9924045e39e988d9704714db90abd5619</id>
<content type='text'>
If the PATH lists the Windows system directories before the MSYS
directories, Windows's own incompatible sort and find commands would be
picked up. We implement these commands as functions and call the real
tools by absolute path.

Signed-off-by: Johannes Sixt &lt;johannes.sixt@telecom.at&gt;
</content>
</entry>
<entry>
<title>Simplify setup of $GIT_DIR in git-sh-setup.sh</title>
<updated>2008-02-19T05:53:44Z</updated>
<author>
<name>Lars Hjemli</name>
<email>hjemli@gmail.com</email>
</author>
<published>2008-02-18T10:44:19Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=4d6d6d2d3f778b892f2481969e530ff67ee0aa6c'/>
<id>urn:sha1:4d6d6d2d3f778b892f2481969e530ff67ee0aa6c</id>
<content type='text'>
Using 'git rev-parse --git-dir' makes the code shorter and more future-
proof.

Signed-off-by: Lars Hjemli &lt;hjemli@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Protect get_author_ident_from_commit() from filenames in work tree</title>
<updated>2008-02-13T21:43:02Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2008-02-13T21:13:21Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=077b725f0bbe2b6ca2deb569c22a6f0d7a374dd3'/>
<id>urn:sha1:077b725f0bbe2b6ca2deb569c22a6f0d7a374dd3</id>
<content type='text'>
We used to use "cat-file commit $commit" to extract the original
author information from existing commit, but an earlier commit
5ac2715 (Consistent message encoding while reusing log from an
existing commit) changed it to use "git show -s $commit".  If
you have a file in your work tree that can be interpreted as a
valid object name (e.g. "HEAD"), this conversion will not work.

Disambiguate by marking the end of revision parameter on the
comand line with an explicit "--" to fix this.

This breakage is most visible with rebase when a file called
"HEAD" exists in the worktree.

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