aboutsummaryrefslogtreecommitdiff
path: root/lib/git/objects/commit.py
AgeCommit message (Collapse)Author
2010-10-27Fixed bug that would cause the author's email to be a generic default one, ↵Sebastian Thiel
instead of the existing and valid. The rest of the ConfigParser handling is correct, as it reads all configuration files available to git see http://github.com/Byron/GitPython/issues#issue/1
2010-10-15Added unicode handling for author names. They will now be properly encoded ↵Sebastian Thiel
into the byte stream, as well as decoded from it
2010-08-13unicode handling in messages and trees was improved. Messages are now ↵Sebastian Thiel
written according to the encoding of the commit object, and decoded using that information as well. Trees will encode and decode their names with utf8
2010-06-29Renamed modules utils to util, and errors to exc to be more conforming to ↵Sebastian Thiel
the submodules's naming conventions
2010-06-29Updated and fixed sphinx API docs, which included one quick skim-throughSebastian Thiel
2010-06-29Diff: fixed bug that caused a string to end up as a blob modeSebastian Thiel
2010-06-28All tests adjusted to work with the changed internal sha representationSebastian Thiel
2010-06-25Adjusted all files to (hopefully) deal with the fact that all objects now ↵Sebastian Thiel
use 20 byte sha's internally as it is closer to the GitDB implementation Switched all remaining files back to tabs Adjusted all remaining docstrings to suit the sphinx doc convention - its likely that there are many of docstring syntax errors though
2010-06-14Moved small types that had their own module into the utils moduleSebastian Thiel
2010-06-14tree: added TreeModifier, allowing to adjust existing trees safely and or ↵Sebastian Thiel
fast, while staying compatible with serialization which requires it to be sorted
2010-06-12Removed odb from project, it is now used as a submodule named gitdb, which ↵Sebastian Thiel
was added instead Adjusted all imports to deal with the changed package names
2010-06-04Fixed implementation after design change to deal with it - all tests run, ↵Sebastian Thiel
but next there will have to be more through testing
2010-06-04initial version of new odb design to facilitate a channel based ↵Sebastian Thiel
multi-threading implementation of all odb functions
2010-06-03commit.create_from_tree now uses pure python implementation, fixed message ↵Sebastian Thiel
parsing which truncated newlines although it was ilegitimate. Its up to the reader to truncate therse, nowhere in the git code I could find anyone adding newlines to commits where it is written Added performance tests for serialization, it does about 5k commits per second if writing to tmpfs
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-06-02commit: initial version of commit_from_tree which could create commit ↵Sebastian Thiel
objects if it could serialize itself
2010-05-11IndexFile.add: Fixed incorrect path handling if path rewriting was desired ↵Sebastian Thiel
and absolute paths were given Commit.create_from_tree: fixed critical bug that would cause it to create a branch named master by default, instead of the reference actually set ( which is master in many, but not all cases ) - in fact it could be detached as well, we would fail ungracefully although we could assume master then ... although we cant really make the decision Repo.is_dirty: improved its abiility to deal with empty repositories and a missing head. Weird thing is that the test always worked fine with the previous code, but it didn't work for me in a similar situation without this change at least
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-13Commit.create: now handles empty repositories correctlySebastian Thiel
2009-12-01commit.create_from_tree: head will not be advanced anymore as it feels ↵Sebastian Thiel
non-natural when using it
2009-11-26objects.utils: Added Traversable base and implemented it for commits ↵Sebastian Thiel
including a test
2009-11-24commit: added create_from_tree method to untie commit creation from actually ↵Sebastian Thiel
using the current index. This makes it more flexible. For convenience, the index.commit method is still available, it delgates all the work
2009-11-06Fixed commit.count method which now handles the paths case properly. It ↵Sebastian Thiel
appears git-rev-list uses empty paths in some way, which is quite hard to specify on a shell, but easy if the process is spawned directly
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-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-18resolved cyclic inclusion issue by moving the Diffable interface into the ↵Sebastian Thiel
diff module, which probably is the right thing to do anyway
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-16added Diffable interface to objects.base, its used by Commit and Tree objects.Sebastian Thiel
Diff class has been prepared to process raw input, but its not yet more than a frame
2009-10-15repo.commit_delta_base: removedSebastian Thiel
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-15All times are not stored as time_struct, but as simple int to consume less ↵Sebastian Thiel
memory time imports cleaned up and mostly removed as they were not required (anymore)
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-13added Iterable interface to Ref typeSebastian Thiel
2009-10-13renamed find_all to list_all, changed commit to use iterable interface in ↵Sebastian Thiel
preparation for command changes
2009-10-12refs now take repo as first argument and derive from LazyMixin to allow them ↵Sebastian Thiel
to dynamically retrieve their objects Improved way commits are returned by refs as they now use the path to be sure they always point to the ref even if it changes - previously it would use the sha intead so it would not update after being cached on the ref object
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-12Reorganized package structure and cleaned up importsSebastian Thiel