summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* index: overwrite the path when inserting conflictsntk/case_index_conflictsCarlos Martín Nieto2015-11-122-5/+6
| | | | | | | | | When we insert a conflict in a case-insensitive index, accept the new entry's path as the correct case instead of leaving the path we already had. This puts `git_index_conflict_add()` on the same level as `git_index_add()` in this respect.
* index: correctly report which conflict stage has a wrong filemodeCarlos Martín Nieto2015-11-121-1/+1
| | | | | When we're at offset 'i', we're dealing with the 'i+1' stage, since conflicts start at 1.
* Failing test for case sensitive conflicts in the indexnulltoken2015-11-121-0/+91
|
* Merge pull request #3498 from ethomson/windows_symlinksCarlos Martín Nieto2015-11-083-0/+115
|\ | | | | Diff: Honor `core.symlinks=false` and fake symlinks
| * index: test that add_bypath preserves symlinksEdward Thomson2015-11-031-0/+29
| | | | | | | | | | | | Test that on platforms without `core.symlinks`, we preserve symlinks in `git_index_add_bypath`. (Users should correct the actual index entry's mode to change a link to a regular file.)
| * diff: on win32, treat fake "symlinks" speciallyEdward Thomson2015-11-031-0/+25
| | | | | | | | | | | | On platforms that lack `core.symlinks`, we should not go looking for symbolic links and `p_readlink` their target. Instead, we should examine the file's contents.
| * diff: test "symlinks" in wd are respected on win32Edward Thomson2015-11-031-0/+61
| | | | | | | | | | | | | | | | When `core.symlinks = false`, we write the symlinks content (target) to a regular file. We should ensure that when we later see that regular file, we treat it specially - and that changing that regular file would actually change the symlink target. (For compatibility with Git for Windows).
* | Merge pull request #3500 from ethomson/submodules_with_pathCarlos Martín Nieto2015-11-0816-24/+95
|\ \ | | | | | | Handle submodules with paths in `git_submodule_update`
| * | submodule: reload HEAD/index after reading configEdward Thomson2015-11-041-24/+18
| | | | | | | | | | | | | | | | | | Reload the HEAD and index data for a submodule after reading the configuration. The configuration may specify a `path`, so we must update HEAD and index data with that path in mind.
| * | submodule: test updating a submodule w/ a pathEdward Thomson2015-11-0415-0/+77
| | | | | | | | | | | | | | | Test that `git_submodule_update` can handle a submodule that is freshly cloned and has a path differing from its name.
* | | Merge pull request #3465 from libgit2/cmn/tls-registerEdward Thomson2015-11-045-0/+81
|\ \ \ | |/ / |/| | stream: allow registering a user-provided TLS constructor
| * | stream: allow registering a user-provided TLS constructorcmn/tls-registerCarlos Martín Nieto2015-11-034-0/+78
| | | | | | | | | | | | | | | This allows the application to use their own TLS stream, regardless of the capabilities of libgit2 itself.
| * | stream: accept NULL in the free functionCarlos Martín Nieto2015-11-031-0/+3
| | |
* | | Merge branch 'pr/3487'Edward Thomson2015-11-033-13/+32
|\ \ \
| * | | Fix git_commit_summary to convert newlines to spaces even afterStjepan Rajko2015-11-033-13/+32
|/ / / | | | | | | | | | whitespace. Collapse spaces around newlines for the summary.
* | | Merge pull request #3494 from leoyanggit/fix_unit_test_buildCarlos Martín Nieto2015-11-031-2/+13
|\ \ \ | |/ / |/| | Fix build for unit test
| * | Fix build for unit testLeo Yang2015-11-021-2/+13
| | | | | | | | | | | | | | | If none of GIT_OPENSSL, GIT_WINHTTP or GIT_SECURE_TRANSPORT is defined we should also be able to build the unit test.
* | | Merge branch 'pr/3147'Edward Thomson2015-11-025-9/+74
|\ \ \ | |_|/ |/| |
| * | Add diff progress callback.Jason Haslam2015-11-025-9/+74
|/ /
* | Merge pull request #3491 from libgit2/cmn/config-checksumEdward Thomson2015-11-024-36/+59
|\ \ | | | | | | Use checksums to detect config file changes
| * | filebuf: use an internal buffercmn/config-checksumCarlos Martín Nieto2015-10-301-6/+10
| | | | | | | | | | | | | | | | | | This reduces the chances of a crash in the thread tests. This shouldn't affect general usage too much, since the main usage of these functions are to read into an empty buffer.
| * | filebuf: use a checksum to detect file changesCarlos Martín Nieto2015-10-303-34/+33
| | | | | | | | | | | | | | | | | | Instead of relying on the size and timestamp, which can hide changes performed in the same second, hash the file content's when we care about detecting changes.
| * | config: add failing test for an external modificationCarlos Martín Nieto2015-10-301-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | We currently use the timestamp in order to decide whether a config file has changed since we last read it. This scheme falls down if the file is written twice within the same second, as we fail to detect the file change after the first read in that second.
* | | Merge pull request #3495 from leoyanggit/fix_transport_buildEdward Thomson2015-11-021-0/+1
|\ \ \ | | | | | | | | Fix build for custom transport users
| * | | Fix build for custom transport usersLeo Yang2015-10-301-0/+1
| | |/ | |/| | | | | | | | | | We should explicitly include the declaration of git_strarray from "include/git2/sys/transport.h"
* | | Merge pull request #3492 from libgit2/vmg/redundantVicent Marti2015-11-0210-22/+202
|\ \ \ | |_|/ |/| | merge-base: Remove redundant merge bases
| * | merge: Fix memory leak in testvmg/redundantVicent Marti2015-11-021-0/+1
| | |
| * | Add test caseVicent Marti2015-11-028-0/+30
| | |
| * | merge-base: StyleVicent Marti2015-11-021-1/+6
| | |
| * | merge-base: Do not read parents from the rootVicent Marti2015-11-021-1/+1
| | |
| * | merge-base: Remove redundant merge basesVicent Marti2015-11-022-22/+166
|/ /
* | Merge pull request #3493 from ethomson/read_indexCarlos Martín Nieto2015-10-301-9/+29
|\ \ | |/ |/| index: read_index must update hashes
| * index: read_index must update hashesEdward Thomson2015-10-301-9/+29
| |
* | git: put NULL check at the topCarlos Martín Nieto2015-10-301-2/+5
|/
* git: accept NULL as argument to its stream freeCarlos Martín Nieto2015-10-301-2/+2
|
* Merge pull request #3486 from srajko/reflog-segfault-fixCarlos Martín Nieto2015-10-292-1/+44
|\ | | | | Fix segfault when reading reflog with extra newlines
| * Prevent segfault when parsing a reflog with oid parse errorStjepan Rajko2015-10-292-1/+44
| | | | | | | | | | | | Using calloc instead of malloc because the parse error will lead to an immediate free of committer (and its properties, which can segfault on free if undefined - test_refs_reflog_reflog__reading_a_reflog_with_invalid_format_returns_error segfaulted before the fix). #3458
* | pool: fix documentationEdward Thomson2015-10-281-2/+2
| |
* | Merge pull request #3488 from libgit2/vmg/poolVicent Marti2015-10-2819-354/+102
|\ \ | | | | | | pool: Simplify implementation
| * | merge: Do not mallocz unecessary entriesvmg/poolVicent Marti2015-10-281-2/+2
| | |
| * | pool: update commentVicent Marti2015-10-281-1/+1
| | |
| * | pool: Dot not assume mallocs are zeroed outVicent Marti2015-10-284-24/+23
| | |
| * | pool: Handle 32 bit systemsVicent Marti2015-10-281-1/+1
| | |
| * | pool: Take into account malloc overhead & pool page sizeVicent Marti2015-10-281-1/+2
| | |
| * | repository: plug memory leakVicent Marti2015-10-281-0/+1
| | | | | | | | | | | | cc @carlosmn
| * | pool: Simplify implementationVicent Marti2015-10-2817-336/+83
|/ /
* | Merge pull request #3489 from libgit2/vmg/reuc-insertVicent Marti2015-10-283-49/+66
|\ \ | | | | | | Better REUC generation when merging
| * | merge: Plug memory leakvmg/reuc-insertVicent Marti2015-10-271-3/+3
| | |
| * | merge: Implement `GIT_MERGE_TREE_SKIP_REUC`Vicent Marti2015-10-272-28/+48
| | |
| * | reuc: Be smarter when inserting new REUC entriesVicent Marti2015-10-271-19/+16
|/ / | | | | | | | | | | | | | | | | | | Inserting new REUC entries can quickly become pathological given that each insert unsorts the REUC vector, and both subsequent lookups *and* insertions will require sorting it again before being successful. To avoid this, we're switching to `git_vector_insert_sorted`: this keeps the REUC vector constantly sorted and lets us use the `on_dup` callback to skip an extra binary search on each insertion.