aboutsummaryrefslogtreecommitdiff
path: root/CHANGES
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGES')
-rw-r--r--CHANGES92
1 files changed, 78 insertions, 14 deletions
diff --git a/CHANGES b/CHANGES
index babf2733..4ee1a0e7 100644
--- a/CHANGES
+++ b/CHANGES
@@ -27,6 +27,11 @@ 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.
+* 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
@@ -35,6 +40,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
----------------
@@ -42,6 +48,55 @@ 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
+
+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
+* 'name_rev' property returns a nice name for the commit's sha
+
+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.
+
+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.
+
+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.
+
Repo
----
* Moved blame method from Blob to repo as it appeared to belong there much more.
@@ -49,6 +104,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
@@ -60,6 +117,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
@@ -68,16 +127,26 @@ 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
+* 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' method
+ - 'config_writer' method
+ - 'bare' property, previously it was a simple attribute that could be written
+
+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
-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
+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
----
@@ -89,11 +158,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.
0.1.6
=====