Fixed 'Inappropriate ioctl for device' problem on posix systems
Added test for backslahed/quoted values
Fixed quotes and backslashes handling in GitConfigParser
Fixed a case were values containing \\" were not properly escaped
Fix fd leak on git cmd.

Currently if command is called with as_proces=True, pipes for the
command will not be closed.

This change makes sure to close command file descriptors.
Ignore signal exception on AutoInterrupt destructor.

When command run as subprocess, AutoInterrupt will kill the
process on destructor. However, if process already finished,
it raise OSError exception.

This fix just ignore OSError on os.kill.
Merge pull request #58 from sugi/cmd-fd-leak-fix

Fixes on cmd.py (fd leak and signal exception)

Currently if command is called with as_proces=True, pipes for the
command will not be closed.

cb68f36 makes sure to close command file descriptors.
Ignore signal exception on AutoInterrupt destructor.

When command run as subprocess, AutoInterrupt will kill the
process on destructor. However, if process already finished,
it raise OSError exception.
Merge pull request #43 from swallat/master

Fixed 'Inappropriate ioctl for device' problem on posix systems

Without an active login shell on linux or osx, we now use the password database to obtain the active login, instead of relying on environment variables).
Merge pull request #46 from ereOn/master

Incorrect handling of backslashes and quotes in GitConfigParser

Steps to reproduce the issue:

import git
config = git.Repo().config_writer()
config.add_section('test')
config.set_value('test', 'test', r'some\data')

Now if you try to read this value using a regular (non Python) git config, Git complains that the configuration file is invalid:

fatal: bad config file line 11 in .git/config

Indeed, if you open .git/config you can see that the value is written as:

[test]
  test = some\data

While the git-config configuration states that:

    String values may be entirely or partially enclosed in double quotes. You need to enclose variable values in double quotes if you want to preserve leading or trailing whitespace, or if the variable value contains comment characters (i.e. it contains # or ;). Double quote " and backslash \ characters in variable values must be escaped: use \" for " and \ for .

That is, the backslashes are not escaped in the configuration file.

This also causes issues while reading, because values are not un-escaped.

This pull request fixes both those issues and also fixes unescaped quotes pairs.

A test-case has been provided along with the fixes.
detect renames in "git diff --raw" output

potentially fixes https://github.com/gitpython-developers/GitPython/issues/36
add tests for git.diff.Diff._index_from_raw_format()
Merge pull request #62 from P2000/p2000

detect renames in "git diff --raw" output
submodules now use the http protocol to faciliate use in corporate networks
Make GitPython work on non English systems
Merge pull request #68 from FlorianLudwig/master

Fix GitPython on systems with language != english
Add an output_strip kwarg to Git.execute

Strip the last line of the output if it is empty (default). Stripping should be
disabled whenever it is important that the output is not modified in any way.
For example when retrieving patch files using git-diff.
Merge pull request #79 from znerol/feature/master/cmd-output-strip

Add an output_strip kwarg to Git.execute
strip trailing whitespace
proper synatx highlighting for shell commands
remove indentation for link