aboutsummaryrefslogtreecommitdiff
path: root/lib/git/refs.py
AgeCommit message (Collapse)Author
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
2009-10-13renamed find_all to list_all, changed commit to use iterable interface in ↵Sebastian Thiel
preparation for command changes
2009-10-13unified name of utils module, recently it was named util and utils in ↵Sebastian Thiel
different packages
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