1. 11 Jul, 2012 6 commits
  2. 07 Jul, 2012 2 commits
  3. 03 Jul, 2012 2 commits
  4. 02 Jul, 2012 1 commit
  5. 29 Jun, 2012 2 commits
  6. 28 Jun, 2012 1 commit
  7. 22 Jun, 2012 2 commits
  8. 21 Jun, 2012 2 commits
  9. 19 Jun, 2012 3 commits
  10. 14 Jun, 2012 1 commit
  11. 12 Jun, 2012 1 commit
  12. 09 Jun, 2012 1 commit
  13. 08 Jun, 2012 4 commits
    • Minor fixes, cleanups, and clarifications · 145e696b
      There are three actual changes in this commit:
      
      1. When the trailing newline of a file is removed in a diff, the
         change will now be reported with `GIT_DIFF_LINE_DEL_EOFNL` passed
         to the callback.  Previously, the `ADD_EOFNL` constant was given
         which was just an error in my understanding of when the various
         circumstances arose.  `GIT_DIFF_LINE_ADD_EOFNL` is deprecated and
         should never be generated.  A new newline is simply an `ADD`.
      2. Rewrote the `diff_delta__merge_like_cgit` function that contains
         the core logic of the `git_diff_merge` implementation.  The new
         version doesn't actually have significantly different behavior,
         but the logic should be much more obvious, I think.
      3. Fixed a bug in `git_diff_merge` where it freed a string pool
         while some of the string data was still in use.  This led to
         `git_diff_print_patch` accessing memory that had been freed.
      
      The rest of this commit contains improved documentation in `diff.h`
      to make the behavior and the equivalencies with core git clearer,
      and a bunch of new tests to cover the various cases, oh and a minor
      simplification of `examples/diff.c`.
      Russell Belfer committed
    • Fix filemode comparison in diffs · 0abd7244
      File modes were both not being ignored properly on platforms
      where they should be ignored, nor be diffed consistently on
      platforms where they are supported.
      
      This change adds a number of diff and status filemode change
      tests.  This also makes sure that filemode-only changes are
      included in the diff output when they occur and that filemode
      changes are ignored successfully when core.filemode is false.
      
      There is no code that automatically toggles core.filemode
      based on the capabilities of the current platform, so the user
      still needs to be careful in their .git/config file.
      Russell Belfer committed
    • OS4 compatibility · aa5a92d1
      Chris Young committed
  14. 07 Jun, 2012 6 commits
  15. 05 Jun, 2012 1 commit
  16. 29 May, 2012 1 commit
  17. 26 May, 2012 1 commit
  18. 19 May, 2012 2 commits
  19. 18 May, 2012 1 commit
    • libgit2 v0.17.0 "Lord of Diffstruction" · ad5df35a
      Welcome to yet another libgit2 release, this one being the
      biggest we've shipped so far. Highlights on this release
      include diff, branches, notes and submodules support. The new
      diff API is shiny and powerful. Check it out.
      
      Apologies, one more time, to all the early adopters for the
      breaking API changes. We've been iterating on the error
      handling for the library until we reached its current state,
      which we believe it's significantly more usable both for normal
      users and for developers of bindings to other languages.
      Also, we've renamed a few legacy calls to ensure that the whole
      external API uses a consistent naming scheme.
      
      As always, check the API docs for the full list of new API calls
      and backwards-incompatible changes.
      
      	http://libgit2.github.com/libgit2/
      
      Changelog of new features follows:
      
      Attributes:
      	- Added function macros to check attribute values instead of having
      	to manually compare them
      	- Added support for choosing the attribute loading order (workdir files
      	vs index) and to skip the systems' default `.gitattributes`
      	- Fixed issues when fetching attribute data on bare repositories
      
      Blob:
      	- Added support for creating blobs from any file on disk (not
      	restricted to the repository's working directory)
      	- Aded support for smudge filters when writing blobs to the ODB
      		- So far only CRLF normalization is available
      
      Branches:
      	- Added a high-level branch API:
      		- git_branch_create
      		- git_branch_delete
      		- git_branch_list
      		- git_branch_move
      
      Commit:
      	- Commit messages are now filtered to match Git rules (stripping
      	comments and adding proper whitespacing rules)
      
      Config:
      	- Added support for setting and getting multivars
      	- Added `git_config_get_mapped` to map the value of a config
      	variable based on its defaults
      
      Diff:
      	- Added full diff API:
      		- tree to tree
      		- index to tree
      		- workdir to index
      		- workdir to tree
      		- blob to blob
      
      	- Added helper functions to print the diffs as valid patchfiles
      
      Error handling:
      	- New design for the error handling API, taking into consideration
      	the requirements of dynamic languages
      
      Indexer:
      	- Added streaming packfile indexer
      
      Merge:
      	- Added support for finding the merge base between two commits
      
      Notes:
      	- Full git-notes support:
      		- git_note_read
      		- git_note_message/git_note_oid
      		- git_note_create
      		- git_note_remove
      		- git_note_free
      		- git_note_foreach
      
      References:
      	- Added `git_reference_name_to_oid` helper to resolve
      	a reference to its final OID
      
      	- Added `git_reference_cmp` to compare two references with
      	a stable order
      
      Remotes:
      	- Added support for writing and saving remotes
      		- `git_remote_add`
      		- `git_remote_save`
      		- Setters for all the attributes of a remote
      	- Switched remote download to the new streaming packfile indexer
      	- Fixed fetch on HTTP and Git under Windows
      	- Added `git_remote_supported_url` helper to check if a protocol
      	can be accessed by the library
      	- Added `git_remote_list`
      
      Repository:
      	- Made `git_repository_open` smarter when finding the `.git` folder.
      	- Added `git_repository_open_ext` with extra options when
      	opening a repository
      
      Revwalk:
      	- Added support for pushing/hiding several references through a glob
      	- Added helper to push/hide the current HEAD to the walker
      	- Added helper to push/hide a single reference to the walker
      
      Status:
      	- Greatly improved Status implementation using the new `diff` code
      	as a backend
      
      Submodules:
      	- Added a partial submodules API to get information about a
      	submodule and list all the submodules in a repository
      		- git_submodule_foreach
      		- git_submodule_lookup
      
      Tag:
      	- Added `git_tag_peel` helper to peel a tag to its pointed object
      	- Tag messages are now filtered to match Git rules (stripping comments
      	and adding proper whitespacing rules)
      
      Tree:
      	- Killed the old `git_tree_diff` API, which is replaced by the
      	new diff code.
      
      Signed-off-by: Vicent Marti <tanoku@gmail.com>
      Vicent Marti committed