From 92a97480edcc0f0de787a752bf90feed0445dd39 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Fri, 9 Oct 2009 11:57:48 +0200 Subject: Blob|Tree: renamed 'name' member to 'path', updated tests and changelog as it would make existing code incompatible in some places --- CHANGES | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 63ca47e8..fc5079e9 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,28 @@ ======= CHANGES ======= + +0.1.X +===== +( Future Release ) +General +------- +* See changes in Diff class as your client code needs adjustments to work with it + +Diff +---- +* Members a a_commit and b_commit renamed to a_blob and b_blob - they are populated + with Blob objects if possible +* Members a_path and b_path removed as this information is kept in the blobs + +Blob +---- +* former 'name' member renamed to path as it suits the actual data better + +Tree +---- +* former 'name' member renamed to path as it suits the actual data better + 0.1.6 ===== @@ -49,20 +71,6 @@ Repo * Corrected ``commits_between`` always returning None instead of the reversed list. - -0.1.X -===== -( Future Release ) -General -------- -* See changes in Diff class as your client code needs adjustments to work with it - -Diff ----- -* Members a a_commit and b_commit renamed to a_blob and b_blob - they are populated - with Blob objects if possible -* Members a_path and b_path removed as this information is kept in the blobs - 0.1.5 ===== -- cgit v1.2.3 From b01824b1aecf8aadae4501e22feb45c20fb26bce Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Sun, 11 Oct 2009 22:22:28 +0200 Subject: Fixed remaining tests to deal with the changes mode is now generally an int compatible to the stat module --- CHANGES | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index fc5079e9..564a3860 100644 --- a/CHANGES +++ b/CHANGES @@ -7,7 +7,12 @@ CHANGES ( Future Release ) General ------- -* See changes in Diff class as your client code needs adjustments to work with it +* file mode in Tree, Blob and Diff objects now is an int compatible to definintiions + in the stat module, allowing you to query whether individual user, group and other + read, write and execute bits are set. +* Adjusted class hierarchy to generally allow comparison and hash for Objects and Refs +* Improved Tag object which now is a Ref that may contain a tag object with additional + Information Diff ---- -- cgit v1.2.3 From c68459a17ff59043d29c90020fffe651b2164e6a Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Sun, 11 Oct 2009 22:50:07 +0200 Subject: Added remaining tests for new base classes and removed some methods whose existance was doubtful or unsafe --- CHANGES | 3 +++ 1 file changed, 3 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 564a3860..5efcfbf2 100644 --- a/CHANGES +++ b/CHANGES @@ -13,6 +13,9 @@ General * Adjusted class hierarchy to generally allow comparison and hash for Objects and Refs * Improved Tag object which now is a Ref that may contain a tag object with additional Information +* id_abbrev method has been removed as it could not assure the returned short SHA's + where unique +* removed basename method from Objects with path's as it replicated features of os.path Diff ---- -- cgit v1.2.3 From f2834177c0fdf6b1af659e460fd3348f468b8ab0 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Mon, 12 Oct 2009 11:50:14 +0200 Subject: Reorganized package structure and cleaned up imports --- CHANGES | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 5efcfbf2..69eddacc 100644 --- a/CHANGES +++ b/CHANGES @@ -17,6 +17,16 @@ General where unique * removed basename method from Objects with path's as it replicated features of os.path +objects Package +---------------- +* blob, tree, tag and commit module have been moved to new objects package. This should + not affect you though unless you explicitly imported individual objects. If you just + used the git package, names did not change. + +Repo +---- +* Moved blame method from Blob to repo as it appeared to belong there much more. + Diff ---- * Members a a_commit and b_commit renamed to a_blob and b_blob - they are populated -- cgit v1.2.3 From 637eadce54ca8bbe536bcf7c570c025e28e47129 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Mon, 12 Oct 2009 14:56:47 +0200 Subject: renamed from_string and list_from_string to _from_string and _list_from_string to indicate their new status as private method, adjusted all callers respectively --- CHANGES | 3 +++ 1 file changed, 3 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 69eddacc..78d02b9a 100644 --- a/CHANGES +++ b/CHANGES @@ -16,6 +16,9 @@ General * id_abbrev method has been removed as it could not assure the returned short SHA's where unique * removed basename method from Objects with path's as it replicated features of os.path +* from_string and list_from_string methods are now private and were renamed to + _from_string and _list_from_string respectively. As part of the private API, they + may change without prior notice. objects Package ---------------- -- cgit v1.2.3 From beb76aba0c835669629d95c905551f58cc927299 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Mon, 12 Oct 2009 17:41:00 +0200 Subject: repo.active_branch now returns a Head object, not a string --- CHANGES | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 78d02b9a..597d529c 100644 --- a/CHANGES +++ b/CHANGES @@ -29,6 +29,10 @@ objects Package Repo ---- * Moved blame method from Blob to repo as it appeared to belong there much more. +* active_branch method now returns a Head object instead of a string with the name + of the active branch. +* tree method now requires a Ref instance as input and defaults to the active_branche + instead of master Diff ---- -- cgit v1.2.3 From a58a60ac5f322eb4bfd38741469ff21b5a33d2d5 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Mon, 12 Oct 2009 23:18:43 +0200 Subject: tree: now behaves like a list with string indexing functionality - using a 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 --- CHANGES | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 597d529c..ea98b587 100644 --- a/CHANGES +++ b/CHANGES @@ -47,7 +47,11 @@ Blob Tree ---- * former 'name' member renamed to path as it suits the actual data better - +* added traverse method allowing to recursively traverse tree items +* deleted blob method +* added blobs and trees properties allowing to query the respective items in the + tree +* now mimics behaviour of a read-only list instead of a dict to maintain order. 0.1.6 ===== -- cgit v1.2.3 From 86fa577e135713e56b287169d69d976cde27ac97 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Tue, 13 Oct 2009 17:36:27 +0200 Subject: tree: renamed content_from_string to _from_string to make it private. Removed tests that were testing that method --- CHANGES | 1 + 1 file changed, 1 insertion(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index ea98b587..72cd6102 100644 --- a/CHANGES +++ b/CHANGES @@ -52,6 +52,7 @@ Tree * added blobs and trees properties allowing to query the respective items in the tree * now mimics behaviour of a read-only list instead of a dict to maintain order. +* content_from_string method is now private and not part of the public API anymore 0.1.6 ===== -- cgit v1.2.3 From 6acec357c7609fdd2cb0f5fdb1d2756726c7fe98 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Tue, 13 Oct 2009 21:26:19 +0200 Subject: renamed find_all to list_all, changed commit to use iterable interface in preparation for command changes --- CHANGES | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 72cd6102..0e0bed49 100644 --- a/CHANGES +++ b/CHANGES @@ -2,9 +2,8 @@ CHANGES ======= -0.1.X +0.2 ===== -( Future Release ) General ------- * file mode in Tree, Blob and Diff objects now is an int compatible to definintiions @@ -19,7 +18,16 @@ General * from_string and list_from_string methods are now private and were renamed to _from_string and _list_from_string respectively. As part of the private API, they may change without prior notice. - +* Renamed all find_all methods to list_items - this method is part of the Iterable interface + that also provides a more efficients and more responsive iter_items method + +Item Iteration +-------------- +* Previously one would return and process multiple items as list only which can + hurt performance and memory consumption and reduce response times. + iter_items method provide an iterator that will return items on demand as parsed + from a stream. This way any amount of objects can be handled. + objects Package ---------------- * blob, tree, tag and commit module have been moved to new objects package. This should -- cgit v1.2.3 From ead94f267065bb55303f79a0a6df477810b3c68d Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Wed, 14 Oct 2009 14:33:51 +0200 Subject: cmd: added option to return the process directly, allowing to read the 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 ) --- CHANGES | 1 + 1 file changed, 1 insertion(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 0e0bed49..001213d0 100644 --- a/CHANGES +++ b/CHANGES @@ -41,6 +41,7 @@ Repo of the active branch. * tree method now requires a Ref instance as input and defaults to the active_branche instead of master +* Removed 'log' method as it as effectively the same as the 'commits' method Diff ---- -- cgit v1.2.3 From 832b56394b079c9f6e4c777934447a9e224facfe Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Wed, 14 Oct 2009 19:46:24 +0200 Subject: Refs are now truly dynamic - this costs a little bit of (persistent command) work, but assures refs behave as expected --- CHANGES | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 001213d0..61172343 100644 --- a/CHANGES +++ b/CHANGES @@ -63,6 +63,12 @@ Tree * now mimics behaviour of a read-only list instead of a dict to maintain order. * content_from_string method is now private and not part of the public API anymore +Refs +---- +* Will dynmically retrieve their object at the time of query to assure the information + is actual. Recently objects would be cached, hence ref object not be safely kept + persistent. + 0.1.6 ===== -- cgit v1.2.3 From 1a4bfd979e5d4ea0d0457e552202eb2effc36cac Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Thu, 15 Oct 2009 00:06:08 +0200 Subject: test_performance: module containing benchmarks to get an idea of the achieved throughput repo.commits: max_count is None by default moved benchmark-like test from test_commit to test_performance --- CHANGES | 2 ++ 1 file changed, 2 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 61172343..c4ea13b0 100644 --- a/CHANGES +++ b/CHANGES @@ -42,6 +42,8 @@ Repo * tree method now requires a Ref instance as input and defaults to the active_branche instead of master * Removed 'log' method as it as effectively the same as the 'commits' method +* 'commits' method has no max-count of returned commits anymore, it now behaves + like git-rev-list Diff ---- -- cgit v1.2.3