265 Commits

Author SHA1 Message Date
Nico von Geyso
e7b5560590 Merge branch 'master' of https://github.com/libgit2/pygit2 into refactoring
Conflicts:
	pygit2.c
2012-05-25 17:37:25 +02:00
Nico von Geyso
75fda65f52 force length of PyArg_ParseTuple("s#) to be Py_ssize_t rather than int 2012-05-25 15:00:26 +02:00
Nico von Geyso
0ac20f2d9d fixed typo in setup() 2012-05-25 14:43:15 +02:00
Nico von Geyso
1347ad6c53 added pygit2 cache files to .gitignore 2012-05-25 14:25:28 +02:00
Nico von Geyso
ad4edf1b85 added pygit2.utils module
refactored package integration to be able to have pygit2.utils module
2012-05-25 14:23:25 +02:00
Nico von Geyso
6b1a281edc refactoring pygit2.c into several small files
The whole extension was organised in one big 3727 lines monster.
This refactoring is splitting these 3727 lines into several smaller files.
2012-05-25 14:07:44 +02:00
Nico von Geyso
3bb00107d2 added old and new file path for hunks 2012-05-25 10:35:39 +02:00
Nico von Geyso
aec936c94e removed redundant repo entry in DiffObject 2012-05-24 19:17:35 +02:00
Nico von Geyso
2a49eadc57 added some tests for diff 2012-05-24 19:10:00 +02:00
Nico von Geyso
d62b8c590d basic diff implementation
It is now possible to get a diff between two trees:
* new diff-method for Tree-Object
* new Diff and Hunk Objects
2012-05-24 19:07:32 +02:00
J. David Ibáñez
6825bba8c0 Release v0.17.0
Changes:

- Update to libgit2 v0.17.0
- New method 'Repository.create_blob'

Thanks to Nico von Geyso.
v0.17.0
2012-05-21 18:11:38 +02:00
J. David Ibáñez
7d396fc02f Merge remote branch 'cholin/new-error-handling' 2012-05-19 17:10:29 +02:00
Nico von Geyso
8dd0c18c62 adapting new-error-handling in pygit2
New error handling in libgit2 is now done the posix way. One error code for each expected failure,
and a generic error code for all critical ones. The last error can be accessed by giterr_last().
It returns a pointer to the global error struct.

For more information see docs/error-handling.md in libgit2.
2012-05-19 12:45:32 +02:00
Nico von Geyso
c04ba3ac2b python3 compatibility
fixed unicode/byte string issues for python3
2012-05-15 11:24:03 +02:00
Nico von Geyso
632750565b added tests for Repository.create_blob() 2012-05-11 14:03:35 +02:00
Nico von Geyso
57dd20c5f0 added create_blob-Method for Repository
Use case: Add and commit a blob out of memory for bare repositories
2012-05-11 11:57:50 +02:00
J. David Ibáñez
2bbf62f50a Release v0.16.2
Highlights:

- Fix serious memory bug
- Change signature of 'TreeBuilder.insert'
- Improve support of Windows

Thanks to Benjamin Kircher, Han-Wen Nienhuys and Yonggang Luo.
v0.16.2
2012-05-03 14:05:51 +02:00
J. David Ibáñez
fd4f3cf633 style: do not use tabs 2012-05-03 14:02:31 +02:00
Han-Wen Nienhuys
6caf65915d Fix double free in case of initializing a TreeBuilder with Tree
object.
2012-04-30 15:45:02 -03:00
Han-Wen Nienhuys
cad9b89919 Fix use-after-free problem in py_str_to_c_str(). 2012-04-30 14:19:15 -03:00
Yonggang Luo
ad39bd7b4d use distutils.log instead of logging.
Pass args to unittest, so that we can running unittest in such way:
python setup.py test --args="test.test_tag.TagTest"
2012-04-07 14:04:11 +08:00
Yonggang Luo
823dc6ae3b # -*- coding: UTF-8 -*-
# coding: UTF-8

This is necessary under win32.
2012-04-07 12:42:33 +08:00
Yonggang Luo
81e892b8d5 copy (lib)git2.dll alongside pygit2
add build_lib into sys path so that unittest can found (lib)git2.dll
2012-04-07 12:34:15 +08:00
Yonggang Luo
907b668fcf drop support for setuptools. 2012-04-07 11:54:44 +08:00
J. David Ibáñez
c9554dfc95 Merge remote branch 'hanwen/master' 2012-04-05 20:44:30 +02:00
Benjamin Kircher
9c74743f23 Fix spelling in docstring 2012-04-04 05:36:23 +02:00
Han-Wen Nienhuys
21a366e049 Change signature of TreeBuilder.insert to take (name, oid, attribute).
This is analogous to git_treebuilder_insert(); update tests.
2012-03-30 00:11:30 -03:00
J. David Ibáñez
f530917463 We don't need zlib/libssl 2012-03-29 16:28:13 +02:00
J. David Ibáñez
bccf3e1e33 Release v0.16.1
Highlights:

- Tag.target now returns the OID, not the object
- New method "Repository.status_file(path)"
- New function "discover_repository(...)"
- Supporting tree-builders
- Improving pygit2 on Windows
- Various bugs fixed, including a couple of segfaults

Thanks to Amit Bakshi, Bryan O'Sullivan, Carlos Martín Nieto,
Han-Wen Nienhuys and Yonggang Luo.
v0.16.1
2012-03-19 14:16:30 +01:00
J. David Ibáñez
27585e5344 Fixing TreeEntry lifetime issues
Now a TreeEntry can be owned by a Tree or a TreeBuilder, this should
handle the lifetime issues reported by Han-Wen Nienhuys.

Discussion in issue #56
2012-03-17 17:55:41 +01:00
Carlos Martín Nieto
7137f8217e Add tests for the short OID support 2012-03-15 05:33:13 +01:00
Carlos Martín Nieto
139034f66f Support short OIDs
Intoduce and use py_str_to_git_oid_expand() to get a full OID from a
short one the user may have passed.

Repository_contains() has learnt to do it by itself as expanding an
OID means asking the repository's ODB for the object anyway.

The return values have been made consistent with other functions and
py_str_to_git_oid() now returns an int and marks errors with a
negative value.
2012-03-15 05:33:13 +01:00
J. David Ibáñez
b1508a31eb Merge remote branch 'bos/safe_message' 2012-03-14 23:16:00 +01:00
Yonggang Luo
a444cd1e1c utils.py Use onerror deal with rmtree 2012-03-14 22:59:16 +01:00
Bryan O'Sullivan
d35944cc7d Decode messages leniently if encoding is not known
This avoids throwing of a UnicodeDecodeError on some really old commits.

We also add undecoded attribute accessors, to get at the raw bytes.
2012-03-13 16:21:42 -07:00
J. David Ibáñez
a0810694ed Merge remote branch 'carlos/treebuilder' 2012-03-12 22:30:30 +01:00
J. David Ibáñez
a6a36ad803 Now TreeEntry points back to the repo
Instead of pointing back to the tree.
2012-03-11 22:50:55 +01:00
J. David Ibáñez
f11533a65a Revert "(issue #56) Remove TreeEntry.to_object"
This reverts commit 4cdb1a83b430fa27e2b0800ce17751631b036a78.
2012-03-11 22:40:37 +01:00
J. David Ibáñez
6dd8ec65a9 (issue #75) Include readme file in source dist
Patch submitted by rl-0x0
2012-03-09 23:15:08 +01:00
Carlos Martín Nieto
242f3c2ffa TreeBuilder: allow the source to be a Tree
If the user passes a tree, use it as the source for the
TreeBuilder. On the way, make sure we free the tree we looked up, and
fix a test to make sure the TreeBuilder starts empty.
2012-03-09 12:57:22 +01:00
Carlos Martín Nieto
3e73d3a2b8 Add remove() and clear() to TreeBuilder 2012-03-09 11:41:17 +01:00
Carlos Martín Nieto
eb522b0caa Make TreeBuilder grow out of the repository
A TreeBuilder is a lot more useful (and easy to use) when it belongs
to a repository.
2012-03-09 11:41:17 +01:00
J. David Ibáñez
8380c625c4 Check for error after call to py_str_to_c_str
Fixes segfaults in 'Repository.create_commit' and 'Signature(...)'
Error reported by Han-Wen Nienhuys in the mailing list.
2012-03-03 17:37:33 +01:00
J. David Ibáñez
c6ebc98930 Revert "Commit.parents now returns a list of oids"
This reverts commit 1fb34e7b96000d29c4633b66fabc0699ac74ce15.
2012-02-28 13:02:37 +01:00
J. David Ibáñez
1fb34e7b96 Commit.parents now returns a list of oids
Instead of returning the commit objects.
2012-02-27 00:25:57 +01:00
J. David Ibáñez
4b0f759cc0 Tag.target now returns the oid (not the object) 2012-02-27 00:13:43 +01:00
J. David Ibáñez
e9e902e024 tests: add utility function 'oid_to_hex' 2012-02-27 00:12:33 +01:00
J. David Ibáñez
8b84f90a81 (issue #56) Fix TreeBuilder deallocation
Also, add a comment to the TODO file about a memory management issue
found throught pygit2.
2012-02-26 19:57:33 +01:00
J. David Ibáñez
4cdb1a83b4 (issue #56) Remove TreeEntry.to_object
This is one way to enable implementing 'TreeBuilder.get'. It also makes
pygit2 a little lower-level. And makes TreeEntry consistent with IndexEntry,
which lacks such a function.
2012-02-26 19:41:17 +01:00
Amit Bakshi
b1cb51c9d1 Test for pygit2.discover_repository 2012-02-25 18:15:45 -08:00