summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Clean up system file finding tests on Win32env-expansionRussell Belfer2012-05-242-20/+11
|
* windows: Properly expand all environment variablesVicent Martí2012-05-241-103/+51
|
* Merge pull request #726 from arrbee/utf16-home-dirRussell Belfer2012-05-243-16/+188
|\ | | | | Get user's home dir in UTF-16 clean manner
| * Fix bugs in UTF-8 <-> UTF-16 conversionRussell Belfer2012-05-242-14/+15
| | | | | | | | | | | | | | | | | | | | | | | | The function to convert UTF-16 to UTF-8 was only allocating a buffer of wcslen(utf16str) bytes for the UTF-8 string, but that is not sufficient if you have multibyte characters, and so when those occured, the conversion was failing. This updates the conversion functions to use the Win APIs to calculate the correct buffer lengths. Also fixes a comparison in the unit tests that would fail if you did not have a particular environment variable set.
| * Get user's home dir in UTF-16 clean mannerRussell Belfer2012-05-242-3/+174
| | | | | | | | | | | | | | On Windows, we are having problems with home directories that have non-ascii characters in them. This rewrites the relevant code to fetch environment variables as UTF-16 and then explicitly map then into UTF-8 for our internal usage.
* | repository: default to core.bare = false if it's not setCarlos Martín Nieto2012-05-241-3/+4
| | | | | | | | | | | | We used to consider a missing core.bare option to mean that the repository was corrupt. This is too strict. Consider it a non-bare repository if it's not set.
* | examples/network: consistently use tabs for indentationCarlos Martín Nieto2012-05-242-126/+126
| |
* | README: use docs/rel-notes/ for the release notesCarlos Martín Nieto2012-05-241-1/+1
| |
* | Merge pull request #720 from nulltoken/fix/libgit2sharp_issue_153Vicent Martí2012-05-232-7/+18
|\ \ | | | | | | Make git_futils_mkdir_r() able to cope with Windows network paths
| * | fileops: Make git_futils_mkdir_r() able to cope with Windows network pathsnulltoken2012-05-232-7/+18
| |/ | | | | | | Partially fix libgit2/libgit2sharp#153
* | Merge pull request #712 from waywardmonkeys/embedded_makefile_fixesVicent Martí2012-05-231-3/+3
|\ \ | | | | | | Embedded makefile fixes
| * | Allow passing additional defines and cflags to Makefile.embed.Bruce Mitchener2012-05-191-2/+2
| | |
| * | Build xdiff as well in Makefile.embed.Bruce Mitchener2012-05-191-1/+1
| | |
* | | Merge pull request #716 from scottjg/examples-cleanupVicent Martí2012-05-233-2/+18
|\ \ \ | | | | | | | | Build fixes for examples/
| * | | Add CMake build for examples / add them to TravisScott J. Goldman2012-05-202-1/+17
| | | | | | | | | | | | | | | | | | | | By default, they are still not built, but hopefully, now that Travis is building them, this will help stave off some of the bitrot.
| * | | Fix examples/general.c compilationScott J. Goldman2012-05-201-1/+1
| | |/ | |/| | | | | | | git_reference_listall() -> git reference_list()
* | | Merge pull request #723 from carlosmn/rel-notesVicent Martí2012-05-232-3/+5
|\ \ \ | | | | | | | | Add notice about release notes
| * | | README: add rules about writing release notes as they happenCarlos Martín Nieto2012-05-231-1/+3
| | | |
| * | | CONVENTIONS: Update error code namesCarlos Martín Nieto2012-05-231-2/+2
|/ / /
* | | Remove left-over debugging outputCarlos Martín Nieto2012-05-231-2/+0
|/ /
* | Merge pull request #715 from schu/cleanup-miscVicent Martí2012-05-192-10/+0
|\ \ | | | | | | Cleanup
| * | CleanupMichael Schubert2012-05-192-10/+0
|/ / | | | | | | | | | | | | * indexer: remove leftover printf * commit: remove unused macros COMMIT_BASIC_PARSE, COMMIT_FULL_PARSE and COMMIT_PRINT
* | Merge pull request #713 from waywardmonkeys/spellingVicent Martí2012-05-1915-30/+30
|\ \ | |/ |/| Fix spelling errors.
| * Fix spelling errors.Bruce Mitchener2012-05-1915-30/+30
|/
* libgit2 v0.17.0 "Lord of Diffstruction"Vicent Marti2012-05-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Merge pull request #710 from libgit2/breaking-changesVicent Martí2012-05-1880-458/+506
|\ | | | | Break everything before the release
| * errors: Rename error codesbreaking-changesVicent Martí2012-05-1861-170/+171
| |
| * errors: Rename the generic return codesVicent Martí2012-05-1890-368/+404
| |
| * Properly tag all `enums` with a `_t`Vicent Martí2012-05-188-31/+34
| |
| * refs: git_reference_listall -> git_reference_listVicent Martí2012-05-186-7/+7
| |
| * errors: Remove old commentsVicent Martí2012-05-181-13/+0
| |
| * global: Fix unit tests after reorderingVicent Martí2012-05-187-82/+82
| |
| * global: Change parameter ordering in APIVicent Martí2012-05-1814-97/+118
| | | | | | | | Consistency is good.
* | Merge pull request #711 from schu/fetch-local-dummyVicent Martí2012-05-181-0/+11
|\ \ | | | | | | fetch: set dummy function for local fetch
| * | fetch: set dummy function for local fetchMichael Schubert2012-05-181-0/+11
|/ / | | | | | | | | | | | | Local fetch isn't implemented yet. Don't segfault on call, but set a dummy for negotiate_fetch and terminate gracefully. Reported-by: Brad Harder <bch@methodlogic.net>
* | Merge pull request #685 from nulltoken/fix/list-remote-branchesVicent Martí2012-05-172-2/+31
|\ \ | |/ |/| branch: retrieve symbolic references when listing the branches
| * branch: retrieve symbolic references when listing the branchesnulltoken2012-05-182-2/+31
| |
* | Merge pull request #709 from arrbee/profiling-with-scottgVicent Martí2012-05-176-25/+52
|\ \ | |/ |/| Profiling with scottg
| * No point in keeping commented out fnRussell Belfer2012-05-171-9/+0
| |
| * Other optimization and warning fixesRussell Belfer2012-05-172-14/+23
| | | | | | | | | | This fixes a warning left by the earlier optimization and addresses one of the other hotspots identified by GProf.
| * Optimize away git_text_gather_stats in diffRussell Belfer2012-05-173-7/+23
| | | | | | | | | | | | | | | | GProf shows `git_text_gather_stats` as the most expensive call in large diffs. The function calculates a lot of information that is not actually used and does not do so in a optimal order. This introduces a tuned `git_buf_is_binary` function that executes the same algorithm in a fraction of the time.
| * Basic setup for profilingRussell Belfer2012-05-173-2/+13
| | | | | | | | | | This fixes the examples so they will build and adds a PROFILE option to the CMakeFile that enabled gprof info on non-Windows
* | Merge pull request #708 from arrbee/fix-empty-workdir-iteratorVicent Martí2012-05-172-4/+81
|\ \ | |/ |/| Fix workdir iterators on empty directories
| * Fix workdir iterators on empty directoriesRussell Belfer2012-05-172-4/+81
|/ | | | | | | Creating a workdir iterator on a directory with absolutely no files was returning an error (GIT_ENOTFOUND) instead of an iterator for nothing. This fixes that and includes two new tests that cover that case.
* Merge pull request #706 from arrbee/fix_592_againVicent Martí2012-05-1625-36/+148
|\ | | | | Fix status for files under ignored dirs
| * Fix status for files under ignored dirsRussell Belfer2012-05-1625-36/+148
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a bug where tracked files inside directories that were inside ignored directories where not being found by status. To make that a little clearer, if you have a .gitignore with: ignore/ And then have the following files: ignore/dir/tracked <-- actually a tracked file ignore/dir/untracked <-- should be ignored Then we would show the tracked file as being removed (because when we got the to contained item "dir/" inside the ignored directory, we decided it was safe to skip -- bzzt, wrong!). This update is much more careful about checking that we are not skipping over any prefix of a tracked item, regardless of whether it is ignored or not. As documented in diff.c, this commit does create behavior that still differs from core git with regards to the handling of untracked files contained inside ignored directories. With libgit2, those files will just not show up in status or diff. With core git, those files don't show up in status or diff either *unless* they are explicitly ignored by a .gitignore pattern in which case they show up as ignored files. Needless to say, this is a local behavior difference only, so it should not be important and (to me) the libgit2 behavior seems more consistent.
* Merge pull request #705 from nulltoken/fix/note_list_callback_signatureVicent Martí2012-05-163-11/+24
|\ | | | | notes: make git_note_foreach() callback signature easier to cope with from a binding perspective
| * notes: make git_note_foreach() callback signature easier to cope with from a ↵nulltoken2012-05-163-11/+24
|/ | | | binding perspective
* tree: Naming conventionsVicent Martí2012-05-166-14/+17
|
* clar: Fix warningVicent Martí2012-05-161-1/+0
|