Log

Author Commit Date CI Message
Edward Thomson 9af3c416 2015-01-10T18:05:01 clone example: don't divide by zero Local transports don't have data about the size, avoid dividing by zero in the callback.
Carlos Martín Nieto b91f28be 2015-01-10T00:49:20 Reformat the changelog This should provide a easier way to see what kinds of changes we have, and a single place to look at the breaking changes.
Carlos Martín Nieto d4b24101 2015-01-09T16:47:48 Merge commit '4b1018d24f980273528743c27c47ceb96cb720bd' Fix crash in free() when git_buf_grow() fails.
Jeff Hostetler 4b1018d2 2015-01-08T17:24:12 Fix crash in free() when git_buf_grow() fails.
Carlos Martín Nieto fe8399fe 2015-01-09T16:29:08 Fix warning
Carlos Martín Nieto 788c5f1c 2015-01-09T10:23:08 Merge pull request #2810 from ethomson/remove_symlinks Remove symlinks from the repository
Edward Thomson aebdbcd9 2015-01-08T17:27:58 Merge pull request #2811 from ethomson/remote_leak remote: plug leak
Edward Thomson 365d3672 2015-01-08T21:32:44 submodule::init tests: free some leaks
Edward Thomson a8846da7 2015-01-08T13:45:22 remote: plug leak
Edward Thomson 3b40ed89 2015-01-08T19:23:37 repo::init test: create hook symlink Remove the hook symlink from the test resources, so that we can have a source tree that is easy to zip up and copy around on systems that don't support symlinks. Create it dynamically at test execution instead.
Edward Thomson 1646412d 2015-01-08T11:20:44 Merge pull request #2802 from calavera/remote_create_prune_config Load prune configuration when a remote is created.
David Calavera de4a75f9 2015-01-07T09:26:36 Fix more indentation.
David Calavera c868981f 2015-01-06T13:49:39 Add extern function to initialize submodule update options.
Carlos Martín Nieto 6a6c24e0 2015-01-07T11:54:08 Merge pull request #2806 from ethomson/changelog CHANGELOG: we've added git_describe
Edward Thomson 2ce37794 2015-01-06T18:34:55 Merge pull request #2805 from ethomson/msvc submodule: declare vars at top of func block
Edward Thomson 9b22f8b4 2015-01-06T18:34:43 Merge pull request #2803 from ethomson/appveyor Add appveyor yaml
Edward Thomson 61cd037e 2015-01-06T17:18:57 CHANGELOG: we've added git_describe
Edward Thomson 388ca7e7 2015-01-06T15:16:25 Add appveyor yaml
Edward Thomson 5018e2c6 2015-01-06T17:08:38 submodule: declare vars at top of func block
Carlos Martín Nieto 007f3ff6 2015-01-05T21:34:26 Merge pull request #2801 from ethomson/changelog CHANGELOG: add missing 0.22 changes
David Calavera 66b71ea5 2015-01-05T13:33:36 Fix intentation.
Edward Thomson 974d21c8 2015-01-05T15:10:38 CHANGELOG: add missing 0.22 changes
Carlos Martín Nieto 239bdc57 2015-01-05T21:28:30 Merge pull request #2799 from ethomson/merge_doc Better document `git_merge_commits`
David Calavera 1ef3f0ce 2015-01-05T13:24:11 Load prune configuration when a remote is created.
Carlos Martín Nieto c8b64f70 2015-01-05T20:20:08 Fix the version in CHANGELOG to 0.22 The release after 0.21 is 0.22. Add a new heading for the changes since 0.22.
Carlos Martín Nieto 9b2efc15 2015-01-05T20:16:48 Bump version to 0.22 Bump the version number to 0.22.0 and the SOVERSION to 22.
Carlos Martín Nieto 0c601229 2015-01-05T20:10:43 Merge commit 'refs/pull/2632/head' of github.com:libgit2/libgit2
Edward Thomson 5e44d9bc 2015-01-05T11:34:17 Better document `git_merge_commits` `git_merge_commits` (and thus `git_merge`) do not use the same strategy as `git-merge-recursive` wherein they can produce an artificial common ancestor that is the merge of all common ancestors. Document this accordingly.
Carlos Martín Nieto c4a2fd5c 2015-01-04T17:39:43 Plug a couple of leaks
Carlos Martín Nieto 55d9c29a 2015-01-04T16:44:33 Merge pull request #2792 from swisspol/fix_remote_download Fixed internal push state not being cleared when calling git_remote_download()
Carlos Martín Nieto e48d0266 2015-01-04T12:33:18 Merge pull request #2794 from calavera/include_right_common Include git2/common.h in sys/openssl.h.
David Calavera d76e9df9 2015-01-02T15:56:03 Include git2/common.h in sys/openssl.h.
Pierre-Olivier Latour c070ac64 2015-01-01T04:14:58 Fixed internal push state not being cleared on download git_remote_download() must also clear the internal push state resulting from a possible earlier push operation. Otherwise calling git_remote_update_tips() will execute the push version instead of the fetch version and among other things, tags won't be updated.
Edward Thomson 56065c09 2014-12-31T09:27:44 Merge pull request #2788 from swisspol/fix_docs Fixed git_revert() documentation
Pierre-Olivier Latour f8263472 2014-12-30T15:54:30 Fixed git_revert() documentation
Edward Thomson a3ef70bb 2014-12-30T11:53:55 Merge pull request #2761 from libgit2/cmn/fetch-prune Remote-tracking branch prunning
Edward Thomson c4c47fc2 2014-12-30T11:53:45 Merge pull request #2762 from libgit2/cmn/hide-push remote: remove git_push from the public API
Carlos Martín Nieto 8aba3d47 2014-12-30T17:06:04 Update CHANGELOG for pruning
Carlos Martín Nieto fe794b2e 2014-12-16T08:57:05 remote: remove git_push from the public API Instead we provide git_remote_upload() and git_remote_update_tips() in order to have a parallel API for fetching and pushing.
Carlos Martín Nieto 13da562a 2014-12-30T16:48:52 Merge pull request #2785 from jacquesg/coverity Coverity fixes
Jacques Germishuys dfda1cf5 2014-12-27T21:04:28 Check for OOM
Jacques Germishuys 0beb7fe4 2014-12-24T11:44:17 Added missing error handling path
Jacques Germishuys 3dbd9a0e 2014-12-24T11:43:38 Check the result of git_buf_joinpath
Edward Thomson 4ceb388b 2014-12-29T14:22:36 Merge pull request #2784 from jacquesg/undef-stat Undef stat for Mingw
Jacques Germishuys 6f73e026 2014-12-24T11:42:50 Plug some leaks
Jacques Germishuys a1daec3c 2014-12-29T18:11:33 Undef stat first
Edward Thomson ddf95324 2014-12-29T09:30:05 Merge pull request #2783 from libgit2/cmn/treebuilder-new treebuilder: rename _create() to _new()
Edward Thomson 61cf3823 2014-12-29T09:26:57 Merge pull request #2777 from sba1/amigaos-get-timer Added git__timer() variant for AmigaOS.
Sebastian Bauer 7cf86f92 2014-12-28T10:35:26 Added AmigaOS-specific implementation of git__timer(). The clock_gettime() function is normally not available under AmigaOS, hence another solution is required. We are using now GetUpTime() that is present in current versions of this operating system.
Carlos Martín Nieto 208a2c8a 2014-12-27T12:09:11 treebuilder: rename _create() to _new() This function is a constructor, so let's name it like one and leave _create() for the reference functions, which do create/write the reference.
Carlos Martín Nieto aad27e6e 2014-12-27T11:56:00 Add a few missing CHANGELOG entries
Carlos Martín Nieto 5692dcf1 2014-12-24T06:24:42 Merge pull request #2772 from ethomson/case_changing_rename Case changing rename
Carlos Martín Nieto 171c2ff1 2014-12-24T06:23:36 Merge pull request #2778 from ethomson/whitespace_85 don't treat 0x85 as whitespace
Carlos Martín Nieto d6398d35 2014-12-24T06:19:02 Merge pull request #2779 from ethomson/openssl_export global: include sys/openssl.h for GIT_EXPORT of fn
Edward Thomson 73f0278e 2014-12-23T16:40:01 global: include sys/openssl.h for GIT_EXPORT of fn The openssl setup function needs to be GIT_EXPORT'ed, be sure to include the `sys/openssl.h` header so that it is appropriately decorated as an export function.
Edward Thomson fe5f7722 2014-12-23T11:27:01 don't treat 0x85 as whitespace A byte value of 0x85 is not whitespace, we were conflating that with U+0085 (UTF8: 0xc2 0x85). This caused us to incorrectly treat valid multibyte characters like U+88C5 (UTF8: 0xe8 0xa3 0x85) as whitespace.
Edward Thomson 40d79154 2014-05-09T19:32:52 Always checkout with case sensitive iterator On a case-insensitive filesystem, we need to deal with case-changing renames (eg, foo -> FOO) by removing the old and adding the new, exactly as if we were on a case-sensitive filesystem. Update the `checkout::tree::can_cancel_checkout_from_notify` test, now that notifications are always sent case sensitively.
Edward Thomson 61ee5b0e 2014-05-08T17:35:03 Introduce test for checkout case-changing rename
Carlos Martín Nieto e8cd4321 2014-12-23T14:09:01 Merge pull request #2775 from ethomson/index_entrycounts index: reuc and name entrycounts should be size_t
Edward Thomson 2fe8157e 2014-12-22T18:42:03 index: reuc and name entrycounts should be size_t For the REUC and NAME entries, we use size_t internally, and we take size_t for the get_byindex() functions, but the entrycount() functions strangely cast to an unsigned int instead.
Jameson Miller 9d1f97df 2014-10-29T17:49:04 Introduce a convenience function for submodule update This introduces the functionality of submodule update in 'git_submodule_do_update'. The existing 'git_submodule_update' function is renamed to 'git_submodule_update_strategy'. The 'git_submodule_update' function now refers to functionality similar to `git submodule update`, while `git_submodule_update_strategy` is used to get the configured value of submodule.<name>.update.
Jameson Miller b2ab887e 2014-10-20T18:07:32 submodule init should resolve relative url paths Submodule init should handle relative paths in .gitmodules files and resolve these urls when updating the git config file.
Edward Thomson 0bb237ed 2014-12-22T13:10:04 Merge pull request #2773 from ethomson/findpkgconfig cmake: include FindPkgConfig for windows
Edward Thomson 6e1205ef 2014-12-22T12:40:04 cmake: include FindPkgConfig for windows Apparently FindPkgConfig is not included by default on VS builds, only Unix and Unix-like (mingw) builds.
Edward Thomson 62d66a4a 2014-12-22T10:22:03 Merge pull request #2745 from libgit2/cmn/pkg-config-ssh Find libssh2 via pkg-config
Edward Thomson d147900e 2014-12-20T21:24:45 Merge pull request #2759 from libgit2/cmn/openssl-sys Make OpenSSL locking warnings more severe
Edward Thomson 25a03d4a 2014-12-20T21:23:55 Merge pull request #2760 from libgit2/cmn/init-readme Mention the init function in the README
Edward Thomson c7d9839f 2014-12-20T21:22:30 Merge pull request #2763 from libgit2/cmn/local-proto-progress Show progress output on fetch for the local transport
Edward Thomson 0de26b7c 2014-12-20T21:18:15 Merge pull request #2767 from linquize/winpath More Windows Path checking
Carlos Martín Nieto 6afc0bfa 2014-12-20T08:06:48 Merge pull request #2768 from dprofeta/fix/c++-refs Fix public header on sys/refs.h
Linquize 6987a580 2014-12-19T23:54:42 Add more Windows reserved filenames
Linquize 6fd00266 2014-12-19T23:54:01 COM0 is a valid path, although Windows Explorer does not allow to create this
Damien PROFETA ceb651c9 2014-12-19T15:31:49 Fix public header on sys/refs.h GIT_BEGIN/END_DECL were missing from sys/refs.h and preventing compilation with g++ as the symbol were mangled.
Carlos Martín Nieto 629417bd 2014-12-19T08:08:47 Fix ming32 compilation We need to know what wchar_t and MAX_PATH are. Including common.h takes care of that for us.
Edward Thomson ddf9d7d4 2014-12-18T21:12:05 Merge branch 'hf/master_patch'
Vicent Marti 247b3f4e 2014-12-18T21:47:22 Merge remote-tracking branch 'origin/master_patch'
Edward Thomson 28428318 2014-12-18T12:41:59 index tests: test capitalization before mkdir
Carlos Martín Nieto c90ed5b5 2014-12-18T02:11:06 Plug leaks
Carlos Martín Nieto c679bf42 2014-12-18T02:07:36 Create miscapitialised dirs for case-sensitive filesystems We need these directories to exist so cl_git_mkfile() can create the files we ask it to.
Edward Thomson dce7b1a4 2014-12-16T19:24:04 treebuilder: take a repository for path validation Path validation may be influenced by `core.protectHFS` and `core.protectNTFS` configuration settings, thus treebuilders can take a repository to influence their configuration.
Edward Thomson ec74b40c 2014-12-16T18:53:55 Introduce core.protectHFS and core.protectNTFS Validate HFS ignored char ".git" paths when `core.protectHFS` is specified. Validate NTFS invalid ".git" paths when `core.protectNTFS` is specified.
Vicent Marti 8e35527d 2014-12-16T13:03:02 path: Use UTF8 iteration for HFS chars
Edward Thomson 11d67b75 2014-12-10T19:12:16 checkout: disallow bad paths on HFS HFS filesystems ignore some characters like U+200C. When these characters are included in a path, they will be ignored for the purposes of comparison with other paths. Thus, if you have a ".git" folder, a folder of ".git<U+200C>" will also match. Protect our ".git" folder by ensuring that ".git<U+200C>" and friends do not match it.
Edward Thomson ee5da720 2014-12-02T22:20:42 reference_create: validate loose names Validate loose reference names on Win32.
Edward Thomson a64119e3 2014-11-25T18:13:00 checkout: disallow bad paths on win32 Disallow: 1. paths with trailing dot 2. paths with trailing space 3. paths with trailing colon 4. paths that are 8.3 short names of .git folders ("GIT~1") 5. paths that are reserved path names (COM1, LPT1, etc). 6. paths with reserved DOS characters (colons, asterisks, etc) These paths would (without \\?\ syntax) be elided to other paths - for example, ".git." would be written as ".git". As a result, writing these paths literally (using \\?\ syntax) makes them hard to operate with from the shell, Windows Explorer or other tools. Disallow these.
Vicent Marti 0d388adc 2014-11-25T00:58:03 index: Check for valid paths before creating an index entry
Vicent Marti 62155257 2014-11-25T00:14:52 tree: Check for `.git` with case insensitivy
Edward Thomson cceae9a2 2014-12-01T13:09:58 win32: use NT-prefixed "\\?\" paths When turning UTF-8 paths into UCS-2 paths for Windows, always use the \\?\-prefixed paths. Because this bypasses the system's path canonicalization, handle the canonicalization functions ourselves. We must: 1. always use a backslash as a directory separator 2. only use a single backslash between directories 3. not rely on the system to translate "." and ".." in paths 4. remove trailing backslashes, except at the drive root (C:\)
Carlos Martín Nieto 4fd2bda9 2014-12-16T10:25:45 local: send 'counting objects' output Pretend we have a git process at the other end by creating a similar progress output when inserting objects into the packbuilder.
Carlos Martín Nieto 3ded7f28 2014-12-16T10:05:49 local: add failing test for sideband information We do not currently generate any messages when we're counting the objects, as might be expected from a local upload-pack. Assert that we do call the function when working.
Carlos Martín Nieto 4adc64a8 2014-12-14T21:24:46 fetch: plug leaks in the prune tests
Carlos Martín Nieto 26186b15 2014-12-14T21:01:19 fetch: remove the prune setter This option does not get persisted to disk, which makes it different from the rest of the setters. Remove it until we go all the way. We still respect the configuration option, and it's still possible to perform a one-time prune by calling the function.
Carlos Martín Nieto 7b6e1e4c 2014-12-14T20:40:52 fetch: add test for the other order of overlapping specs
Carlos Martín Nieto 59ff8b67 2014-12-14T18:24:54 fetch: perform prune in separate steps For each remote-tracking branch we want to remove, we need to consider it against every other refspec in case we have overlapping refspecs, such as with refs/heads/*:refs/remotes/origin/* refs/pull/*/head:refs/remotes/origin/pr/* as we'd otherwise remove too many refspecs. Create a list of condidates, which are the references matching the rhs of any active refspec and then filter that list by removing those entries for which we find a remove reference with any active refspec. Those which are left after this are removed.
Carlos Martín Nieto 8c13eaed 2014-12-14T17:00:54 fetch: prune after updating tips This makes a fetch+prune more similar to a connect+prune and makes it more likely that we see errors in the decision to prune a reference.
Carlos Martín Nieto 4aa23369 2014-12-14T16:56:38 fetch: assert we don't call update tips when there are no upates This is hiding a bug in the prune code, whereby we prune references we shouldn't but don't notice it in the code afterwards because update_tips() recreates them. This means that we do perform changes to the references (and get rid of the reflogs) when we shouldn't.
Carlos Martín Nieto 020aab93 2014-12-14T16:50:33 fetch: do set prune when testing We load the remote again, so we need to ask the new remote to prune the refs, or we're not exercising the code in our tests.
David Calavera 5e0c3d2d 2014-11-13T11:26:02 Make sure that `fetch --prune --tags` doesn't remove tags.
David Calavera b91194e8 2014-11-13T09:22:10 Cleanup repository after prune tests.
David Calavera 93d968fa 2014-11-12T22:05:09 Cleanup after testing remote prune.