summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS1
-rw-r--r--CHANGES9
-rw-r--r--README2
-rw-r--r--VERSION2
-rw-r--r--lib/git/__init__.py24
-rw-r--r--lib/git/actor.py (renamed from lib/git_python/actor.py)0
-rw-r--r--lib/git/blob.py (renamed from lib/git_python/blob.py)0
-rw-r--r--lib/git/commit.py (renamed from lib/git_python/commit.py)0
-rw-r--r--lib/git/diff.py (renamed from lib/git_python/diff.py)0
-rw-r--r--lib/git/errors.py (renamed from lib/git_python/errors.py)0
-rw-r--r--lib/git/gitter.py (renamed from lib/git_python/git.py)24
-rw-r--r--lib/git/head.py (renamed from lib/git_python/head.py)0
-rw-r--r--lib/git/lazy.py (renamed from lib/git_python/lazy.py)0
-rw-r--r--lib/git/method_missing.py (renamed from lib/git_python/method_missing.py)0
-rw-r--r--lib/git/repo.py (renamed from lib/git_python/repo.py)2
-rw-r--r--lib/git/stats.py (renamed from lib/git_python/stats.py)0
-rw-r--r--lib/git/tag.py (renamed from lib/git_python/tag.py)0
-rw-r--r--lib/git/tree.py (renamed from lib/git_python/tree.py)0
-rw-r--r--lib/git/utils.py (renamed from lib/git_python/utils.py)6
-rw-r--r--lib/git_python/__init__.py21
-rw-r--r--setup.cfg3
-rw-r--r--test/git/test_actor.py2
-rw-r--r--test/git/test_blob.py2
-rw-r--r--test/git/test_commit.py2
-rw-r--r--test/git/test_diff.py2
-rw-r--r--test/git/test_git.py25
-rw-r--r--test/git/test_head.py2
-rw-r--r--test/git/test_repo.py2
-rw-r--r--test/git/test_stats.py2
-rw-r--r--test/git/test_tag.py2
-rw-r--r--test/git/test_tree.py2
-rw-r--r--test/git/test_utils.py17
32 files changed, 69 insertions, 85 deletions
diff --git a/AUTHORS b/AUTHORS
index a3b7b8ea..bd1d4425 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,3 +1,4 @@
Michael Trier <mtrier _at_ gmail.com>
Alan Briolat
Florian Apolloner <florian _at_ apolloner.eu>
+David Aguilar <davvid _at_ gmail.com>
diff --git a/CHANGES b/CHANGES
index c97be118..d4bd4875 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,15 @@
CHANGES
=======
+0.1.3
+=====
+
+Git
+---
+* Removed shell escaping completely
+* Added support for stderr and stdin
+* Added new
+
0.1.2
=====
Corrected problem with Tree.__div__ not working with zero length files.
diff --git a/README b/README
index fd5597c6..e67a6abc 100644
--- a/README
+++ b/README
@@ -52,7 +52,7 @@ Initialize a Repo object
The first step is to create a ``Repo`` object to represent your repository.
- >>> from git_python import *
+ >>> from git import *
>>> repo = Repo("/Users/mtrier/Development/git-python")
In the above example, the directory ``/Users/mtrier/Development/git-python``
diff --git a/VERSION b/VERSION
index d917d3e2..7693c96b 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.1.2
+0.1.3 \ No newline at end of file
diff --git a/lib/git/__init__.py b/lib/git/__init__.py
new file mode 100644
index 00000000..66ce9a45
--- /dev/null
+++ b/lib/git/__init__.py
@@ -0,0 +1,24 @@
+import os
+import inspect
+
+# grab the version information
+v = open(os.path.join(os.path.dirname(__file__), '..', '..', 'VERSION'))
+__version__ = v.readline().strip()
+v.close()
+
+from git.actor import Actor
+from git.blob import Blob
+from git.commit import Commit
+from git.diff import Diff
+from git.errors import InvalidGitRepositoryError, NoSuchPathError, GitCommandError
+from git.gitter import Git
+from git.head import Head
+from git.repo import Repo
+from git.stats import Stats
+from git.tag import Tag
+from git.tree import Tree
+from git.utils import dashify
+from git.utils import touch
+
+__all__ = [ name for name, obj in locals().items()
+ if not (name.startswith('_') or inspect.ismodule(obj)) ]
diff --git a/lib/git_python/actor.py b/lib/git/actor.py
index ed21d8ba..ed21d8ba 100644
--- a/lib/git_python/actor.py
+++ b/lib/git/actor.py
diff --git a/lib/git_python/blob.py b/lib/git/blob.py
index 134cb93d..134cb93d 100644
--- a/lib/git_python/blob.py
+++ b/lib/git/blob.py
diff --git a/lib/git_python/commit.py b/lib/git/commit.py
index 701f6c04..701f6c04 100644
--- a/lib/git_python/commit.py
+++ b/lib/git/commit.py
diff --git a/lib/git_python/diff.py b/lib/git/diff.py
index 075b0f87..075b0f87 100644
--- a/lib/git_python/diff.py
+++ b/lib/git/diff.py
diff --git a/lib/git_python/errors.py b/lib/git/errors.py
index f3fae26b..f3fae26b 100644
--- a/lib/git_python/errors.py
+++ b/lib/git/errors.py
diff --git a/lib/git_python/git.py b/lib/git/gitter.py
index 759c9127..422552a7 100644
--- a/lib/git_python/git.py
+++ b/lib/git/gitter.py
@@ -15,9 +15,9 @@ class Git(MethodMissingMixin):
def __init__(self, git_dir=None):
super(Git, self).__init__()
if git_dir:
- self.find_git_dir( git_dir )
+ self.find_git_dir(git_dir)
else:
- self.find_git_dir( os.getcwd() )
+ self.find_git_dir(os.getcwd())
def find_git_dir(self, path):
"""Find the best value for self.git_dir.
@@ -34,15 +34,15 @@ class Git(MethodMissingMixin):
cdup = self.execute(["git", "rev-parse", "--show-cdup"])
if cdup:
- path = os.path.abspath( os.path.join( self.git_dir, cdup ) )
+ path = os.path.abspath(os.path.join(self.git_dir, cdup))
else:
is_bare_repository =\
- self.rev_parse( is_bare_repository=True ) == "true"
+ self.rev_parse(is_bare_repository=True) == "true"
is_inside_git_dir =\
- self.rev_parse( is_inside_git_dir=True ) == "true"
+ self.rev_parse(is_inside_git_dir=True) == "true"
if not is_bare_repository and is_inside_git_dir:
- path = os.path.dirname( self.git_dir )
+ path = os.path.dirname(self.git_dir)
self.git_dir = path
@@ -116,7 +116,7 @@ class Git(MethodMissingMixin):
status = proc.poll()
if with_exceptions and status != 0:
raise GitCommandError("%s returned exit status %d"
- % ( str(command), status ))
+ % (str(command), status))
# Allow access to the command's status code
if with_status:
@@ -167,11 +167,11 @@ class Git(MethodMissingMixin):
# Handle optional arguments prior to calling transform_kwargs
# otherwise these'll end up in args, which is bad.
- istream = pop_key(kwargs, "istream")
- with_status = pop_key(kwargs, "with_status")
- with_stderr = pop_key(kwargs, "with_stderr")
- with_exceptions = pop_key(kwargs, "with_exceptions")
- with_raw_output = pop_key(kwargs, "with_raw_output")
+ istream = kwargs.pop("istream", None)
+ with_status = kwargs.pop("with_status", None)
+ with_stderr = kwargs.pop("with_stderr", None)
+ with_exceptions = kwargs.pop("with_exceptions", None)
+ with_raw_output = kwargs.pop("with_raw_output", None)
# Prepare the argument list
opt_args = self.transform_kwargs(**kwargs)
diff --git a/lib/git_python/head.py b/lib/git/head.py
index 58191fd8..58191fd8 100644
--- a/lib/git_python/head.py
+++ b/lib/git/head.py
diff --git a/lib/git_python/lazy.py b/lib/git/lazy.py
index 66e56c2b..66e56c2b 100644
--- a/lib/git_python/lazy.py
+++ b/lib/git/lazy.py
diff --git a/lib/git_python/method_missing.py b/lib/git/method_missing.py
index 478ee1d3..478ee1d3 100644
--- a/lib/git_python/method_missing.py
+++ b/lib/git/method_missing.py
diff --git a/lib/git_python/repo.py b/lib/git/repo.py
index c71ae6fb..c130650e 100644
--- a/lib/git_python/repo.py
+++ b/lib/git/repo.py
@@ -2,7 +2,7 @@ import os
import re
from errors import InvalidGitRepositoryError, NoSuchPathError
from utils import touch
-from git import Git
+from gitter import Git
from head import Head
from blob import Blob
from tag import Tag
diff --git a/lib/git_python/stats.py b/lib/git/stats.py
index 95dc875e..95dc875e 100644
--- a/lib/git_python/stats.py
+++ b/lib/git/stats.py
diff --git a/lib/git_python/tag.py b/lib/git/tag.py
index fb119f76..fb119f76 100644
--- a/lib/git_python/tag.py
+++ b/lib/git/tag.py
diff --git a/lib/git_python/tree.py b/lib/git/tree.py
index 9c4dab1d..9c4dab1d 100644
--- a/lib/git_python/tree.py
+++ b/lib/git/tree.py
diff --git a/lib/git_python/utils.py b/lib/git/utils.py
index f367c3e2..c2140ba0 100644
--- a/lib/git_python/utils.py
+++ b/lib/git/utils.py
@@ -3,9 +3,3 @@ def dashify(string):
def touch(filename):
open(filename, "a").close()
-
-def pop_key(d, key):
- value = d.get(key, None)
- if key in d:
- del d[key]
- return value
diff --git a/lib/git_python/__init__.py b/lib/git_python/__init__.py
deleted file mode 100644
index 36eb7b37..00000000
--- a/lib/git_python/__init__.py
+++ /dev/null
@@ -1,21 +0,0 @@
-import inspect
-
-from git_python.actor import Actor
-from git_python.blob import Blob
-from git_python.commit import Commit
-from git_python.diff import Diff
-from git_python.errors import InvalidGitRepositoryError, NoSuchPathError
-from git_python.git import Git
-from git_python.head import Head
-from git_python.repo import Repo
-from git_python.stats import Stats
-from git_python.tag import Tag
-from git_python.tree import Tree
-from git_python.utils import dashify
-from git_python.utils import touch
-from git_python.utils import pop_key
-
-__all__ = [ name for name, obj in locals().items()
- if not (name.startswith('_') or inspect.ismodule(obj)) ]
-
-__version__ = 'svn'
diff --git a/setup.cfg b/setup.cfg
deleted file mode 100644
index 01bb9544..00000000
--- a/setup.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-[egg_info]
-tag_build = dev
-tag_svn_revision = true
diff --git a/test/git/test_actor.py b/test/git/test_actor.py
index 14b78f19..7468c3ff 100644
--- a/test/git/test_actor.py
+++ b/test/git/test_actor.py
@@ -1,6 +1,6 @@
import os
from test.testlib import *
-from git_python import *
+from git import *
class TestActor(object):
def test_from_string_should_separate_name_and_email(self):
diff --git a/test/git/test_blob.py b/test/git/test_blob.py
index ee546ab4..05d68285 100644
--- a/test/git/test_blob.py
+++ b/test/git/test_blob.py
@@ -1,6 +1,6 @@
import time
from test.testlib import *
-from git_python import *
+from git import *
class TestBlob(object):
def setup(self):
diff --git a/test/git/test_commit.py b/test/git/test_commit.py
index 65e92812..44b24c82 100644
--- a/test/git/test_commit.py
+++ b/test/git/test_commit.py
@@ -1,5 +1,5 @@
from test.testlib import *
-from git_python import *
+from git import *
class TestCommit(object):
def setup(self):
diff --git a/test/git/test_diff.py b/test/git/test_diff.py
index b605eddd..7b24cd97 100644
--- a/test/git/test_diff.py
+++ b/test/git/test_diff.py
@@ -1,5 +1,5 @@
from test.testlib import *
-from git_python import *
+from git import *
class TestDiff(object):
def setup(self):
diff --git a/test/git/test_git.py b/test/git/test_git.py
index c20ea7b5..e358d01b 100644
--- a/test/git/test_git.py
+++ b/test/git/test_git.py
@@ -1,7 +1,6 @@
import os
from test.testlib import *
-from git_python import Git
-from git_python import errors
+from git import Git, GitCommandError
class TestGit(object):
def setup(self):
@@ -30,28 +29,24 @@ class TestGit(object):
def test_it_accepts_stdin(self):
filename = fixture_path("cat_file_blob")
fh = open(filename, 'r')
- assert_equal( "70c379b63ffa0795fdbfbc128e5a2818397b7ef8",
- self.git.hash_object(istream=fh, stdin=True) )
+ assert_equal("70c379b63ffa0795fdbfbc128e5a2818397b7ef8",
+ self.git.hash_object(istream=fh, stdin=True))
fh.close()
def test_it_returns_status_and_ignores_stderr(self):
- assert_equal( (1, ""), self.git.this_does_not_exist(with_status=True) )
+ assert_equal((1, ""), self.git.this_does_not_exist(with_status=True))
+ @raises(GitCommandError)
def test_it_raises_errors(self):
- error_raised = False
- try:
- self.git.this_does_not_exist(with_exceptions=True)
- except errors.GitCommandError, e:
- error_raised = True
- assert_equal( True, error_raised )
+ self.git.this_does_not_exist(with_exceptions=True)
def test_it_returns_stderr_in_output(self):
# Note: no trailiing newline
- assert_equal( "git: 'this-does-not-exist' is not a git-command. See 'git --help'.",
- self.git.this_does_not_exist(with_stderr=True) )
+ assert_match(r"^git: 'this-does-not-exist' is not a git-command",
+ self.git.this_does_not_exist(with_stderr=True))
def test_it_does_not_strip_output_when_using_with_raw_output(self):
# Note: trailing newline
- assert_equal( "git: 'this-does-not-exist' is not a git-command. See 'git --help'." + os.linesep,
+ assert_match(r"^git: 'this-does-not-exist' is not a git-command" + os.linesep,
self.git.this_does_not_exist(with_stderr=True,
- with_raw_output=True) )
+ with_raw_output=True))
diff --git a/test/git/test_head.py b/test/git/test_head.py
index 47cfb608..0e5592d3 100644
--- a/test/git/test_head.py
+++ b/test/git/test_head.py
@@ -1,5 +1,5 @@
from test.testlib import *
-from git_python import *
+from git import *
class TestHead(object):
def setup(self):
diff --git a/test/git/test_repo.py b/test/git/test_repo.py
index 9a50e713..3f7196be 100644
--- a/test/git/test_repo.py
+++ b/test/git/test_repo.py
@@ -1,7 +1,7 @@
import os
import time
from test.testlib import *
-from git_python import *
+from git import *
class TestRepo(object):
def setup(self):
diff --git a/test/git/test_stats.py b/test/git/test_stats.py
index 4926ac4f..abe129a8 100644
--- a/test/git/test_stats.py
+++ b/test/git/test_stats.py
@@ -1,5 +1,5 @@
from test.testlib import *
-from git_python import *
+from git import *
class TestStats(object):
def setup(self):
diff --git a/test/git/test_tag.py b/test/git/test_tag.py
index e882f5e7..30311f52 100644
--- a/test/git/test_tag.py
+++ b/test/git/test_tag.py
@@ -1,6 +1,6 @@
from mock import *
from test.testlib import *
-from git_python import *
+from git import *
class TestTag(object):
def setup(self):
diff --git a/test/git/test_tree.py b/test/git/test_tree.py
index 0550e410..e91e57ba 100644
--- a/test/git/test_tree.py
+++ b/test/git/test_tree.py
@@ -1,5 +1,5 @@
from test.testlib import *
-from git_python import *
+from git import *
class TestTree(object):
def setup(self):
diff --git a/test/git/test_utils.py b/test/git/test_utils.py
index b6eee00a..b8fcfb3e 100644
--- a/test/git/test_utils.py
+++ b/test/git/test_utils.py
@@ -1,6 +1,6 @@
import os
from test.testlib import *
-from git_python import *
+from git import *
class TestUtils(object):
def setup(self):
@@ -13,18 +13,3 @@ class TestUtils(object):
def test_it_should_dashify(self):
assert_equal('this-is-my-argument', dashify('this_is_my_argument'))
assert_equal('foo', dashify('foo'))
-
- def test_pop_key_array(self):
- array = pop_key(self.testdict, "array")
- assert_equal( [ 42 ], array )
- assert_equal( False, "array" in self.testdict )
-
- def test_pop_key_string(self):
- stringValue = pop_key(self.testdict, "string")
- assert_equal( "42", stringValue )
- assert_equal( False, "string" in self.testdict )
-
- def test_pop_key_int(self):
- intValue = pop_key(self.testdict, "int")
- assert_equal( 42, intValue )
- assert_equal( False, "int" in self.testdict )