From 919164df96d9f956c8be712f33a9a037b097745b Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Fri, 16 Oct 2009 13:05:01 +0200 Subject: repo.untracked_files added including test --- CHANGES | 1 + 1 file changed, 1 insertion(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index babf2733..96a1ef56 100644 --- a/CHANGES +++ b/CHANGES @@ -68,6 +68,7 @@ Repo - archive_tar_gz and archive_tar and replaced by archive method with different signature * 'commits' method has no max-count of returned commits anymore, it now behaves like git-rev-list +* 'untracked_files' property added, returning all currently untracked files Diff ---- -- cgit v1.2.3 From bb24f67e64b4ebe11c4d3ce7df021a6ad7ca98f2 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Fri, 16 Oct 2009 16:09:07 +0200 Subject: Fixed object bug that would cause object ids not to be resolved to sha's as 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 --- CHANGES | 2 ++ 1 file changed, 2 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 96a1ef56..f4a4bae0 100644 --- a/CHANGES +++ b/CHANGES @@ -60,6 +60,8 @@ Repo related repositories, i.e. clones, git-rev-list would be sufficient to find commits that would need to be transferred for example. - 'create' method which equals the 'init' method's functionality + - 'diff' - it returned a mere string which still had to be parsed + - 'commit_diff' - moved to Commit, Tree and Diff types respectively * Renamed the following methods: - commits to iter_commits to improve the performance, adjusted signature - init_bare to init, implying less about the options to be used -- cgit v1.2.3 From b372e26366348920eae32ee81a47b469b511a21f Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Fri, 16 Oct 2009 19:19:57 +0200 Subject: added Diffable interface to objects.base, its used by Commit and Tree objects. Diff class has been prepared to process raw input, but its not yet more than a frame --- CHANGES | 3 +++ 1 file changed, 3 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index f4a4bae0..8b696ba9 100644 --- a/CHANGES +++ b/CHANGES @@ -27,6 +27,9 @@ General terms are used everywhere, such as "Reference" ( ref ) and "Revision" ( rev ). Prevously multiple terms where used making it harder to know which type was allowed or not. +* Unified diff interface to allow easy diffing between trees, trees and index, trees + and working tree, index and working tree, trees and index. This closely follows + the git-diff capabilities. Item Iteration -- cgit v1.2.3 From 9acc7806d6bdb306a929c460437d3d03e5e48dcd Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Sun, 18 Oct 2009 14:24:30 +0200 Subject: DiffIndex implemented including test --- CHANGES | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 8b696ba9..da396fe0 100644 --- a/CHANGES +++ b/CHANGES @@ -80,6 +80,13 @@ 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 +* Diffs are now returned as DiffIndex allowing to more quickly find the kind of + diffs you are interested in + +Diffing +------- +* Commit and Tree objects now support diffing natively with a common interface to + compare agains other Commits or Trees, against the working tree or against the index. Blob ---- -- cgit v1.2.3 From 11b1f6edc164e2084e3ff034d3b65306c461a0be Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Mon, 19 Oct 2009 22:08:23 +0200 Subject: repo.remote method added CHANGES updated to carry information about remotes and config --- CHANGES | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index da396fe0..666fa3bb 100644 --- a/CHANGES +++ b/CHANGES @@ -107,6 +107,19 @@ 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. + +Remote +------ +* Added Remote object allowing easy access to remotes +* Repo.remotes lists all remotes +* Repo.remote returns a remote of the specified name if it exists + +Config +------ +* The git configuration can now be read and manipulated directly from within python + using the GitConfigParser +* Repo.config_reader returns a read-only parser +* Repo.config_writer returns a read-write parser 0.1.6 ===== -- cgit v1.2.3 From 0b3ecf2dcace76b65765ddf1901504b0b4861b08 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Mon, 19 Oct 2009 22:49:52 +0200 Subject: commit.count: is an instance method now repo: added head , tag and iter_trees methods for completeness changes: headlines now sorted chronologically --- CHANGES | 81 +++++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 46 insertions(+), 35 deletions(-) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 666fa3bb..8e4d0492 100644 --- a/CHANGES +++ b/CHANGES @@ -45,6 +45,40 @@ objects Package not affect you though unless you explicitly imported individual objects. If you just used the git package, names did not change. +Blob +---- +* former 'name' member renamed to path as it suits the actual data better + +Commit +------ +* 'count' method is not an instance method to increase its ease of use + +Config +------ +* The git configuration can now be read and manipulated directly from within python + using the GitConfigParser +* Repo.config_reader returns a read-only parser +* Repo.config_writer returns a read-write parser + +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 +* Diffs are now returned as DiffIndex allowing to more quickly find the kind of + diffs you are interested in + +Diffing +------- +* Commit and Tree objects now support diffing natively with a common interface to + compare agains other Commits or Trees, against the working tree or against the index. + +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. + Repo ---- * Moved blame method from Blob to repo as it appeared to belong there much more. @@ -73,24 +107,19 @@ Repo - archive_tar_gz and archive_tar and replaced by archive method with different signature * 'commits' method has no max-count of returned commits anymore, it now behaves like git-rev-list -* 'untracked_files' property added, returning all currently untracked files - -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 -* Diffs are now returned as DiffIndex allowing to more quickly find the kind of - diffs you are interested in +* The following methods and properties were added + - 'untracked_files' property, returning all currently untracked files + - 'head', creates a head object + - 'tag', creates a tag object + - 'iter_trees' method + - 'config_reader' property + - 'config_writer' property -Diffing -------- -* Commit and Tree objects now support diffing natively with a common interface to - compare agains other Commits or Trees, against the working tree or against the index. - -Blob ----- -* former 'name' member renamed to path as it suits the actual data better +Remote +------ +* Added Remote object allowing easy access to remotes +* Repo.remotes lists all remotes +* Repo.remote returns a remote of the specified name if it exists Tree ---- @@ -102,24 +131,6 @@ 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. - -Remote ------- -* Added Remote object allowing easy access to remotes -* Repo.remotes lists all remotes -* Repo.remote returns a remote of the specified name if it exists - -Config ------- -* The git configuration can now be read and manipulated directly from within python - using the GitConfigParser -* Repo.config_reader returns a read-only parser -* Repo.config_writer returns a read-write parser 0.1.6 ===== -- cgit v1.2.3 From 989671780551b7587d57e1d7cb5eb1002ade75b4 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Mon, 19 Oct 2009 23:44:18 +0200 Subject: Implemneted IterableLists for refs, commits and remote objects including simple tests --- CHANGES | 1 + 1 file changed, 1 insertion(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 8e4d0492..96f476b3 100644 --- a/CHANGES +++ b/CHANGES @@ -38,6 +38,7 @@ Item Iteration 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. +* list_items method returns IterableList allowing to access list members by name objects Package ---------------- -- cgit v1.2.3 From e64957d8e52d7542310535bad1e77a9bbd7b4857 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Tue, 20 Oct 2009 00:04:10 +0200 Subject: Improved is_dirty including test --- CHANGES | 2 ++ 1 file changed, 2 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 96f476b3..c66930d6 100644 --- a/CHANGES +++ b/CHANGES @@ -87,6 +87,8 @@ Repo of the active branch. * tree method now requires a Ref instance as input and defaults to the active_branche instead of master +* is_dirty now takes additional arguments allowing fine-grained control about what is + considered dirty * Removed the following methods: - 'log' method as it as effectively the same as the 'commits' method - 'commits_since' as it is just a flag given to rev-list in Commit.iter_items -- cgit v1.2.3 From dd76b9e72b21d2502a51e3605e5e6ab640e5f0bd Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Tue, 20 Oct 2009 10:45:40 +0200 Subject: Fixed bare repository handling - bare is now a property to prevent writing it --- CHANGES | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index c66930d6..a60ed237 100644 --- a/CHANGES +++ b/CHANGES @@ -58,8 +58,8 @@ Config ------ * The git configuration can now be read and manipulated directly from within python using the GitConfigParser -* Repo.config_reader returns a read-only parser -* Repo.config_writer returns a read-write parser +* Repo.config_reader() returns a read-only parser +* Repo.config_writer() returns a read-write parser Diff ---- @@ -115,8 +115,9 @@ Repo - 'head', creates a head object - 'tag', creates a tag object - 'iter_trees' method - - 'config_reader' property - - 'config_writer' property + - 'config_reader' method + - 'config_writer' method + - 'bare' property, previously it was a simple attribute that could be written Remote ------ -- cgit v1.2.3 From 3c9f55dd8e6697ab2f9eaf384315abd4cbefad38 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Wed, 21 Oct 2009 22:53:51 +0200 Subject: remote: Added fetch, pull, push methods to the interface to make these operations more convenient, like repo.remotes.origin.fetch --- CHANGES | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index a60ed237..5c4420e6 100644 --- a/CHANGES +++ b/CHANGES @@ -50,6 +50,12 @@ Blob ---- * former 'name' member renamed to path as it suits the actual data better +GitCommand +----------- +* git.subcommand call scheme now prunes out None from the argument list, allowing + to be called more confortably as None can never be a valid to the git command + if converted to a string. + Commit ------ * 'count' method is not an instance method to increase its ease of use -- cgit v1.2.3 From f62c9b9c0c9bda792c3fa531b18190e97eb53509 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Thu, 22 Oct 2009 12:24:36 +0200 Subject: Git.cmd: removed with_raw_output option repo.archive: made it work with new way of custom output streams added test for repo.archive which was missing for some reason --- CHANGES | 2 ++ 1 file changed, 2 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 5c4420e6..fde62e29 100644 --- a/CHANGES +++ b/CHANGES @@ -30,6 +30,8 @@ General * Unified diff interface to allow easy diffing between trees, trees and index, trees and working tree, index and working tree, trees and index. This closely follows the git-diff capabilities. +* Git.execute does not take the with_raw_output option anymore. It was not used + by anyone within the project and False by default. Item Iteration -- cgit v1.2.3 From 59e26435a8d2008073fc315bafe9f329d0ef689a Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Thu, 22 Oct 2009 14:43:18 +0200 Subject: Updated CHANGES file to indicate addition of index class --- CHANGES | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index fde62e29..377d7e07 100644 --- a/CHANGES +++ b/CHANGES @@ -82,6 +82,11 @@ Diffing * Commit and Tree objects now support diffing natively with a common interface to compare agains other Commits or Trees, against the working tree or against the index. +Index +----- +* A new Index class allows to read and write index files directly, and to perform + simple two and three way merges based on an arbitrary index. + Refs ---- * Will dynmically retrieve their object at the time of query to assure the information -- cgit v1.2.3 From bb0ac304431e8aed686a8a817aaccd74b1ba4f24 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Thu, 22 Oct 2009 15:04:29 +0200 Subject: Added frame for new Repo handling and some neat decorators, including tests that test whether the testing framework does what it should --- CHANGES | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 377d7e07..3b42095e 100644 --- a/CHANGES +++ b/CHANGES @@ -138,6 +138,12 @@ Remote * Repo.remotes lists all remotes * Repo.remote returns a remote of the specified name if it exists +Test Framework +-------------- +* Added support for common TestCase base class that provides additional functionality + to receive repositories tests can also write to. This way, more aspects can be + tested under real-world ( un-mocked ) conditions. + Tree ---- * former 'name' member renamed to path as it suits the actual data better -- cgit v1.2.3 From 58e2157ad3aa9d75ef4abb90eb2d1f01fba0ba2b Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Thu, 22 Oct 2009 23:20:16 +0200 Subject: Added SymbolicReference and HEAD type to better represent these special 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 --- CHANGES | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 3b42095e..8a529e6b 100644 --- a/CHANGES +++ b/CHANGES @@ -87,9 +87,12 @@ Index * A new Index class allows to read and write index files directly, and to perform simple two and three way merges based on an arbitrary index. -Refs ----- -* Will dynmically retrieve their object at the time of query to assure the information +Referernces +------------ +* References are object that point to a Commit +* SymbolicReference are a pointer to a Reference Object, which itself points to a specific + Commit +* They 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. -- cgit v1.2.3 From 1b89f39432cdb395f5fbb9553b56595d29e2b773 Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Fri, 23 Oct 2009 16:39:02 +0200 Subject: commit.name_rev property added for convenience --- CHANGES | 1 + 1 file changed, 1 insertion(+) (limited to 'CHANGES') diff --git a/CHANGES b/CHANGES index 8a529e6b..4ee1a0e7 100644 --- a/CHANGES +++ b/CHANGES @@ -61,6 +61,7 @@ GitCommand Commit ------ * 'count' method is not an instance method to increase its ease of use +* 'name_rev' property returns a nice name for the commit's sha Config ------ -- cgit v1.2.3