241 Commits

Author SHA1 Message Date
J. David Ibáñez
e6c270fe35 Get ready to release v0.20.0 2013-11-24 15:22:10 +01:00
Carlos Martín Nieto
b7e906eee9 Adjust to libgit2 development branch
This wraps the previous functionality, though there are some iterator
changes we might still want to bring over.
2013-11-20 12:20:26 +01:00
J. David Ibáñez
9c13be8dec Release 0.19.1
API changes:

- Rename Commit._message to Commit.raw_message
- Rename Signature._name to Signature.raw_name
- Rename Signature._email to Signature.raw_email

New features:

- Remote.push(refspec)
- Tag.get_object()

And some bugs fixed.

Thanks to Brodie Rao, Fraser Tweedale, Andrew Chin and Carlos Martín
Nieto.
2013-10-03 20:35:58 +02:00
J. David Ibáñez
5a007802d0 Release 0.19.0
API changes:

- New Oid type
- Changed signature of Repository.create_reference
- Reference.oid and Reference.hex removed, use Reference.target instead
- Drop "del Index[path]" from the API, use Index.remove(path) instead
- Drop TreeEntry.to_object
- Changed signature of Repository.checkout
- Repository.create_blob_from_file removed, use instead new methods
  Repository.create_blob_fromworkdir and
  Repository.create_blob_from_disk

New features:

- Add len(TreeBuilder) and TreeBuilder.get
- Add Repository.merge_base
- Support changing the head with "Repository.head = refname"
- Improved support for diff
- Add support for clone
- Python 2: Support hex oids as byte strings
- Add Reference.get_object()
- Add Remote.save
- Add support for branches, new type Branch

Other:

- Upgraded to libgit2 0.19
- Partial documentation review

Thanks to Nico von Geyso, Daniel Rodríguez Troitiño, Bernardo Heynemann,
Rémi Duraffort, Andrey Devyatkin, Hervé Cauwelier, Jiunn Haur Lim, Richo
Healey, Carlos Martín Nieto, David Fischer, Fraser Tweedale, Jun Omae
and Xu Tao.
2013-07-13 12:04:14 +02:00
Daniel Rodríguez Troitiño
1062ab638b Implement Repository.lookup_branch. Constants for local and remote branches. 2013-05-26 17:43:28 +02:00
J. David Ibáñez
0c86307eb5 Coding style: Silent pep8 2013-05-26 14:39:12 +02:00
J. David Ibáñez
5904a8752c docs: fix warning 2013-05-24 23:10:55 +02:00
J. David Ibáñez
f075aa3665 Fix some "errors" found by pyflakes 2013-05-24 21:34:10 +02:00
Nico von Geyso
6dd14d799e Fixed: Use GIT_DIFF_NORMAL as default flag for Diff 2013-05-20 15:38:49 +02:00
Nico von Geyso
86aafebb6d Fixed: remove OrderedDict for compability reasons (python2.6) 2013-05-20 15:13:04 +02:00
Nico von Geyso
77b5cdce5b Refactored: get rid of type check for treeish_to_tree in Diff 2013-05-20 14:58:54 +02:00
Nico von Geyso
6ce71a2799 Added: support for context_lines and interhunk_lines for diffs 2013-05-20 14:49:48 +02:00
Nico von Geyso
b4656cc99c Merge remote-tracking branch 'upstream/master' into features/diff_refactoring
Conflicts:
	src/tree.c
2013-05-18 15:48:27 +02:00
Nico von Geyso
0fc7a4fbad Refactored Index.diff() into Index.diff_to_tree()/diff_to_workdir() 2013-05-18 15:29:28 +02:00
Nico von Geyso
196d0595b0 Added: Repository.diff() - porcelain method similiar to 2013-05-18 14:48:05 +02:00
Bernardo Heynemann
032faf7017 Fixing 80-column width for both the python and C code. 2013-05-16 16:09:39 -03:00
Bernardo Heynemann
a377b32b60 Documentation for the new clone method.
Even though I am aware that the comment lines in pygit2/__init__.py are longer than 79 characters, there's a reason for that.
If I break them, they'll show poorly in the documentation, and in my opinion better docs trump the 80 char requirement. If you think it's still better to have less than 80 characters in the comments, I'll gladly resubmit the changes at the expense of the documentation.
2013-05-16 10:25:47 -03:00
Bernardo Heynemann
57ea19e905 Now __init__ is pep8-compliant 2013-05-16 10:06:46 -03:00
Bernardo Heynemann
3dd998c061 Supporting clone in pygit2 2013-05-15 18:15:00 -03:00
J. David Ibáñez
101715bf37 docs: review, in progress 2013-05-09 14:21:04 +02:00
J. David Ibáñez
974f16ca69 Re-work the checkout API
New API:

  Repository.head = refname
  Repository.checkout_head(strategy)
  Repository.checkout_index(strategy)
  Repository.checkout_tree(treeish, strategy)

Changed API:

  # Before
  Repository.checkout(strategy=GIT_CHECKOUT_SAFE_CREATE, reference=None,
                      head=False)

  # Now
  Repository.checkout(refname=None, strategy=GIT_CHECKOUT_SAFE_CREATE)
2013-05-05 21:45:39 +02:00
J. David Ibáñez
3a0bafa12b Rename "low level" reference creation methods
Rename Repository methods:

- git_reference_create          => create_reference_direct
- git_reference_symbolic_create => create_reference_symbolic
2013-05-04 09:30:37 +02:00
J. David Ibáñez
67417c7f56 create_reference, drop the symbolic param (#213)
Now we figure out whether it is a direct or symbolic reference based on
the type and value of the target. This guessing will fail in very very
rare situations, for that we still have the explicit lower level API.
2013-04-27 11:39:37 +02:00
J. David Ibáñez
e86fee5c7e Release 0.18.1
Changes:

- (#203) Now Repository.head returns the resolved reference, not the
  commit

- (#210) Fix refcount error in Repository.create_remote

- (#212) Improved diff documentation

Thanks to Jun Omae and Nico von Geyso.
2013-04-20 22:27:09 +02:00
J. David Ibáñez
072cc38607 Release v0.18.0 2013-04-16 22:46:53 +02:00
J. David Ibáñez
32e460fe16 docs: complete and improve organization 2013-04-03 19:09:48 +02:00
J. David Ibáñez
c3ca27fa72 Merge branch 'master' into next
Conflicts:
	include/pygit2/types.h
	src/oid.c
2013-03-23 15:54:12 +01:00
J. David Ibáñez
8588c20943 Fix import (#196) using relative imports 2013-03-13 14:43:44 +01:00
J. David Ibáñez
4abd370ea8 Make bug #196 to show up with Python 2 2013-03-13 14:36:40 +01:00
J. David Ibáñez
ad4b4cc4c5 Implement the Repository mapping interface in Python
Add 'Repository.get' and low level 'Repository.git_object_lookup_prefix'
2013-03-09 23:14:17 +01:00
J. David Ibáñez
d8b2514029 Rename low level reference creation methods
The idea is to keep exactly the same name as in libgit2
2013-03-03 23:01:42 +01:00
J. David Ibáñez
9ffc14148e Now we have a Repository class written in Python 2013-03-03 14:44:42 +01:00
J. David Ibáñez
29ce23c0d5 Update copyright 2013-03-02 12:16:16 +01:00
Christian Boos
4e14c1e543 update version to 0.17.4dev (once 0.17.3 is released, it's no longer 0.17.3) 2013-02-18 20:46:02 +01:00
J. David Ibáñez
ed66578029 Remove __libgit2_version__ because it is a dup
We already have LIBGIT2_VERSION
2013-02-17 22:46:11 +01:00
Christian Boos
64ae9e19f4 Use libgit2 LIBGIT2_VER* constants directly instead of git_libgit2_version() call. 2013-02-17 12:52:36 +01:00
Christian Boos
8f843beecf Add pygit2.__libgit2_version__ to retrieve git_libgit2_version() info. 2013-02-17 12:21:15 +01:00
J. David Ibáñez
1148c5d73b Release v0.17.3
Features:

- New 'Blob.size' getter
- New 'Repository.create_blob_fromfile' method
- Signature, now the time and offset parameters are optional
- Improved diff support

Other:

- Add 'pygit2.__version__'
- Optimize usage of Travis
- Various fixes for the unit tests
- Various documentation improvements

Thanks to Alex Chamberlain, Carlos Martín Nieto, Eric Davis,
Eric Schrijver, Petr Viktorin, Ridge Kennedy and W. Trevor King.
2012-09-21 16:30:50 +02:00
W. Trevor King
f10d2b7b3f pygit2:version: add 'pygit2.__version__' for easy access from client software.
Moved the hardcoded version from setup.py to pygit2/version.py so
client software can figure out which version of pygit2 it's using.
Having setup.py import pygit2.version.__version__ removes duplication,
and also means that setup.py will always use the local version (and
not the version of a previously installed pygit2).
2012-09-17 10:16:25 -04:00
J. David Ibáñez
6195491596 Add/update copyright header of each file
And update my email address.
2012-07-18 12:07:17 +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