aboutsummaryrefslogtreecommitdiff
path: root/test/git/test_commit.py
AgeCommit message (Collapse)Author
2010-06-02commit: redesigned revlist and commit parsing, commits are always retrieved ↵Sebastian Thiel
from their object information directly. This is faster, and resolves issues with the rev-list format and empty commit messages Adjusted many tests to go with the changes, as they were still mocked. The mock was removed if necessary and replaced by code that actually executes
2010-06-02commit: refactored existing code to decode commits from streams - ↵Sebastian Thiel
performance is slightly better git.cmd: added method to provide access to the content stream directly. This is more efficient if large objects are handled, if it is actually used test.helpers: removed unnecessary code
2010-04-30Added additional tz_offset testing in performance test to call it more often.Sebastian Thiel
Fixed test which required to be on master to work - it now uses the HEAD symbolic ref instead.
2010-04-27Add support for time zone information in tags and commits.Rick Copeland
This commit includes - an update to git.objects.utils:parse_actor_and_date to parse the timezone offset - updates to the git.objects.Commit and git.objects.Tag objects to support *_tz_offset attributes - updates to tests in test.git.test_commit and test.git.test_refs to check for appropriate *_tz_offset attributes
2010-03-04Converted all tabs to 4 space characters each to comply with pep8Sebastian Thiel
2010-02-28Commit.iter_items: Will not restrict comits to the ones containing changes ↵Sebastian Thiel
to paths anymore as it will only append '--' if paths are actually given. Added unittest to verify this
2010-02-18git.commit: Added test to assure we handle the first commit correctly ↵Sebastian Thiel
regarding its parents
2009-11-27Traversable.traverse: Added as_edge option allowing to receive the source of ↵Sebastian Thiel
the item as well to enable predicates to do more proper checking
2009-11-27Fixed issue with commit traversal due to missing visit_once in the traversal ↵Sebastian Thiel
method, improved code performance by disabling the visit-once flag by default for trees, which by nature are not recursive
2009-11-27Added test that gets into a commit traversal loopSebastian Thiel
2009-11-27ItemTraversal: Predicate and prune functions now provide depth information, ↵Sebastian Thiel
allowing the callee to know more about its environment
2009-11-26objects.utils: Added Traversable base and implemented it for commits ↵Sebastian Thiel
including a test
2009-11-05test_commit: commit.count actually returned incorrect values on linux, ↵Sebastian Thiel
namely 141 instead of 143. Manual checking showed that 143 is the correct number, on linux this will have to be fixed
2009-11-03object: renamed id attribute to sha as it in fact is always being rewritten ↵Sebastian Thiel
as sha, even if the passed in id was a ref. This is done to assure objects are uniquely identified and will compare correctly
2009-10-26Merge branch 'index' into improvementsSebastian Thiel
* index: index.add: Finished implemenation including through tests When parsing trees, we now store the originan type bits as well, previously we dropped it cmd.wait: AutoKill wrapped process will automatically raise on errors to unify error handling amongst clients using the process directly. It might be needed to add a flag allowing to easily override that added head kwarg to reset and commit method, allowing to automatically change the head to the given commit, which makes the methods more versatile refs.SymoblicRef: implemented direcft setting of the symbolic references commit, which possibly dereferences to the respective head index.commit: implemented initial version, but in fact some more changes are required to have a nice API. Tests are not yet fully done either actor: added __eq__, __ne__ and __hash__ methods including simple test index.remove implemented including throrough test Implemented index.reset method including test IndexEntry is now based on a 'minimal' version that is suitable to be fed into UpdateIndex. The Inode and device information is only needed to quickly compare the index against the working tree for changes, hence it should not be that dominant in the API either. More changes to come Added notes about git-update-ref Refs can now set the reference they are pointing to in a controlled fashion by writing their ref file directly Added TagRefernce creation and deletion including tests Implemented head methods: create, delete, rename, including tests refs: added create, delete and rename methods where appropriate. Tests are marked, implementation is needed for most of them Added frame for IndexFile add/remove/commit methods and respective test markers Added repo.index property including simple test, and additional ideas in the TODO list Renamed Index to IndexFile, adjusted tests, it will only operate on physical files, not on streams, as Indices are not streamed by any git command ( at least not in raw format )
2009-10-24actor: added __eq__, __ne__ and __hash__ methods including simple testSebastian Thiel
commit: Fixed long-standing issue during message parsing that would fail to parse properly in case we were created from data. Also it would strip white space from the messages although it shouldn't
2009-10-23commit.name_rev property added for convenienceSebastian Thiel
2009-10-22Added SymbolicReference and HEAD type to better represent these special ↵Sebastian Thiel
types of references and allow special handling Head.reset now is an instance method of HEAD type Concatenated all reference specific tests into test_refs started to fix tests breaking now because of changed interface
2009-10-22Adjusted all remaining test suites to use the new TestBase class where ↵Sebastian Thiel
appropriate
2009-10-19Implemneted IterableLists for refs, commits and remote objects including ↵Sebastian Thiel
simple tests
2009-10-19commit.count: is an instance method nowSebastian Thiel
repo: added head , tag and iter_trees methods for completeness changes: headlines now sorted chronologically
2009-10-17Removed a few diff-related test cases that fail now as the respective method ↵Sebastian Thiel
is missing - these tests have to be redone in test-diff module accordingly
2009-10-15Added Commit.iter_parents to iterate all parentsSebastian Thiel
Renamed Commit.commits to iter_commits repo: assured proper use of the terms revision ( rev ) and reference ( ref )
2009-10-15repo: removed a few methods because of redundancy or because it will be ↵Sebastian Thiel
obsolete once the interface overhaul is finished. This commit is just intermediate
2009-10-15test_performance: module containing benchmarks to get an idea of the ↵Sebastian Thiel
achieved throughput repo.commits: max_count is None by default moved benchmark-like test from test_commit to test_performance
2009-10-14Removed plenty of mocked tree tests as they cannot work anymore with ↵Sebastian Thiel
persistent commands that require stdin AND binary data - not even an adapter would help here. These tests will have to be replaced. test_commit: Improved efficiency of traversal test
2009-10-14test_blob: removed many redundant tests that would fail now as the mock ↵Sebastian Thiel
cannot handle the complexity of the command backend All objects but Tree now use the persistent command to read their object information - Trees get binary data and would need their own pretty-printing or they need to parse the data themselves which is my favorite
2009-10-14test: Added time-consuming test which could also be a benchmark in fact - ↵Sebastian Thiel
currently it cause hundreds of command invocations which is slow Fixed issue with trees not properly initialized with their default mode _set_cache_: some objects checked whether the attribute was within their __slots__ although it should have been accessed through its class
2009-10-14cmd: added option to return the process directly, allowing to read the ↵Sebastian Thiel
output directly from the output stream commit: now reads commit information directly from the output stream of the process by implementing its iterator method repo: removed log method as it was redundant ( equal to the commits method )
2009-10-13renamed find_all to list_all, changed commit to use iterable interface in ↵Sebastian Thiel
preparation for command changes
2009-10-12renamed from_string and list_from_string to _from_string and ↵Sebastian Thiel
_list_from_string to indicate their new status as private method, adjusted all callers respectively
2009-10-11Added remaining tests for new base classes and removed some methods whose ↵Sebastian Thiel
existance was doubtful or unsafe
2009-10-11Fixed remaining tests to deal with the changesSebastian Thiel
mode is now generally an int compatible to the stat module
2009-10-11commit: fixed failing commit tests as the mocked git command would always ↵Sebastian Thiel
return the same thing which does not work anymore - re-implemented it in a more dynamic manner, but in the end tests will have to be revised anyway Added slots to Diff and Stats type respectively
2009-10-11lazymixin system now supports per-attribute baking, it is up to the class ↵Sebastian Thiel
whether it bakes more. This also leads to more efficient use of memory as values are only cached and set when required - the baking system does not require an own tracking variable anymore, and values are only to be cached once - then python will natively find the cache without involving any additional overhead. This works by using __getattr__ instead of __get_attribute__ which would always be called
2009-10-11converted all spaces to tabs ( 4 spaces = 1 tab ) just to allow me and my ↵Sebastian Thiel
editor to work with the files properly. Can convert it back for releaes
2009-10-09Blob|Tree: renamed 'name' member to 'path', updated tests and changelog as ↵Sebastian Thiel
it would make existing code incompatible in some places
2009-10-08Fixed Diff class which used Commits instead of Blobs - as Blobs contain the ↵Sebastian Thiel
path ( in the 'name' member variable ), the a|b_path members of Diff have been removed. Tests were adjusted and run Diff docs have been updated to provide a little more information on specifics cases
2009-06-28implemented equality operations on Commit objectsJon Nordby
2009-01-24Lots of spring cleaning and added in Sphinx documentation.Michael Trier
2008-12-16fixed Commit.stats retrieval for parentless commits in bare reposMichael Trier
(cherry picked from commit 88852ed7bcde4f4b18c1ae8b6fba7f3fab8e9bf5)
2008-12-15Added in new properties Diff.renamed, Diff.rename_from, and Diff.rename_toMichael Trier
2008-12-15implement a far far faster diff parserPaul Sowden
The old diff parser in list_from_string took a large amount of time to parse long diffs, on one of my repositories it took over 3 minutes to parse the initial commit. The new parser uses a single regexp to match the header of a diff, and iterates over the each individual diff by splitting the entire string by the diff seperator, attempting to match the header for each individual diff. With the new parser parsing the same repository is almost instant, woohoo! (cherry picked from commit 5b6b27f153bdc30380bea12a528ef483571dd57a)
2008-12-15add a path parameter to most commit methodsPaul Sowden
The path parameter allows you to specify a path to constrain queries by. This changes potentially breaks backwards compatibility for the Repo.commits and Repo.commits_since methods as it moves the positional arguments. (cherry picked from commit cc8a20e78da4864060bd0c9279633009bc10d871)
2008-12-15remove ambiguity between paths and treeishsPaul Sowden
When calling commands that accept treeish and path arguments and there is a path with the same name as a treeish git cowardly refuses to pick one and asks for the command to use the unambiguous syntax where '--' seperates the treeish from the paths. Add '--' to the git commands to indicate that the argument is a treeish and not a path. (cherry picked from commit a9a57fa93a2b121ab9b17fcd6062b9a9c9740883)
2008-12-15Get compatible with mock0.4 (to some extend ;)). Just that MichaelFlorian Apolloner
doesn't need to do the same boring replacing I did. (cherry picked from commit 10c62aa69193a8bc7b46ca24c2ad1d5008489665)
2008-09-17Replace GitPython with git in repr() outputs.Steve Frécinaux
The imported module is called git (as in "import git"), so it's less confusing to do so than to call everything GitPython.something.
2008-09-02test_commit: add a testcase for parsing rev-list --bisect-all outputDavid Aguilar
This adds a testcase for Commit.list_from_string to ensure that it can properly parse the output of git rev-list --bisect-all. Signed-off-by: David Aguilar <davvid@gmail.com>
2008-07-17Removed method_missing since it was only used in one place.Michael Trier
2008-07-16Added license information to all files.Michael Trier