Skip to content

Commit 258403d

Browse files
committed
bumped verison to 0.3.0 beta2
docs: added changelog, which moved from the CHANGES file into sphinx
1 parent 08457a7 commit 258403d

File tree

7 files changed

+548
-372
lines changed

7 files changed

+548
-372
lines changed

‎CHANGES

+4-367
Original file line numberDiff line numberDiff line change
@@ -1,368 +1,5 @@
1-
=======
2-
CHANGES
3-
=======
1+
Please see the online documentation for the latest changelog:
2+
http://packages.python.org/GitPython/0.3/changes.html
43

5-
0.3
6-
===
7-
Renamed Modules
8-
---------------
9-
* For consistency with naming conventions used in sub-modules like gitdb, the following modules have been renamed
10-
* git.utils -> git.util
11-
* git.errors -> git.exc
12-
* git.objects.utils -> git.objects.util
13-
14-
General
15-
-------
16-
* Object instances, and everything derived from it, now use binary sha's internally. The 'sha' member was removed, in favor of the 'binsha' member.
17-
An 'hexsha' property is available for convenient conversions.
18-
They may only be initialized using their binary shas, reference names or revision specs are not allowed anymore.
19-
* IndexEntry instances contained in IndexFile.entries now use binary sha's. Use the .hexsha property to obtain the hexadecimal version. The .sha property was removed to make the use of the respective sha more explicit.
20-
* If objects are instantiated explicitly, a binary sha is required to identify the object, where previously any rev-spec could be used. The ref-spec compatible
21-
version still exists as Object.new or Repo.commit|Repo.tree respectively.
22-
* The .data attribute was removed from the Object type, to obtain plain data, use the data_stream property instead.
23-
* ConcurrentWriteOperation was removed, and replaced by LockedFD
24-
* IndexFile.get_entries_key was renamed to entry_key
25-
* IndexFile.write_tree: removed missing_ok keyword, its always True now
26-
Instead of raising GitCommandError it raises UnmergedEntriesError.
27-
This is required as the pure-python implementation doesn't support the missing_ok keyword yet.
28-
* diff.Diff.null_hex_sha renamed to NULL_HEX_SHA, to be conforming with
29-
the naming in the Object base class
30-
31-
32-
33-
34-
0.2 Beta 2
35-
===========
36-
* Commit objects now carry the 'encoding' information of their message. It wasn't parsed previously, and defaults to UTF-8
37-
* Commit.create_from_tree now uses a pure-python implementation, mimicing git-commit-tree
38-
39-
0.2
40-
=====
41-
General
42-
-------
43-
* file mode in Tree, Blob and Diff objects now is an int compatible to definintiions
44-
in the stat module, allowing you to query whether individual user, group and other
45-
read, write and execute bits are set.
46-
* Adjusted class hierarchy to generally allow comparison and hash for Objects and Refs
47-
* Improved Tag object which now is a Ref that may contain a tag object with additional
48-
Information
49-
* id_abbrev method has been removed as it could not assure the returned short SHA's
50-
where unique
51-
* removed basename method from Objects with path's as it replicated features of os.path
52-
* from_string and list_from_string methods are now private and were renamed to
53-
_from_string and _list_from_string respectively. As part of the private API, they
54-
may change without prior notice.
55-
* Renamed all find_all methods to list_items - this method is part of the Iterable interface
56-
that also provides a more efficients and more responsive iter_items method
57-
* All dates, like authored_date and committer_date, are stored as seconds since epoc
58-
to consume less memory - they can be converted using time.gmtime in a more suitable
59-
presentation format if needed.
60-
* Named method parameters changed on a wide scale to unify their use. Now git specific
61-
terms are used everywhere, such as "Reference" ( ref ) and "Revision" ( rev ).
62-
Prevously multiple terms where used making it harder to know which type was allowed
63-
or not.
64-
* Unified diff interface to allow easy diffing between trees, trees and index, trees
65-
and working tree, index and working tree, trees and index. This closely follows
66-
the git-diff capabilities.
67-
* Git.execute does not take the with_raw_output option anymore. It was not used
68-
by anyone within the project and False by default.
69-
70-
71-
Item Iteration
72-
--------------
73-
* Previously one would return and process multiple items as list only which can
74-
hurt performance and memory consumption and reduce response times.
75-
iter_items method provide an iterator that will return items on demand as parsed
76-
from a stream. This way any amount of objects can be handled.
77-
* list_items method returns IterableList allowing to access list members by name
78-
79-
objects Package
80-
----------------
81-
* blob, tree, tag and commit module have been moved to new objects package. This should
82-
not affect you though unless you explicitly imported individual objects. If you just
83-
used the git package, names did not change.
84-
85-
Blob
86-
----
87-
* former 'name' member renamed to path as it suits the actual data better
88-
89-
GitCommand
90-
-----------
91-
* git.subcommand call scheme now prunes out None from the argument list, allowing
92-
to be called more confortably as None can never be a valid to the git command
93-
if converted to a string.
94-
* Renamed 'git_dir' attribute to 'working_dir' which is exactly how it is used
95-
96-
Commit
97-
------
98-
* 'count' method is not an instance method to increase its ease of use
99-
* 'name_rev' property returns a nice name for the commit's sha
100-
101-
Config
102-
------
103-
* The git configuration can now be read and manipulated directly from within python
104-
using the GitConfigParser
105-
* Repo.config_reader() returns a read-only parser
106-
* Repo.config_writer() returns a read-write parser
107-
108-
Diff
109-
----
110-
* Members a a_commit and b_commit renamed to a_blob and b_blob - they are populated
111-
with Blob objects if possible
112-
* Members a_path and b_path removed as this information is kept in the blobs
113-
* Diffs are now returned as DiffIndex allowing to more quickly find the kind of
114-
diffs you are interested in
115-
116-
Diffing
117-
-------
118-
* Commit and Tree objects now support diffing natively with a common interface to
119-
compare agains other Commits or Trees, against the working tree or against the index.
120-
121-
Index
122-
-----
123-
* A new Index class allows to read and write index files directly, and to perform
124-
simple two and three way merges based on an arbitrary index.
125-
126-
Referernces
127-
------------
128-
* References are object that point to a Commit
129-
* SymbolicReference are a pointer to a Reference Object, which itself points to a specific
130-
Commit
131-
* They will dynmically retrieve their object at the time of query to assure the information
132-
is actual. Recently objects would be cached, hence ref object not be safely kept
133-
persistent.
134-
135-
Repo
136-
----
137-
* Moved blame method from Blob to repo as it appeared to belong there much more.
138-
* active_branch method now returns a Head object instead of a string with the name
139-
of the active branch.
140-
* tree method now requires a Ref instance as input and defaults to the active_branche
141-
instead of master
142-
* is_dirty now takes additional arguments allowing fine-grained control about what is
143-
considered dirty
144-
* Removed the following methods:
145-
- 'log' method as it as effectively the same as the 'commits' method
146-
- 'commits_since' as it is just a flag given to rev-list in Commit.iter_items
147-
- 'commit_count' as it was just a redirection to the respective commit method
148-
- 'commits_between', replaced by a note on the iter_commits method as it can
149-
achieve the same thing
150-
- 'commit_delta_from' as it was a very special case by comparing two different
151-
repositories which are likely to have completly different commits. For
152-
related repositories, i.e. clones, git-rev-list would be sufficient to find
153-
commits that would need to be transferred for example.
154-
- 'create' method which equals the 'init' method's functionality
155-
- 'diff' - it returned a mere string which still had to be parsed
156-
- 'commit_diff' - moved to Commit, Tree and Diff types respectively
157-
* Renamed the following methods:
158-
- commits to iter_commits to improve the performance, adjusted signature
159-
- init_bare to init, implying less about the options to be used
160-
- fork_bare to clone, as it was to represent general clone functionality, but implied
161-
a bare clone to be more versatile
162-
- archive_tar_gz and archive_tar and replaced by archive method with different signature
163-
* 'commits' method has no max-count of returned commits anymore, it now behaves
164-
like git-rev-list
165-
* The following methods and properties were added
166-
- 'untracked_files' property, returning all currently untracked files
167-
- 'head', creates a head object
168-
- 'tag', creates a tag object
169-
- 'iter_trees' method
170-
- 'config_reader' method
171-
- 'config_writer' method
172-
- 'bare' property, previously it was a simple attribute that could be written
173-
* Renamed the following attributes
174-
- 'path' is now 'git_dir'
175-
- 'wd' is now 'working_dir'
176-
* Added attribute
177-
- 'working_tree_dir' which may be None in case of bare repositories
178-
179-
Remote
180-
------
181-
* Added Remote object allowing easy access to remotes
182-
* Repo.remotes lists all remotes
183-
* Repo.remote returns a remote of the specified name if it exists
184-
185-
Test Framework
186-
--------------
187-
* Added support for common TestCase base class that provides additional functionality
188-
to receive repositories tests can also write to. This way, more aspects can be
189-
tested under real-world ( un-mocked ) conditions.
190-
191-
Tree
192-
----
193-
* former 'name' member renamed to path as it suits the actual data better
194-
* added traverse method allowing to recursively traverse tree items
195-
* deleted blob method
196-
* added blobs and trees properties allowing to query the respective items in the
197-
tree
198-
* now mimics behaviour of a read-only list instead of a dict to maintain order.
199-
* content_from_string method is now private and not part of the public API anymore
200-
201-
202-
0.1.6
203-
=====
204-
205-
General
206-
-------
207-
* Added in Sphinx documentation.
208-
209-
* Removed ambiguity between paths and treeishs. When calling commands that
210-
accept treeish and path arguments and there is a path with the same name as
211-
a treeish git cowardly refuses to pick one and asks for the command to use
212-
the unambiguous syntax where '--' seperates the treeish from the paths.
213-
214-
* ``Repo.commits``, ``Repo.commits_between``, ``Reop.commits_since``,
215-
``Repo.commit_count``, ``Repo.commit``, ``Commit.count`` and
216-
``Commit.find_all`` all now optionally take a path argument which
217-
constrains the lookup by path. This changes the order of the positional
218-
arguments in ``Repo.commits`` and ``Repo.commits_since``.
219-
220-
Commit
221-
------
222-
* ``Commit.message`` now contains the full commit message (rather than just
223-
the first line) and a new property ``Commit.summary`` contains the first
224-
line of the commit message.
225-
226-
* Fixed a failure when trying to lookup the stats of a parentless commit from
227-
a bare repo.
228-
229-
Diff
230-
----
231-
* The diff parser is now far faster and also addresses a bug where
232-
sometimes b_mode was not set.
233-
234-
* Added support for parsing rename info to the diff parser. Addition of new
235-
properties ``Diff.renamed``, ``Diff.rename_from``, and ``Diff.rename_to``.
236-
237-
Head
238-
----
239-
* Corrected problem where branches was only returning the last path component
240-
instead of the entire path component following refs/heads/.
241-
242-
Repo
243-
----
244-
* Modified the gzip archive creation to use the python gzip module.
245-
246-
* Corrected ``commits_between`` always returning None instead of the reversed
247-
list.
248-
249-
250-
0.1.5
251-
=====
252-
253-
General
254-
-------
255-
* upgraded to Mock 0.4 dependency.
256-
257-
* Replace GitPython with git in repr() outputs.
258-
259-
* Fixed packaging issue caused by ez_setup.py.
260-
261-
Blob
262-
----
263-
* No longer strip newlines from Blob data.
264-
265-
Commit
266-
------
267-
* Corrected problem with git-rev-list --bisect-all. See
268-
http://groups.google.com/group/git-python/browse_thread/thread/aed1d5c4b31d5027
269-
270-
Repo
271-
----
272-
* Corrected problems with creating bare repositories.
273-
274-
* Repo.tree no longer accepts a path argument. Use:
275-
276-
>>> dict(k, o for k, o in tree.items() if k in paths)
277-
278-
* Made daemon export a property of Repo. Now you can do this:
279-
280-
>>> exported = repo.daemon_export
281-
>>> repo.daemon_export = True
282-
283-
* Allows modifying the project description. Do this:
284-
285-
>>> repo.description = "Foo Bar"
286-
>>> repo.description
287-
'Foo Bar'
288-
289-
* Added a read-only property Repo.is_dirty which reflects the status of the
290-
working directory.
291-
292-
* Added a read-only Repo.active_branch property which returns the name of the
293-
currently active branch.
294-
295-
296-
Tree
297-
----
298-
* Switched to using a dictionary for Tree contents since you will usually want
299-
to access them by name and order is unimportant.
300-
301-
* Implemented a dictionary protocol for Tree objects. The following:
302-
303-
child = tree.contents['grit']
304-
305-
becomes:
306-
307-
child = tree['grit']
308-
309-
* Made Tree.content_from_string a static method.
310-
311-
0.1.4.1
312-
=======
313-
314-
* removed ``method_missing`` stuff and replaced with a ``__getattr__``
315-
override in ``Git``.
316-
317-
0.1.4
318-
=====
319-
320-
* renamed ``git_python`` to ``git``. Be sure to delete all pyc files before
321-
testing.
322-
323-
Commit
324-
------
325-
* Fixed problem with commit stats not working under all conditions.
326-
327-
Git
328-
---
329-
* Renamed module to cmd.
330-
331-
* Removed shell escaping completely.
332-
333-
* Added support for ``stderr``, ``stdin``, and ``with_status``.
334-
335-
* ``git_dir`` is now optional in the constructor for ``git.Git``. Git now
336-
falls back to ``os.getcwd()`` when git_dir is not specified.
337-
338-
* add a ``with_exceptions`` keyword argument to git commands.
339-
``GitCommandError`` is raised when the exit status is non-zero.
340-
341-
* add support for a ``GIT_PYTHON_TRACE`` environment variable.
342-
``GIT_PYTHON_TRACE`` allows us to debug GitPython's usage of git through
343-
the use of an environment variable.
344-
345-
Tree
346-
----
347-
* Fixed up problem where ``name`` doesn't exist on root of tree.
348-
349-
Repo
350-
----
351-
* Corrected problem with creating bare repo. Added ``Repo.create`` alias.
352-
353-
0.1.2
354-
=====
355-
356-
Tree
357-
----
358-
* Corrected problem with ``Tree.__div__`` not working with zero length files.
359-
Removed ``__len__`` override and replaced with size instead. Also made size
360-
cach properly. This is a breaking change.
361-
362-
0.1.1
363-
=====
364-
Fixed up some urls because I'm a moron
365-
366-
0.1.0
367-
=====
368-
initial release
4+
To see the changes of this very version, have a look at the file:
5+
doc/source/changes.rst

‎VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.3.0-beta1
1+
0.3.0-beta2

0 commit comments

Comments
 (0)