<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/git.git/compat, branch v1.7.7.4</title>
<subtitle>Git
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.7.7.4</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/atom?h=v1.7.7.4'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/'/>
<updated>2011-10-06T20:54:32Z</updated>
<entry>
<title>cleanup: use internal memory allocation wrapper functions everywhere</title>
<updated>2011-10-06T20:54:32Z</updated>
<author>
<name>Brandon Casey</name>
<email>drafnel@gmail.com</email>
</author>
<published>2011-10-06T18:22:22Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=040a655116c9755bbf30acd22c34eecb2f502c6d'/>
<id>urn:sha1:040a655116c9755bbf30acd22c34eecb2f502c6d</id>
<content type='text'>
The "x"-prefixed versions of strdup, malloc, etc. will check whether the
allocation was successful and terminate the process otherwise.

A few uses of malloc were left alone since they already implemented a
graceful path of failure or were in a quasi external library like xdiff.

Additionally, the call to malloc in compat/win32/syslog.c was not modified
since the syslog() implemented there is a die handler and a call to the
x-wrappers within a die handler could result in recursion should memory
allocation fail.  This will have to be addressed separately.

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>obstack: Fix portability issues</title>
<updated>2011-08-29T05:03:26Z</updated>
<author>
<name>Fredrik Kuivinen</name>
<email>frekui@gmail.com</email>
</author>
<published>2011-08-28T20:08:46Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=d190a0875ff0f33d60a4d7265f2098b35d162f68'/>
<id>urn:sha1:d190a0875ff0f33d60a4d7265f2098b35d162f68</id>
<content type='text'>
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1, SunOS 5.10, and possibly
others do not have exit.h and exitfail.h. Remove the use of these in
obstack.c.

The __block variable was renamed to block to avoid a gcc error:

compat/obstack.h:190: error: __block attribute can be specified on variables only

Initial-patch-by: David Aguilar &lt;davvid@gmail.com&gt;
Reported-by: Brian Gernhardt &lt;brian@gernhardtsoftware.com&gt;
Signed-off-by: Fredrik Kuivinen &lt;frekui@gmail.com&gt;
Acked-by: David Aguilar &lt;davvid@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Add obstack.[ch] from EGLIBC 2.10</title>
<updated>2011-08-21T05:30:46Z</updated>
<author>
<name>Fredrik Kuivinen</name>
<email>frekui@gmail.com</email>
</author>
<published>2011-08-20T22:40:40Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=e831171d67469f3942c56433e3cd3c98fca15e72'/>
<id>urn:sha1:e831171d67469f3942c56433e3cd3c98fca15e72</id>
<content type='text'>
Signed-off-by: Fredrik Kuivinen &lt;frekui@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jc/maint-cygwin-trust-executable-bit-default'</title>
<updated>2011-07-13T21:31:36Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-07-13T21:31:36Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=df9b29ce82ba24729d5431f5e9751470e3a44f25'/>
<id>urn:sha1:df9b29ce82ba24729d5431f5e9751470e3a44f25</id>
<content type='text'>
* jc/maint-cygwin-trust-executable-bit-default:
  cygwin: trust executable bit by default
</content>
</entry>
<entry>
<title>Merge branch 'rj/config-cygwin'</title>
<updated>2011-07-13T21:31:36Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-07-13T21:31:36Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=551d75dbd80cb6af08376ea8a12bdaa3f5860f35'/>
<id>urn:sha1:551d75dbd80cb6af08376ea8a12bdaa3f5860f35</id>
<content type='text'>
* rj/config-cygwin:
  config.c: Make git_config() work correctly when called recursively
  t1301-*.sh: Fix the 'forced modes' test on cygwin
  help.c: Fix detection of custom merge strategy on cygwin
</content>
</entry>
<entry>
<title>Merge branch 'ef/maint-win-verify-path'</title>
<updated>2011-06-30T00:09:17Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-06-30T00:09:17Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=033c2dc4364042b9e6dbd44e82e1974f78a72567'/>
<id>urn:sha1:033c2dc4364042b9e6dbd44e82e1974f78a72567</id>
<content type='text'>
* ef/maint-win-verify-path:
  verify_dotfile(): do not assume '/' is the path seperator
  verify_path(): simplify check at the directory boundary
  verify_path: consider dos drive prefix
  real_path: do not assume '/' is the path seperator
  A Windows path starting with a backslash is absolute
</content>
</entry>
<entry>
<title>Merge branch 'js/i18n-windows'</title>
<updated>2011-06-30T00:03:13Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-06-30T00:03:13Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=1fd7ef2e8f6b8b67f4d3be7b9ab5bbd9d8f639ec'/>
<id>urn:sha1:1fd7ef2e8f6b8b67f4d3be7b9ab5bbd9d8f639ec</id>
<content type='text'>
* js/i18n-windows:
  Windows: teach getenv to do a case-sensitive search
  mingw.c: move definition of mingw_getenv down
  sh-i18n--envsubst: do not crash when no arguments are given
</content>
</entry>
<entry>
<title>cygwin: trust executable bit by default</title>
<updated>2011-06-20T20:09:04Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2011-06-20T19:31:59Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=085479e7001b6feb7e9be02e77d84e27be796774'/>
<id>urn:sha1:085479e7001b6feb7e9be02e77d84e27be796774</id>
<content type='text'>
Earlier 7974843 (compat/cygwin.c: make runtime detection of lstat/stat
lessor impact, 2008-10-23) fixed the low-level "do we use cygwin specific
hacks for stat/lstat?" logic not to call into git_default_config() from
random codepaths that are typically very late in the program, to prevent
the call from potentially overwriting other variables that are initialized
from the configuration.

However, it forgot that on Cygwin, trust-executable-bit should default to
true.

Noticed by J6t, confirmed by Ramsay Jones, and the brown paper bag is on
Gitster's head.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>t1301-*.sh: Fix the 'forced modes' test on cygwin</title>
<updated>2011-06-16T22:10:54Z</updated>
<author>
<name>Ramsay Jones</name>
<email>ramsay@ramsay1.demon.co.uk</email>
</author>
<published>2011-06-16T20:23:14Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=452993c297530498780d4b0c7b2b267258cb625f'/>
<id>urn:sha1:452993c297530498780d4b0c7b2b267258cb625f</id>
<content type='text'>
The 'forced modes' test fails on cygwin because the post-update
hook loses it's executable bit when copied from the templates
directory by git-init. The template loses it's executable bit
because the lstat() function resolves to the "native Win32 API"
implementation.

This call to lstat() happens after git-init has set the "git_dir"
(so has_git_dir() returns true), but before the configuration has
been fully initialised. At this point git_config() does not find
any config files to parse and returns 0. Unfortunately, the code
used to determine the cygwin l/stat() function bindings did not
check the return from git_config() and assumed that the config
was complete and accessible once "git_dir" was set.

In order to fix the test, we simply change the binding code to
test the return value from git_config(), to ensure that it actually
had config values to read, before determining the requested binding.

Signed-off-by: Ramsay Jones &lt;ramsay@ramsay1.demon.co.uk&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Windows: teach getenv to do a case-sensitive search</title>
<updated>2011-06-06T18:35:10Z</updated>
<author>
<name>Johannes Sixt</name>
<email>j6t@kdbg.org</email>
</author>
<published>2011-06-06T07:08:13Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/git.git/commit/?id=df599e9612788b728ce43a03159b85f1fe624d6a'/>
<id>urn:sha1:df599e9612788b728ce43a03159b85f1fe624d6a</id>
<content type='text'>
getenv() on Windows looks up environment variables in a case-insensitive
manner. Even though all documentations claim that the environment is
case-insensitive, it is possible for applications to pass an environment
to child processes that has variables that differ only in case. Bash on
Windows does this, for example, and sh-i18n--envsubst depends on this
behavior.

With this patch environment variables are first looked up in a
case-sensitive manner; only if this finds nothing, the system's getenv() is
used as a fallback.

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