aboutsummaryrefslogtreecommitdiff
path: root/lib/git
AgeCommit message (Collapse)Author
2009-10-26added head kwarg to reset and commit method, allowing to automatically ↵Sebastian Thiel
change the head to the given commit, which makes the methods more versatile
2009-10-26refs.SymoblicRef: implemented direcft setting of the symbolic references ↵Sebastian Thiel
commit, which possibly dereferences to the respective head
2009-10-26Merge branch 'refs' into indexSebastian Thiel
* refs: 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
2009-10-24index.commit: implemented initial version, but in fact some more changes are ↵Sebastian Thiel
required to have a nice API. Tests are not yet fully done either
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-23index.remove implemented including throrough testSebastian Thiel
2009-10-23Implemented index.reset method including testSebastian Thiel
2009-10-23IndexEntry is now based on a 'minimal' version that is suitable to be fed ↵Sebastian Thiel
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
2009-10-23Refs can now set the reference they are pointing to in a controlled fashion ↵Sebastian Thiel
by writing their ref file directly
2009-10-23Added TagRefernce creation and deletion including testsSebastian Thiel
Added RemoteReference deletion and test
2009-10-23Implemented head methods: create, delete, rename, including testsSebastian Thiel
2009-10-23refs: added create, delete and rename methods where appropriate. Tests are ↵Sebastian Thiel
marked, implementation is needed for most of them
2009-10-23Added frame for IndexFile add/remove/commit methods and respective test markersSebastian Thiel
2009-10-23Added repo.index property including simple test, and additional ideas in the ↵Sebastian Thiel
TODO list
2009-10-23Renamed Index to IndexFile, adjusted tests, it will only operate on physical ↵Sebastian Thiel
files, not on streams, as Indices are not streamed by any git command ( at least not in raw format )
2009-10-23SymbolicReferences can now change they references safely as I think and well ↵Sebastian Thiel
controlled, including test. Added commit method which will return the commit for detached symbolic refs or for normal symbolic refs which is quite convenient
2009-10-22Adjusted tests to deal with API changesSebastian 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-22Index: Is now diffable and appears to properly implement diffing against ↵Sebastian Thiel
other items as well as the working tree Diff.Diffable: added callback allowing superclasses to preprocess diff arguments Diff.Diff: added eq, ne and hash methods, string methods would be nice
2009-10-22default index writing now writes the index of the current repository in a ↵Sebastian Thiel
fashion comparable to the native implementation
2009-10-22Added test for ConcurrentWriteOperationSebastian Thiel
2009-10-22utils: Added LockFile including testSebastian Thiel
GitConfigFile is now derived from LockFile using its capabilities Implemented ConcurrentWriteOperation, test is yet to be done
2009-10-22Index now behaves more like the default index if no explicit stream is ↵Sebastian Thiel
given. It will lazily read its data on first access
2009-10-22Added reset method to Head - its a class method due to the very general ↵Sebastian Thiel
nature of the command. Yet I don't really like the way you have to call it as repo has to be ṕassed as first arg
2009-10-22git cmd fix: After removing the with_raw_output flag, I actually did the ↵Sebastian Thiel
wrong thing by _not_ stripping the final newline at the end of all git commands we use. This is the default now which cannot be changed - perhaps its wrong to remove it, but in way you'd always want the final newline stripped unless you get data directly, but there are better ways to do that ( blob.data, blob.data_stream, blob.stream_data )
2009-10-22Merge branch 'index' into improvementsSebastian Thiel
* index: Removed index test marker for custom commits as this boils down to a good way to add files to the index/remove them and make commits which are possibly customized with custom parents index writing now creates a sha on the content making it possible to write valid indices after manually removing or altering entriesgst Implemented merge/resolve handling , but realized that index writing is not yet working properly as it is sha1 checked as well. This explains what my 20 byte 'extension_data' actually is ;) index: Added write_tree method including test index.iter_blobs method added including tests ( which have been improved generally for more coverage ) tree.traverse: Added prune functionality - previously the predciate did both, pruning and preventing to return items Improved testing of index against trees, tests succeed with next commit Initial version of merge including tests for one-way, two-way and tree-way merge index writing added including simple test, improved docs of IndexEntry improved IndexEntry type and added test for parsing of the stage Improved tuple access of EntryIndex class including test, stage and type access still needs to be decoded though Added initial version of the index reading from file - IndexEntry interface is to be improved though, writing needs to be implemented as well Added frame for index implementation and testing
2009-10-22Stream_data streams data to a given output stream most efficiently with a ↵Sebastian Thiel
low memory footprint. Still, the git-cat-file command keeps all data in an interal buffer instead of streaming it directly. This is a git design issue though, and will be hard to address without some proper git-hacking. Conflicts: lib/git/cmd.py
2009-10-22Git.cmd: removed with_raw_output optionSebastian Thiel
repo.archive: made it work with new way of custom output streams added test for repo.archive which was missing for some reason
2009-10-22added Object.data_stream property allowing to stream object data ↵Sebastian Thiel
directly.Considering the implementation of the git commnd which temporarily keeps it in a cache, it doesnt make a huge diffence as the data is kept in memory while streaming. Only good thing is that it is in a different process so python will never see it if done properly
2009-10-22index writing now creates a sha on the content making it possible to write ↵Sebastian Thiel
valid indices after manually removing or altering entriesgst
2009-10-22Implemented merge/resolve handling , but realized that index writing is not ↵Sebastian Thiel
yet working properly as it is sha1 checked as well. This explains what my 20 byte 'extension_data' actually is ;)
2009-10-21index: Added write_tree method including testSebastian Thiel
2009-10-21remote: Added fetch, pull, push methods to the interface to make these ↵Sebastian Thiel
operations more convenient, like repo.remotes.origin.fetch
2009-10-21remote.refs now returns an IterableList allowing easier access to the ↵Sebastian Thiel
remotes, and conforming it to the way repo returns its references as well
2009-10-21index.iter_blobs method added including tests ( which have been improved ↵Sebastian Thiel
generally for more coverage )
2009-10-21tree.traverse: Added prune functionality - previously the predciate did ↵Sebastian Thiel
both, pruning and preventing to return items
2009-10-21Improved testing of index against trees, tests succeed with next commitSebastian Thiel
2009-10-21Initial version of merge including tests for one-way, two-way and tree-way mergeSebastian Thiel
2009-10-21repo.is_dirty: fixed incorrect check of a dirty working tree, previously it ↵Sebastian Thiel
would compare HEAD against the working tree, not the index which was intended
2009-10-21touch method improved to open for appending which would not clear the file ↵Sebastian Thiel
and be like an actual touch
2009-10-21index writing added including simple test, improved docs of IndexEntrySebastian Thiel
2009-10-20improved IndexEntry type and added test for parsing of the stageSebastian Thiel
2009-10-20Improved tuple access of EntryIndex class including test, stage and type ↵Sebastian Thiel
access still needs to be decoded though
2009-10-20Added initial version of the index reading from file - IndexEntry interface ↵Sebastian Thiel
is to be improved though, writing needs to be implemented as well
2009-10-20Added frame for index implementation and testingSebastian Thiel
2009-10-20repo.alternates test cheked for correctness and bugfixed - totally mocked ↵Sebastian Thiel
tests bare the risk that things do not work properly outside of the sandbox.
2009-10-20Added slots to Repo type to be sure we do not accidentally set values on it, ↵Sebastian Thiel
and to be more efficient of course ;) TODO: Added info about possible config improvement
2009-10-20Fixed bare repository handling - bare is now a property to prevent writing itSebastian Thiel
2009-10-20Moved specialized methods like dashify, touch and is_git_dir to module to ↵Sebastian Thiel
the respective modules that use them fixed repo.daemon_export which did not work anymore due to incorrect touch implementation and wrong property names
2009-10-20Improved is_dirty including testSebastian Thiel