Log

Author Commit Date CI Message
Vicent Marti 091165c5 2014-07-16T14:21:53 Merge pull request #2475 from libgit2/expose-buffer-binary-detection Export git_buf_text_is_binary and git_buf_text_contains_nul.
joshaber b3af2d80 2014-07-16T13:34:25 Just put it all in buffer.
Vicent Marti ec813d83 2014-07-16T13:07:17 Merge pull request #2476 from linquize/config-lf-eof When adding new config section, handle config file not ending with LF
Vicent Marti 8baeb8a4 2014-07-16T13:03:34 ssh: Fix unused warning
Vicent Marti 84a85d1b 2014-07-16T13:03:07 clone: should_clone? Of course we should clone. That's not the question
Vicent Marti ed99e0b5 2014-07-16T13:00:15 Merge pull request #2467 from ethomson/win_local_clone Handle local file:/// paths on Windows
Linquize 69374869 2014-07-16T21:54:53 Add unit test to test add section without lf at EOF
Linquize 991dab2d 2014-07-16T21:09:53 Make sure \n is at the end of config file before a new section is written
joshaber df4cba0f 2014-07-15T17:27:58 Export git_buf_text_is_binary and git_buf_text_contains_nul. So that users don’t need to implement binary detection themselves.
Vicent Marti ad082501 2014-07-15T11:00:27 Merge pull request #2472 from jacquesg/perl-link Update perl bindings link
Vicent Marti 851ae37e 2014-07-15T10:58:02 Merge pull request #2474 from ethomson/clar_file_report Switch description and message reporting in `clar__assert_equal_file`
Edward Thomson 3d997dc2 2014-07-15T10:00:46 Switch description and path reporting
Jacques Germishuys 2ef20da0 2014-07-13T17:52:33 Updated perl bindings link
Edward Thomson 529fd30d 2014-07-08T15:45:50 Handle local file:/// paths on Windows Windows can't handle a path like `/c:/foo`; when turning file:/// URIs into local paths, we must strip the leading slash.
Vicent Marti a6d7e166 2014-07-11T16:51:43 Merge pull request #2466 from jacquesg/win2003-platform-sdk Windows compatibility fixes
Vicent Marti 44cfb6f3 2014-07-11T16:49:23 Merge pull request #2463 from libgit2/cmn/ssh-factory-for-paths ssh: provide a factory function for setting ssh paths
Vicent Marti 863dabda 2014-07-11T16:47:41 Merge pull request #2465 from libgit2/cmn/refspec-start-middle Support refspecs with the asterisk in the middle
Carlos Martín Nieto 356b891e 2014-07-11T14:19:35 Merge pull request #2468 from Airbitz/pack-error-reporting Properly report failure when expanding a packfile
Carlos Martín Nieto 0dbbfbb6 2014-07-11T14:18:49 Merge pull request #2457 from ethomson/merge_fix merge: don't open COMMIT_MSG unless we need to append conflicts
Carlos Martín Nieto eb5f0346 2014-07-11T12:22:48 checkout: fix docs formatting for the options
William Swanson 01b432cf 2014-07-09T14:12:30 Properly report failure when expanding a packfile
Edward Thomson 02bf955f 2014-07-02T15:42:15 merge: don't open COMMIT_MSG unless we need to append conflicts
Carlos Martín Nieto 18eb6ec8 2014-07-08T09:56:16 Documentation fixes Fixup git_attr_value's comment to be recognised as documentation, and include the definitions needed for clang to parse reset.h such that it shows up in the documentation. This fixes #2430.
Carlos Martín Nieto d4256ed5 2014-07-04T10:00:39 ssh: provide a factory function for setting ssh paths git allows you to set which paths to use for the git server programs when connecting over ssh; and we want to provide something similar. We do this by providing a factory function which can be set as the remote's transport callback which will set the given paths upon creation.
Jacques Germishuys 59ceb432 2014-07-05T21:27:47 Define IO_REPARSE_TAG_SYMLINK if its not defined by WinNT.h
Jacques Germishuys 72090514 2014-07-05T21:27:21 Secure CRT is only available from Visual Studio 2005+
Jacques Germishuys 491ad0de 2014-07-05T21:26:35 qsort_r is only available from Visual Studio 2005+
Jacques Germishuys cde32d4d 2014-07-05T21:25:55 Variadic macros is only available from Visual Studio 2005+
Jacques Germishuys ab864e9c 2014-07-05T21:25:20 _stat64 is a function, __stat64 is the structure
Jacques Germishuys b8365f21 2014-07-05T21:24:26 strnlen() is only available from Visual Studio 2005+
Jacques Germishuys 90c2b37f 2014-07-05T21:22:56 in_addr is defined in <Winsock2.h>, include before <ws2tcpip.h>
Vicent Marti 9b87998c 2014-07-04T18:49:24 Merge remote-tracking branch 'origin/cmn/update-zlib'
Carlos Martín Nieto 9fef46de 2014-07-04T17:33:35 Add a CHANGELOG entry for refspecs with asterisk in the middle
Carlos Martín Nieto f5287fa6 2014-07-04T17:17:23 refspec: support asterisks in the middle of a pattern We used to assume a refspec would only have an asterisk in the middle of their respective pattern. This has not been a valid assumption for some time now with git. Instead of assuming where the asterisk is going to be, change the logic to treat each pattern as having two halves with a replacement bit in the middle, where the asterisk is.
Carlos Martín Nieto 9ed104a8 2014-07-04T17:16:17 refspec: short-circuit non-pattern refspecs on transform When transforming a non-pattern refspec, we simply need to copy over the opposite string. Move that logic up to the wrapper so we can assume a pattern refspec in the transformation function.
Carlos Martín Nieto 98ce2318 2014-07-04T09:18:01 Merge pull request #2461 from jacquesg/ssh2-warnings Fix SSH2 warnings
Jacques Germishuys ae241ae1 2014-07-03T20:20:00 Include libssh2.h before git2.h (transport.h)
Jacques Germishuys 268dafa2 2014-07-03T20:19:16 Fix git_cred_ssh_interactive_callback signature
Vicent Marti b0ed61f8 2014-07-03T15:30:38 Merge pull request #2460 from libgit2/cmn/sched-yield Move yield to the tests and enable for FreeBSD
Carlos Martín Nieto 905fb592 2014-07-03T05:47:34 Move yield to the tests and enable for FreeBSD Move the definition of git_thread_yield() to the test which needs it and add the correct definition for it for FreeBSD and derivatives. Original patch adding FreeBSD and derivatives by @jacquesg.
Vicent Marti 193fe9cb 2014-07-03T02:41:10 Merge pull request #2459 from libgit2/cmn/http-url-path netops: error out on url without a path
Carlos Martín Nieto 1380e7c6 2014-07-03T02:34:32 netops: error out on url without a path In order to connect to a remote server, we need to provide a path to the repository we're interested in. Consider the lack of path in the url an error.
Vicent Marti cb6e68c7 2014-07-02T16:45:02 Merge pull request #2449 from libgit2/cmn/maint-21 Maint fixes for ssl initing and ssh exposure
Vicent Marti c1bf2942 2014-07-02T15:29:25 Merge pull request #2455 from ethomson/equal_oid Introduce `cl_assert_equal_oid`
Vicent Marti 4df4ebd7 2014-07-02T15:29:14 Merge pull request #2453 from ethomson/checkout_index git_checkout_index: checkout other indexes
Vicent Marti b0ca1b18 2014-07-02T15:29:05 Merge pull request #2452 from libgit2/cmn/clone-custom-repo Provide a callback to customize the repository on clone
Vicent Marti de3cf801 2014-07-02T15:28:24 Merge pull request #2456 from libgit2/cmn/ssh-send-everything ssh: libssh2_channel_write() behaves like send()
Carlos Martín Nieto 0963716b 2014-07-02T12:49:51 ssh: libssh2_channel_write() behaves like send() When the stream writing function was written, it assume that libssh2_channel_write() would always write all of the data to the wire. This is only true for the first 32k of data, which it tries to fit into one ssh packet. Since it can perform short writes, call it in a loop like we do for send(), advancing the buffer offset.
Carlos Martín Nieto 6812afaf 2014-06-30T21:36:38 clone: remote git_clone_into{,_local} from the public API As git_clone now has callbacks to configure the details of the repository and remote, remove the lower-level functions from the public API, as they lack some of the logic from git_clone proper.
Carlos Martín Nieto d58a64e9 2014-06-30T20:55:32 clone: add a callback for repository creation Analogously to the remote creation callback, provide a way for the user of git_clone() to create the repository with whichever options they desire via callback.
Edward Thomson 967f5a76 2014-05-23T14:50:51 git_checkout_index: checkout other indexes git_checkout_index can now check out other git_index's (that are not necessarily the repository index). This allows checkout_index to use the repository's index for stat cache information instead of the index data being checked out. git_merge and friends now check out their indexes directly instead of trying to blend it into the running index.
Edward Thomson 9879fee1 2014-07-01T14:11:14 revwalk::simplify test should test The revwalk::simplify test was not actually tested the values from the revwalk against the expected. (Further, the expected had two IDs transposed.)
Edward Thomson 0cee70eb 2014-07-01T14:09:01 Introduce cl_assert_equal_oid
Vicent Marti 1453bd20 2014-07-01T13:26:02 Merge pull request #2451 from libgit2/rb/round-up-pool-allocations Round up pool alloc sizes for alignment
Carlos Martín Nieto 00b8c216 2014-06-30T23:18:37 ssh: always declare the libssh2 types This lets a user decide they do want to use keyboard-interactive after they've compiled.
Russell Belfer 5fa8cda9 2014-06-30T12:05:25 Round up pool alloc sizes for alignment To make sure that items returned from pool allocations are aligned on nice boundaries, this rounds up all pool allocation sizes to a multiple of 8. This adds a small amount of overhead to each item. The rounding up could be made optional with an extra parameter to the pool initialization that turned on rounding only for pools where item alignment actually matters, but I think for the extra code and complexity that would be involved, that it makes sense just to burn a little bit of extra memory and enable this all the time.
Vicent Marti dcdb8500 2014-06-30T17:35:42 Merge pull request #2440 from phkelley/transports Improvements to git_transport extensibility
Carlos Martín Nieto eac63e67 2014-06-30T10:03:36 ssh: create the right callback signature based on build options When linking against libssh2, create the transport.h such that it contains its definition for custom crypto and keyboard-interactive callbacks. If we don't link against libssh2, create an equivalent signature which has void pointers instead of pointers to libssh2 structures. This would be one way to fix #2438.
Carlos Martín Nieto e6b0ae7a 2014-06-30T09:19:05 ssl: init only once without threads The OpenSSL library-loading functions do not expect to be called multiple times. Add a flag in the non-threaded libgit2 init so we only call once. This fixes #2446.
Vicent Marti 16e7596d 2014-06-27T18:11:06 Merge pull request #2447 from phkelley/pkt_assert Fix assert when receiving uncommon sideband packet
Philip Kelley bc8a0886 2014-06-27T11:51:35 Fix assert when receiving uncommon sideband packet
Philip Kelley 1697cd6f 2014-06-25T13:20:27 Improvements to git_transport extensibility git_remote_set_transport now takes a transport factory rather than a transport git_clone_options now allows the caller to specify a remote creation callback
Vicent Marti 0145afe6 2014-06-26T18:24:13 Merge pull request #2445 from ethomson/checkout_conflict_test checkout::conflict tests: only test owner mode
Edward Thomson f4046267 2014-06-26T09:16:12 checkout::conflict tests: only test owner mode The checkout::conflict type conflict tests were failing because they were overly assertive about the resultant mode, testing group & other bits, which failed miserably for people who had a umask less restrictive than 022. Only test the resultant owner bits.
Philip Kelley 9c46409d 2014-06-26T08:01:01 Merge pull request #2444 from libgit2/phkelley/flexarray Fixes #2443 Zero size arrays are an extension
Philip Kelley f36d57b9 2014-06-26T07:48:09 Fixes #2443 Zero size arrays are an extension
Vicent Marti 86cb34cb 2014-06-25T21:43:52 Merge pull request #2442 from libgit2/cmn/leaks Fix a couple of leaks
Carlos Martín Nieto c19b1c04 2014-06-25T21:35:58 pack: clean up error returns Set a message when we fail to lock. Also make the put function void, since it's called from free, which cannot report errors. The only errors we can experience here are internal state corruption, so we assert that we are trying to put a pack which we have previously got.
Carlos Martín Nieto 966fb207 2014-06-25T21:25:44 tree: free in error conditions As reported by coverity, we would leak some memory in error conditions.
Carlos Martín Nieto 5e0f47c3 2014-06-25T21:20:39 pack: free the new pack struct if we fail to insert If we fail to insert the packfile in the map, make sure to free it. This makes the free function only attempt to remove its mwindows from the global list if we have opened the packfile to avoid accessing the list unlocked.
Carlos Martín Nieto c61dc1a9 2014-06-25T17:12:44 travis: build the master branch We need to tell Travis to build the master branch or it won't build it or the pull requests.
Vicent Marti 1fe56243 2014-06-25T15:14:20 Merge pull request #2435 from ethomson/text_attr Update text=auto / core.autocrlf=false behavior
Vicent Marti a252b9e2 2014-06-25T15:14:14 Merge pull request #2439 from ethomson/revert_export Export git_revert_commit
Edward Thomson 4e813a8b 2014-06-25T09:11:07 Export git_revert_commit
Edward Thomson d412165f 2014-06-18T16:54:32 Update text=auto / core.autocrlf=false behavior Git for Windows 1.9.4 changed the behavior when the text=auto attribute is specified and core.autocrlf=false. Previous observed behavior would *not* filter files when going into the working directory, the new behavior *does* filter. Update our behavior to match.
Carlos Martín Nieto e1fc03c9 2014-06-24T17:56:27 Add CHANGELOG entry for mixed-EOL fix
Carlos Martín Nieto 3ddd0d92 2014-06-24T17:55:15 Merge remote-tracking branch 'upstream/cmn/mixed-eol-passthrough'
Carlos Martín Nieto 29fe897d 2014-06-24T17:52:52 Add CHANGELOG entry for treebuilder map
Carlos Martín Nieto 5e37874d 2014-06-24T17:51:45 Merge remote-tracking branch 'upstream/cmn/treebuilder-perf'
Carlos Martín Nieto 130cb548 2014-06-24T17:37:41 Add CHANGELOG entry for shared packs
Carlos Martín Nieto 58152669 2014-06-24T17:35:14 Merge branch 'cmn/global-mwf'
Vicent Marti 35757155 2014-06-24T17:30:47 Merge pull request #2434 from libgit2/rb/contributing-updates Update CONTRIBUTING and PROJECTS
Carlos Martín Nieto 5a76ad35 2014-06-19T11:45:46 crlf: pass-through mixed EOL buffers from LF->CRLF When checking out files, we're performing conversion into the user's native line endings, but we only want to do it for files which have consistent line endings. Refuse to perform the conversion for mixed-EOL files. The CRLF->LF filter is left as-is, as that conversion is considered to be normalization by git and should force a conversion of the line endings.
Carlos Martín Nieto b3b66c57 2014-06-18T17:13:12 Share packs across repository instances Opening the same repository multiple times will currently open the same file multiple times, as well as map the same region of the file multiple times. This is not necessary, as the packfile data is immutable. Instead of opening and closing packfiles directly, introduce an indirection and allocate packfiles globally. This does mean locking on each packfile open, but we already use this lock for the global mwindow list so it doesn't introduce a new contention point.
Carlos Martín Nieto d30447cb 2014-06-23T18:02:59 Add a CHANGELOG entry for the filebuf change
Carlos Martín Nieto 461da57a 2014-06-23T17:32:30 Merge remote-tracking branch 'upstream/cmn/filebuf-atomic-unlock'
Russell Belfer b247a39d 2014-06-20T10:15:03 missing paren
Russell Belfer a142ed91 2014-06-20T10:10:38 Update CONTRIBUTING and PROJECTS This updates CONTRIBUTING to reflect the changes to use the master branch and make explicit recommendations about updating CHANGELOG.md and providing test coverage. Also, this includes some old updates to PROJECTS.md that I wrote to expand the list of projects, pulling in things from old feature requests.
Vicent Marti 28f087c8 2014-06-20T14:42:16 libgit2 v0.21.0
Vicent Marti 1589aa0c 2014-06-16T11:11:40 Merge pull request #2425 from libgit2/cmn/clone-auth-change Don't use read-write accounts for the tests
Vicent Marti e93206e0 2014-06-14T12:58:03 Merge pull request #2421 from libgit2/cmn/init-ssl-once netops: init OpenSSL once under lock
Carlos Martín Nieto 09561d33 2014-06-13T22:27:46 test: remove assembla clone test The assembla failure we were seeing referred to a private repository, which is not what is there at the moment. This reverts 1fd21b0342f
Carlos Martín Nieto 3382d8b1 2014-06-13T22:24:43 test: use read-only account Don't write in plaintext the password of an account which has full control over the repository. Instead use an account with read-only access.
Carlos Martín Nieto 9c3e4e97 2014-06-13T02:35:33 http: fix typo in credentials logic We want to check whether the credentials callback is NULL, not whether the payload is.
Carlos Martín Nieto 081e76ba 2014-06-12T16:20:52 ssl: init everything all the time Bring together all of the OpenSSL initialization to git_threads_init() so it's together and doesn't need locks. Moving it here also gives us libssh2 thread safety (when built against openssl).
Carlos Martín Nieto 8f897b6f 2014-06-12T14:50:08 ssl: init also without threads
Carlos Martín Nieto cf15ac8a 2014-06-12T03:20:34 ssl: cargo-cult thread safety OpenSSL's tests init everything in the main thread, so let's do that.
Carlos Martín Nieto 5fa04943 2014-06-11T23:19:48 ssl: use locking When using in a multithreaded context, OpenSSL needs to lock, and leaves it up to application to provide said locks. We were not doing this, and it's just luck that's kept us from crashing up to now.
Carlos Martín Nieto 76f76162 2014-06-11T21:14:45 remote: update documentation Add docs for git_clone_local_t and move the docs for the git_clone_options to each field.
Carlos Martín Nieto 1d3364ac 2014-06-11T20:52:15 netops: init OpenSSL once under lock The OpenSSL init functions are not reentrant, which means that running multiple fetches in parallel can cause us to crash. Use a mutex to init OpenSSL, and since we're adding this extra checks, init it only once.