diff options
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | CHANGES | 9 | ||||
-rw-r--r-- | README | 2 | ||||
-rw-r--r-- | VERSION | 2 | ||||
-rw-r--r-- | lib/git/__init__.py | 24 | ||||
-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__.py | 21 | ||||
-rw-r--r-- | setup.cfg | 3 | ||||
-rw-r--r-- | test/git/test_actor.py | 2 | ||||
-rw-r--r-- | test/git/test_blob.py | 2 | ||||
-rw-r--r-- | test/git/test_commit.py | 2 | ||||
-rw-r--r-- | test/git/test_diff.py | 2 | ||||
-rw-r--r-- | test/git/test_git.py | 25 | ||||
-rw-r--r-- | test/git/test_head.py | 2 | ||||
-rw-r--r-- | test/git/test_repo.py | 2 | ||||
-rw-r--r-- | test/git/test_stats.py | 2 | ||||
-rw-r--r-- | test/git/test_tag.py | 2 | ||||
-rw-r--r-- | test/git/test_tree.py | 2 | ||||
-rw-r--r-- | test/git/test_utils.py | 17 |
32 files changed, 69 insertions, 85 deletions
@@ -1,3 +1,4 @@ Michael Trier <mtrier _at_ gmail.com> Alan Briolat Florian Apolloner <florian _at_ apolloner.eu> +David Aguilar <davvid _at_ gmail.com> @@ -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. @@ -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`` @@ -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 ) |