aboutsummaryrefslogtreecommitdiff
path: root/lib/git/repo.py
AgeCommit message (Collapse)Author
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-05-12Repo: Added comparison operators and hash operator including testSebastian Thiel
Cmd: AutoInterrupt handles boundary cases more gracefully as it can be that the os module suddenly becomes None if the interpreter is going down
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-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-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-03-04Converted all tabs to 4 space characters each to comply with pep8Sebastian Thiel
2010-02-13IndexFile: unmerged_blobs lists are now sortedSebastian Thiel
Repo.init: fixed incorrect use of the path which was to optionally specify where to initialize the repository. Update test as well
2009-12-09repo: Added alias for refs property, which is called 'references' , to ↵Sebastian Thiel
improve usability. There was no reason that only 'refs' is shortened, whereas there are 'heads' and 'tags' as well
2009-12-03repo: renamed directories to more descriptive identifiers and made them ↵Sebastian Thiel
safer to use in case of bare repositories
2009-12-03repo: fixed incorrect path handling thta could lead to issues if the ↵Sebastian Thiel
repository was initialized with a .git repository, although it was not bare actually
2009-11-10repo: may now be initialized from a path with envrionment variables. ↵Sebastian Thiel
Previously it would consider such a path a relative one and handle it incorrectly
2009-11-05repo.clone: Added plenty of special handling to allow drive letters to work ↵Sebastian Thiel
as expected. Its quite terrible to see a two-line method inflate to 20 as there is no git-daemon on windows, some tests will not work. The error message has been adjusted to be more precise for the poor people trying to run the tests on windows ( including myself )
2009-11-04Improved cmd error handling in case an invalid revision is specified for an ↵Sebastian Thiel
object repo.tree: improved to be less restricting
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-03repo.is_dirty: is a method now - the property based interface didn't allow ↵Sebastian Thiel
all parameters to be used. The test would not test everything either, and I would consider this a bug that slipped through
2009-10-28Another attempt to make fetch emit progress information, but in fact its ↵Sebastian Thiel
proven now that this is not happening if stderr is being redirected. A test is in place that will most likely fail in case this ever changes
2009-10-28Added repo.refs for completeness (as remote.refs is there as well and quite ↵Sebastian Thiel
nice to use)
2009-10-23Added repo.index property including simple test, and additional ideas in the ↵Sebastian Thiel
TODO list
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-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-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-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
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-19repo.remote method addedSebastian Thiel
CHANGES updated to carry information about remotes and config
2009-10-19Added configuration access including tests to remoteSebastian Thiel
config: fixed issue that would cause it to abort reading if the file did not exist - this is valid now Test does not work as the configuration parsing does not work as expected - this must be fixed first
2009-10-19Added remote module and test cases - about to implement remote option handlingSebastian Thiel
2009-10-18Added frame for configuration reader involving a meta class, decorators and ↵Sebastian Thiel
tests - most of which still has to be filled out
2009-10-18repo: fixed untracked files function which used git-commit before, it can ↵Sebastian Thiel
open vim to get a message though which makes the program appear to freeze - using git-status now
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-16repo.untracked_files added including testSebastian Thiel
2009-10-15Improved archive function by allowing it to directly write to an output ↵Sebastian Thiel
stream - previously it would cache everything to memory and try to provide zipping functionality itself gitcmd: allows the output stream to be set explicitly which is mainly useful for archiving operations
2009-10-15repo: made init and clone methods less specific, previously they wanted to ↵Sebastian Thiel
do it 'barely' only. New method names closely follow the default git command names
2009-10-15repo.commit_delta_base: removedSebastian Thiel
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-15repo: removed commits_between but added a note about how this can be ↵Sebastian Thiel
achieved using the iter_commits method; reorganized methods within the type as a start for more interface changes
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-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-14tree: now reads tress directly by parsing the binary data, allowing it to ↵Sebastian Thiel
safe possibly hundreds of command calls
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-12tree: now behaves like a list with string indexing functionality - using a ↵Sebastian Thiel
dict as cache is a problem as the tree is ordered, added blobs, trees and traverse method repo: remove blob function as blobs are created directly or iterated - primitve types should not clutter the repo interface