aboutsummaryrefslogtreecommitdiff
path: root/lib/git/refs.py
AgeCommit message (Collapse)Author
2010-05-26refs: a Reference can now be created by assigning a commit or object (for ↵Sebastian Thiel
convenience)
2010-05-10repo: added test with some basic assertions for empty repositories theseSebastian Thiel
repo.is_dirty: Will not fail on empty repo ( anymore ) index.entries: will just be empty if the repository is empty refs: added to_full_path method which can be used to create fully synthetic instances of Reference types, added a test for it Converted all touched files to spaces, which is why git reports so many changed files. Actually I was thinking every file would use spaces, but apparently not
2010-03-04Converted all tabs to 4 space characters each to comply with pep8Sebastian Thiel
2009-12-15refs: Added is_valid method to SymbolicReference base classSebastian Thiel
2009-12-07Reference: reading of commit data is now safer and handles non-existing ↵Sebastian Thiel
paths - previously it would run into a code-branch I forgot
2009-12-04SymbolicRefence base is now fully aware of pack files in all operations.Sebastian Thiel
Ref(anytype) Iteration was improved such that automatic filtering now also works for SymbolicReferences ( which only return symbolic refs)
2009-12-04refs: Fixed incorrect retrieval of symbolic reference types - previously we ↵Sebastian Thiel
only really knew heads, now we know references as a common base. The adjustment make the ref system as flexible as it was originally meant to be
2009-12-04SymbolicReference creation now won't fail if the target already exists and ↵Sebastian Thiel
has the same content as the new reference
2009-12-03refs.rename: improved handling as it will only raise ( if not forced ) if ↵Sebastian Thiel
the destination contains different data. If it contains the same, the move will work as we can do what the user intended
2009-12-03refs: Implemented low-level (Symbolic)Reference renaming as some references ↵Sebastian Thiel
cannot be reamed using the git-branch command if they are not in refs/heads, that is in a non-standard refs folder
2009-12-03repo: renamed directories to more descriptive identifiers and made them ↵Sebastian Thiel
safer to use in case of bare repositories
2009-11-30SymbolicReference.delete: Now takes SymbolicReference instances as well, not ↵Sebastian Thiel
only paths diff.__str__: fixed incorrect message generation error
2009-11-30Generalized custom reference creation down to SymbolicReference level. ↵Sebastian Thiel
'Reference' implementation now shares all the code from the SymbolicReference base. This implementation allows to create any reference you'd like without requireing git calls
2009-11-30ref: Added general method to create and delete any reference pointing to any ↵Sebastian Thiel
object. They are only constrained to be located in the refs/ directory
2009-11-26SymbolicReference is now the base for all references, allowing them to ↵Sebastian Thiel
appear litereally anywhere. A 'default' reference is nothing more than a detached symbolic reference. Added method iterate the packed refs file
2009-11-26Initially put SymbolicRef as base class of Reference, which theoretically is ↵Sebastian Thiel
how it should be, but many tests are still failing as the implementation is not yet there
2009-11-26SymbolicReferences can now be at any path within the repository, there is no ↵Sebastian Thiel
restriction anymore. Added a test to assure the git commands can handle it
2009-11-05Added utilities helping to create proper paths either with slashes or ↵Sebastian Thiel
backslashes depending on the operating system fixed test_refs and test_trees Many more issues remain though, this is just a first backup commit
2009-11-04head.checkout method added including testSebastian Thiel
2009-11-04added all new files to reference.rst and corrected the worst mistakes. There ↵Sebastian Thiel
are still a few errors left that I cannot fix as it complains about whitespace in the end ... that is exactly what I hate restructured text for, its just a ... anyway.
2009-11-03refs: iter_items now imlemented natively for additional performance. We did ↵Sebastian Thiel
not implement the crazy sorting feature found in git-for-each-ref though
2009-11-03Reference.from_path now only creates references, not symbolic refs. ↵Sebastian Thiel
SymbolicReference.from_path creates only symbolic refs. This change was not detected by a test, hence there is room for improvement on the testing field
2009-11-03Now using git-update-ref and git-symbolic-ref to update references with ↵Sebastian Thiel
reflog support. This should be manually implemented though for more performance, what it does is relatively easy
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-11-03repo: added create_* and delete_* methods for refs ( head, tag, remote ) as ↵Sebastian Thiel
a convenient shortcut to using the classes manually
2009-11-03Intermediate commit with a few added and improved tests as well as many fixesSebastian Thiel
2009-10-27renamed remote_branch to remote_head, improved errror messageSebastian Thiel
2009-10-27Reference._from_string will now create the appropriate type, not just the ↵Sebastian Thiel
type of the actual class. This could result in a symbolic reference returned even though you technically requested a reference - this issue must still be addressed.
2009-10-27put _make_file helper method into TestBase classSebastian Thiel
remote: prepared FetchInfo class to be returned by fetch and pull. About to implement tests
2009-10-26refs.SymoblicRef: implemented direcft setting of the symbolic references ↵Sebastian Thiel
commit, which possibly dereferences to the respective head
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-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-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-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-19Added remote module and test cases - about to implement remote option handlingSebastian Thiel
2009-10-19added initial frame for remote handling- remotes are somewhat related to ↵Sebastian Thiel
either parsing the command output or to reading the repo configuration which would be faster
2009-10-16Fixed object bug that would cause object ids not to be resolved to sha's as ↵Sebastian Thiel
this was assumed - now there is a test for it as well repo: removed diff and commit_diff methods, added 'head' property returning the current head as Reference object
2009-10-15Object can now create objects of the proper type in case one attempts to ↵Sebastian Thiel
create an object directly - this feature is used in several places now, allowing for additional type-checking
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-14Refs are now truly dynamic - this costs a little bit of (persistent command) ↵Sebastian Thiel
work, but assures refs behave as expected
2009-10-14persistent command signature changed to also return the hexsha from a ↵Sebastian Thiel
possible input ref - the objects pointed to by refs are now baked on demand - perhaps it should change to always be re-retrieved using a property as it is relatively fast - this way refs can always be cached
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-13added Iterable interface to Ref typeSebastian Thiel