Log

Author Commit Date CI Message
Carlos Martín Nieto 76e3c43f 2014-09-10T18:13:34 signature: don't allow empty emails A signature is made up of a non-empty name and a non-empty email so let's validate that. This also brings us more in line with git, which also rejects ident with an empty email.
Vicent Marti 31e752b6 2014-09-09T12:52:36 Merge pull request #2511 from libgit2/cmn/remote-default-restrict Restrict which refs can be the default branch
Vicent Marti 1e71354e 2014-09-05T03:24:43 reflog: Error handling on empty reflog
Vicent Marti 0972443c 2014-09-05T02:50:11 Merge pull request #2553 from libgit2/cmn/ssh-errors ssh: store error message immediately after a failed agent call
Carlos Martín Nieto 2dc399a8 2014-09-04T16:46:14 ssh: store error message immediately after a failed agent call When the call to the agent fails, we must retrieve the error message just after the function call, as other calls may overwrite it. As the agent authentication is the only one which has a teardown and there does not seem to be a way to get the error message from a stored error number, this tries to introduce some small changes to store the error from the agent. Clearing the error at the beginning of the loop lets us know whether the agent has already set the libgit2 error message and we should skip it, or if we should set it.
Vicent Marti 89e05e2a 2014-09-03T12:50:44 Merge pull request #2543 from libgit2/cmn/known-transports Clean up transport lookup
Vicent Marti 4c958046 2014-09-03T12:19:48 Merge pull request #2530 from libgit2/jamill/relative_gitlink Teach repository to use relative paths for git symbolic links
Vicent Marti eb939c57 2014-09-03T12:19:03 Merge pull request #2552 from KindDragon/master Several CppCat warnings fixed
Jameson Miller bc737620 2014-08-20T10:24:41 Introduce option to use relative paths for repository work directory Teach git_repository_init_ext to use relative paths for the gitlink to the work directory. This is used when creating a sub repository where the sub repository resides in the parent repository's .git directory.
Edward Thomson 0ee9f31c 2014-08-20T10:23:39 Introduce git_path_make_relative
Vicent Marti 6f3082d9 2014-09-03T00:15:47 Merge pull request #2550 from KindDragon/patch-2 .editorconfig added to repository
Vicent Marti 0ac9f9a0 2014-09-03T00:13:23 Merge pull request #2545 from linquize/no-ssh Skip SSH clone tests if libgit2 not built with GIT_SSH defined
Arkady Shapkin 5cd81bb3 2014-09-03T01:01:25 Several CppCat warnings fixed
Arkadiy Shapkin 098bb9df 2014-09-02T21:42:45 .editorconfig added to repository
Carlos Martín Nieto 15c30b72 2014-09-02T13:23:54 clone: handle overly restrictive refspecs When the fetch refspec does not include the remote's default branch, it indicates an error in user expectations or programmer error. Error out in that case. This lets us get rid of the dummy refspec which can never work as its zeroed out. In the cases where we did not find a default branch, we set HEAD detached immediately, which lets us refactor the "normal" path, removing `found_branch`.
Carlos Martín Nieto e128a1af 2014-09-02T13:10:19 clone: correct handling of an unborn HEAD If the remote does not advertise HEAD, then it is unborn and we cannot checkout that branch. Handle it the same way as an empty repo.
Carlos Martín Nieto 538f9081 2014-09-01T16:35:10 remote: add test for single-branch clone When cloning, we may be asking for a particular branch or subset of branches. Make sure we test for that.
Carlos Martín Nieto f2ffab61 2014-09-01T15:59:36 remote: add tests for remote-branch edge cases Add tests for the case when there are no branches on the remote and when HEAD is detached but has the id of a non-branch. In both of these cases, we should return ENOTFOUND.
Vicent Marti d4cb23e4 2014-09-01T18:29:54 Merge pull request #2548 from linquize/warning5 Fix warning
Linquize bd465f9c 2014-09-01T23:36:12 Fix warning
Linquize fe3b6789 2014-09-01T19:18:20 Skip SSH clone tests if libgit2 not built with GIT_SSH defined
Carlos Martín Nieto 05ac7051 2014-08-31T21:53:42 remote: test for supported URLs in a single place Instead of using ifdefs to run the tests, use them to set when we expect to support a particular scheme and always have the tests in the code.
Carlos Martín Nieto ba67c075 2014-08-31T17:16:40 remote: get rid of git_remote_valid_url() It does the same as git_remote_supported_url() but has a name which implies we'd check the URL for correctness while we're simply looking at the scheme and looking it up in our lists. While here, fix up the tests so we check all the combination of what's supported.
Carlos Martín Nieto bd3854a0 2014-08-31T17:12:45 transport: return ENOTFOUND for HTTPS and SSH when they're not supported The previous commit makes it harder to figure out if the library was built with support for a particular transport. Roll back some of the changes and remove ssh:// and https:// from the list if we're being built without support for them.
Carlos Martín Nieto dbc77850 2014-08-31T16:48:41 transport: distinguish between unknown and unsupported transports Even when built without a SSH support, we know about this transport. It is implemented, but the current code makes us return an error message saying it's not. This is a leftover from the initial implementation of the transports when there were in fact transports we knew about but were not implemented. Instead, let the SSH transport itself say it cannot run, the same as we do for HTTPS.
Vicent Marti 69b58459 2014-08-31T17:47:14 Merge pull request #2544 from linquize/test-push MSVC does not support zero size array
Linquize aff70018 2014-08-31T22:43:53 MSVC does not support zero size array
Vicent Marti 46a13f32 2014-08-29T18:19:56 Merge pull request #2481 from libgit2/cmn/oidarray merge: expose multiple merge bases
Carlos Martín Nieto 26bf3a53 2014-08-10T17:13:00 travis: no need to clean out the test repository This was added to avoid the remote's default branch to be considered to the be notes one which the first network test leaves behind.
Carlos Martín Nieto 46254467 2014-08-29T15:10:15 clone: support remotes with references but no branches A repository can have any number of references which we're not interested in such as notes or tags. For the default branch calculation we only care about branches. Make the decision about the number of branches rather than the number of refs in general.
Carlos Martín Nieto 0cdaa376 2014-08-10T17:50:46 remote: short-circuit the default branch check if there is none If we do not have a HEAD ref in the heads, we already know there is no default branch. Return immedately.
Carlos Martín Nieto 94412b00 2014-08-10T17:48:12 remote: assert what we want to happen when ther is no default branch Assert what we already do, so as to notice changes.
Carlos Martín Nieto 38952604 2014-07-14T20:29:53 remote: restrict default branch to branches namespace
Vicent Marti d99c8ca1 2014-08-28T16:33:53 Merge pull request #2539 from libgit2/cmn/ahead-behind-order Fix ahead-behind results
Carlos Martín Nieto 05f0d0c1 2014-08-28T13:36:58 graph: fix ahead-behind logic When we see PARENT1, it means there is a local commit and thus we are ahead. Likewise, seeing PARENT2 means that the upstream branch has a commit and we are one more behind. The logic is currently reversed. Correct it. This fixes #2501.
Carlos Martín Nieto e07aebb4 2014-08-28T13:34:42 Fix ahead-behind tests The logic was reversed. I have checked manually each pair with git and adjusted the expectation to what git status prints.
Vicent Marti 69db8934 2014-08-27T19:19:55 Merge pull request #2538 from libgit2/ntk/propagate_url_parsing_error winhttp: Prevent swallowing of url parsing error
Vicent Marti 893cfe06 2014-08-27T19:18:46 Merge pull request #2502 from rnowosielski/remote_set_timeout Set timeout on remote (Add timeout for WinHttpReceiveResponse #2147)
Vicent Marti 1485c683 2014-08-27T18:02:10 Merge pull request #2490 from csware/ssh-wintunnel Allow to override default ssh transport_cb - in order to allow third party ssh transports
nulltoken f0c53d21 2014-08-27T10:28:46 winhttp: Prevent swallowing of url parsing error
Sven Strickroth 0e5bb619 2014-08-26T17:28:41 Added some tests Signed-off-by: Sven Strickroth <email@cs-ware.de>
Carlos Martín Nieto c13b6844 2014-08-27T15:25:46 Adjust clone tests to USERNAME cred type
Carlos Martín Nieto 15c7da34 2014-08-27T15:10:51 Merge branch 'cmn/ssh-retry'
Carlos Martín Nieto 7449c82e 2014-08-27T15:10:43 Add ssh retry changes to CHANGELOG
Carlos Martín Nieto 6a0d2b43 2014-08-27T15:09:07 Merge remote-tracking branch 'upstream/master' into cmn/ssh-retry
Rafal Nowosielski 86d0a53c 2014-08-27T01:30:47 Set timeout on remote (WinHTTP) should return error in case of failure. Connection timeout set to 1 minute. Read/Write timeout remains set to infinite #2147
Vicent Marti cb92467b 2014-08-27T01:16:11 Merge pull request #2537 from libgit2/reduce-cache-contention Refactor git_cache to use an rwlock
Justin Spahr-Summers 6a211d7c 2014-08-26T15:12:43 Refactor git_cache to use an rwlock This significantly reduces contention when many threads are trying to read from the cache simultaneously.
Vicent Marti 00e9ae5a 2014-08-26T17:48:20 Merge pull request #2508 from libgit2/rb/fix-ignore-slash-star Fix bugs with negative ignores inside an ignored parent directory
Vicent Marti cd0c4fa7 2014-08-26T17:46:52 Merge pull request #2533 from jakebolewski/jcb/addjulia add Julia to the language bindings list
Vicent Marti 397bc8d8 2014-08-26T17:45:07 Merge pull request #2535 from libgit2/cmn/unpack-offset pack: return the correct final offset
Sven Strickroth 34e510ce 2014-07-30T01:41:43 Allow to override default ssh transport_cb W/o this patch it is not possible to have a third party ssh transport_cb if GIT_SSH is disabled or a third party transport_cb which has a higher priority than the default one. Signed-off-by: Sven Strickroth <email@cs-ware.de>
Carlos Martín Nieto b3d3459f 2014-08-26T15:09:47 pack: return the correct final offset The callers of git_packfile_unpack() expect the obj_offset argument to be set to the beginning of the next object. We were mistakenly returning the the offset of the object's data, which causes the CRC function to try to use the wrong offset. Set obj_offset to curpos instead of elem->offset to point to the next element and bring back expected behaviour.
jake bolewski d747ec18 2014-08-25T20:50:06 add Julia to the language bindings list
Vicent Marti 844d226c 2014-08-25T23:06:34 Merge pull request #2532 from arthurschreiber/arthur/fix-merge-base-commit-check merge base: Correctly raise an error if a non-commit object is passed.
Arthur Schreiber 017c0eac 2014-08-25T22:41:07 merge base: Correctly raise an error if a non-commit object is passed.
Vicent Marti 5af52c62 2014-08-25T21:04:09 Merge pull request #2531 from libgit2/rb/mkdir-allow-parent-failures Allow mkdir helper to skip parent errors
Vicent Marti 2c1de697 2014-08-25T18:18:06 Merge pull request #2527 from jacquesg/refspec-crash Check if the refspec matches before transforming
Rafal Nowosielski 2db71194 2014-07-24T04:15:24 Set timeout on remote (WinHTTP) to infinite #2147
Russell Belfer 668ae2dd 2014-08-22T10:05:09 Allow mkdir helper to skip parent errors Our mkdir helper was failing is a parent directory was not accessible even if the child directory could be created. This changes the helper to keep trying child directories even when the parent is unwritable.
Jacques Germishuys 8f6073f6 2014-08-21T18:53:43 Check that the refspec matches before modifying the out buffer
Vicent Marti d28b2b7a 2014-08-18T15:18:59 Merge pull request #2528 from libgit2/vmg/tostr_s Export `git_oid_tostr_s` instead of `_allocfmt`
Vicent Marti 43ebca8d 2014-08-18T15:18:47 Revert "test: Remove symlinks from the source tree" This reverts commit 0dc54e149498bbd5de5e5ecc6006f9f5afb6588c.
Vicent Marti 0dc54e14 2014-08-18T12:44:41 test: Remove symlinks from the source tree We don't really use this at all, and it breaks packaging in Windows.
Vicent Marti 4ca0b566 2014-08-18T12:41:06 oid: Export `git_oid_tostr_s` instead of `_allocfmt` The old `allocfmt` is of no use to callers, as they are not able to free the returned buffer. Export a new API that returns a static string that doesn't need to be freed.
Vicent Marti 414dbe96 2014-08-18T12:26:18 Merge pull request #2525 from libgit2/cmn/http-recv-buffer http: make sure we can consume the data we request
Vicent Marti 1a85eca0 2014-08-18T12:25:50 Merge pull request #2523 from leighlondon/remove-completed-project Removing a completed starter project.
Jacques Germishuys 4e53c280 2014-08-17T14:55:06 Check if the refspec matches before transforming
Carlos Martín Nieto 294c6f29 2014-08-16T22:12:13 http: make sure we can consume the data we request The recv buffer (parse_buffer) and the buffer have independent sizes and offsets. We try to fill in parse_buffer as much as possible before passing it to the http parser. This is fine most of the time, but fails us when the buffer is almost full. In those situations, parse_buffer can have more data than we would be able to put into the buffer (which may be getting full if we're towards the end of a data sideband packet). To work around this, we check if the space we have left on our buffer is smaller than what could come from the network. If this happens, we make parse_buffer think that it has as much space left as our buffer, so it won't try to retrieve more data than we can deal with. As the start of the data may no longer be at the start of the buffer, we need to keep track of where it really starts (data_offset) and use that in our calculations for the real size of the data we received from the network. This fixes #2518.
Leigh London 1f2f6114 2014-08-16T19:13:21 Removing a completed starter project. Removing the starter project for adding support for the symref extension (#2006) from PROJECTS.md, as this seems to have been completed with the merge of #2376.
Vicent Marti fa44a169 2014-08-15T23:10:45 Merge pull request #2521 from jacquesg/remote-ls-not-connected git_remote_ls() crashes before connect is called
Jacques Germishuys dc8adda4 2014-08-15T22:51:19 git_remote_ls() should return an error if the transport is not available
Vicent Marti e1c44290 2014-08-15T20:33:38 Merge pull request #2497 from ethomson/kerberos3 SPNEGO authentication via GSSAPI
Edward Thomson 23135afa 2014-08-14T11:52:20 Introduce proper http authentication API
Edward Thomson 315cb38e 2014-07-31T18:43:20 Add GSSAPI support for SPNEGO/Kerberos auth over HTTP
Edward Thomson e003f83a 2014-07-31T15:14:56 Introduce git_buf_decode_base64 Decode base64-encoded text into a git_buf
Edward Thomson 40867266 2014-07-31T18:39:58 Perform HTTP keep-alive
Edward Thomson adcdeb36 2014-08-01T13:06:37 online::clone::credentials support default credentials
Edward Thomson f96e7e6c 2014-08-15T11:10:27 Free references during push validation
Edward Thomson 0f29e967 2014-08-01T13:43:46 Remove the refs/notes/commits that we push in test The online::push::notes test pushes a note but leaves it hanging around for other tests to stumble across when they're validating that they're seeing the refs they expect to see. Clean it up on exit.
Edward Thomson aea67633 2014-07-31T17:59:03 Don't run the ssh clone tests against http remotes
Vicent Marti fb48a51c 2014-08-14T17:01:02 Merge pull request #2469 from ethomson/transport2 Custom transport: minor cleanups
Edward Thomson c180c065 2014-07-09T17:58:39 Custom transport: minor cleanups * Move the transport registration mechanisms into a new header under 'sys/' because this is advanced stuff. * Remove the 'priority' argument from the registration as it adds unnecessary complexity. (Since transports cannot decline to operate, only the highest priority transport is ever executed.) Users who require per-priority transports can implement that in their custom transport themselves. * Simplify registration further by taking a scheme (eg "http") instead of a prefix (eg "http://").
Vicent Marti 49d5ec71 2014-08-13T23:38:53 Merge pull request #2517 from ethomson/no_win_unreadable Don't include the unreadable tests on win32
Edward Thomson c8402334 2014-08-13T17:23:07 Don't include the unreadable tests on win32
Vicent Marti 0707feee 2014-08-13T21:23:23 Merge pull request #2513 from ethomson/giterr_null_msg Allow NULL error message prefix when class=GITERR_OS
Edward Thomson e62f96de 2014-08-13T14:55:24 Allow NULL error message prefix when class=GITERR_OS
Vicent Marti 59403f1f 2014-08-09T12:24:02 Merge pull request #2509 from libgit2/cmn/immediate-multiline config: a multiline var can start immediately
Carlos Martín Nieto 9dac1f95 2014-08-09T10:56:50 config: a multiline var can start immediately In the check for multiline, we traverse the backslashes from the end backwards and int the end assert that we haven't gone past the beginning of the line. We make sure of this in the loop condition, but we also check in the return value. However, for certain configurations, a line in a multiline variable might be empty to aid formatting. In that case, 'end' == 'start', since we ended up looking at the first char which made it a multiline. There is no need for the (end > start) check in the return, since the loop guarantees we won't go further back than the first char in the line, and we do accept the first char to be the final backslash. This fixes #2483.
Vicent Marti bb9e6028 2014-08-09T00:35:08 Merge pull request #2507 from libgit2/rb/timer-typo Typo in timer constants
Rob Rix bbe13802 2014-06-12T14:19:34 Demonstrate a trailing slash failure. `git help ignore` has this to say about trailing slashes: > If the pattern ends with a slash, it is removed for the purpose of > the following description, but it would only find a match with a > directory. In other words, foo/ will match a directory foo and > paths underneath it, but will not match a regular file or a > symbolic link foo (this is consistent with the way how pathspec > works in general in Git). Sure enough, having manually performed the same steps as this test, `git status` tells us the following: # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: force.txt # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # ../.gitignore # child1/ # child2/ i.e. neither child1 nor child2 is ignored.
Russell Belfer a0cacc82 2014-08-08T15:18:40 For negative matches, always use leading dir match
Carlos Martín Nieto aa5cdf63 2014-06-04T11:57:53 status: failing test with slash-star When writing 'bin/*' in the rules, this means we ignore very file inside bin/ individually, but do not ignore the directory itself. Thus the status listing should list both files under bin/, one untracked and one ignored.
Russell Belfer f25bc0b2 2014-08-08T14:51:36 Fix rejection of parent dir of negated ignores While scanning through a directory hierarchy, this prevents a positive ignore match on a parent directory from blocking the scan of a directory when a negative match rule exists for files inside the directory.
Vicent Marti 35f186b6 2014-08-08T22:28:27 Merge pull request #2506 from libgit2/rb/ignore-pipes-etc Don't report status on named pipes
Russell Belfer f18234fa 2014-08-08T13:17:50 Don't report status on named pipes Git skips entries in directories that are not S_ISDIR, S_ISREG, or S_ISLNK, so let's make libgit2 do the same thing.
Vicent Marti 8f759ac0 2014-08-07T18:00:57 Merge pull request #2471 from jacquesg/compatibility-cleanup Compatibility/Portability cleanup
Russell Belfer 3822d2cc 2014-08-05T15:06:45 Fix typo in timer normalization constants The effect of this would be that various update callbacks would not be made at the correct interval.
Jacques Germishuys 07d03d31 2014-07-13T16:40:51 Introduce some consistency in definition/declaration ordering
Jacques Germishuys 662f90e6 2014-07-13T16:08:46 Move p_realpath logic to realpath.c