Log

Author Commit Date CI Message
Carlos Martín Nieto 074d323f 2015-05-04T15:23:40 Merge pull request #3079 from ethomson/config Configuration changes for handling multiple of the same sections
Carlos Martín Nieto c3414d53 2015-05-04T14:59:08 Merge pull request #3070 from ethomson/checkout_icase Case insensitive checkout improvements
Edward Thomson d6b7e404 2015-05-04T07:36:21 config: test all multivars are updated If a multivar exists within two sections (of the same name) then they should both be updated in a `set_multivar`. Ensure that this is the case.
Edward Thomson 0daf998d 2015-04-27T16:31:18 config: use wildcard in test instead of empty expr
Edward Thomson 63c0cc65 2015-04-27T16:29:00 config: cleanup some now-unused variables
Edward Thomson 9c26de0f 2015-04-27T15:38:44 config: lock the file for write before reading When writing a configuration file, we want to take a lock on the new file (eg, `config.lock`) before opening the configuration file (`config`) for reading so that we can prevent somebody from changing the contents underneath us.
Ryan Roden-Corrent 5a70df94 2015-04-21T15:57:20 Test setting config var under duplicate header. Add a test that exposes a bug in config_write. It is valid to have multiple separate headers for the same config section, but config_write will exit after finding the first matching section in certain situations. This test proves that config_write will duplicate a variable that already exists instead of overwriting it if the variable is defined under a duplicate section header.
Edward Thomson 2a950c94 2015-04-27T10:43:50 config: write existing lines as-is when rewriting When updating a configuration file, we want to copy the old data from the file to preserve comments and funny whitespace, instead of writing it in some "canonical" format. Thus, we keep a pointer to the start of the line and the line length to preserve these things we don't care to rewrite.
Edward Thomson bf99390e 2015-04-23T16:54:36 config: examine whole file when writing Previously we would try to be clever when writing the configuration file and try to stop parsing (and simply copy the rest of the old file) when we either found the value we were trying to write, or when we left the section that value was in, the assumption being that there was no more work to do. Regrettably, you can have another section with the same name later in the file, and we must cope with that gracefully, thus we read the whole file in order to write a new file. Now, writing a file looks even more than reading. Pull the config parsing out into its own function that can be used by both reading and writing the configuration.
Edward Thomson f79c7322 2015-04-23T12:00:05 config: test overwriting cvar in multiple regions
Edward Thomson 7ee61b8e 2015-04-21T17:18:21 config: ensure we can write to an empty file
Edward Thomson cd79d99a 2015-04-23T15:58:53 checkout test: better case-insensitive test on Mac On Mac OS, `realpath` is deficient in determining the actual filename on-disk as it will simply provide the string you gave it if that file exists, instead of returning the filename as it exists. Instead we must read the directory entries for the parent directory to get the canonical filename.
Edward Thomson f286e271 2015-03-31T16:06:33 status test: always test the new file path
Edward Thomson 64842d87 2015-04-23T09:21:33 checkout test: only run icase on icase platform
Edward Thomson 4beab1f8 2015-03-31T16:29:35 checkout: break case-changes into delete/add When checking out with a case-insensitive working directory, we want to change the case of items in the working directory to reflect changes that occured in the checkout target. Diff now has an option to break case-changing renames into delete/add.
Edward Thomson 05f69012 2015-03-31T16:28:13 checkout: remove blocking dir when FORCEd
Edward Thomson 3520c970 2015-03-27T15:39:28 Revert "Always checkout with case sensitive iterator" This reverts commit 40d791545abfb3cb71553a27dc64129e1a9bec28.
Edward Thomson 6dfd8506 2015-04-01T15:23:37 checkout test: ensure we write to casechanged dir Ensure that on a case insensitive filesystem that we can checkout into some folder 'FOLDER' that exists on disk, even if the target of the checkout is a different case (eg 'folder').
Edward Thomson 431f9807 2015-03-27T15:33:44 checkout test: ignore unstaged case-changing renames On Windows, you might sloppily rewrite a file (or have a sloppy text editor that does it for you) and accidentally change its case. (eg, "README" -> "readme"). Git ignores this accidental case changing rename during checkout and will happily write the new content to the file despite the name change. We should, too.
Carlos Martín Nieto cfc2e56d 2015-05-04T11:16:52 Merge pull request #3087 from ethomson/pr/3054 Performance Improvements to Status on Windows
Edward Thomson 72f8da91 2015-05-02T10:51:24 Merge pull request #3089 from volftomas/patch-2 Added call to git_libgit2_shutdown()
Tomas Paladin Volf 785990be 2015-05-02T12:16:22 Restructured to be nicer example Code restructured to better represent best practice when using libgit2.
Edward Thomson ef23a82f 2015-05-01T17:30:51 Merge pull request #3092 from techee/iconv_macports_fix2 Don't search iconv in /opt/local
Jiří Techet b7df2e8b 2015-05-01T22:48:33 Don't search iconv in /opt/local Since OpenSSL isn't used any more on OS X, there is no dependency on any MacPorts library under /opt/local and there is no danger of conflicts between MacPorts and system iconv. For this reason the system iconv can always be used now.
Edward Thomson be3f1049 2015-05-01T11:27:44 diriter: actually use iconv on mac
Edward Thomson cd39e4e2 2015-04-29T18:12:51 git_buf_put_w: introduce utf16->utf8 conversion
Edward Thomson f63a1b72 2015-04-29T17:23:02 git_path_diriter: use FindFirstFile in win32 Using FindFirstFile and FindNextFile in win32 allows us to use the directory information that is returned, instead of us having to get the file attributes all over again, which is a distinct cost savings on win32.
Edward Thomson 5c387b6c 2015-04-29T14:31:59 git_path_diriter: next shouldn't take path ptr The _next method shouldn't take a path pointer (and a path_len pointer) as 100% of current users use the full path and ignore the filename. Plus let's add some docs and a unit test.
Edward Thomson 7ef005f1 2015-04-29T14:04:01 git_path_dirload_with_stat: moved to fs_iterator
Edward Thomson ba8ef18a 2015-04-29T13:28:29 git_path_dirload_with_stat: use git_path_diriter
Edward Thomson 35c1d207 2015-04-29T14:03:20 git_win32_path_dirload_with_stat: removed
Edward Thomson 07bbc045 2015-04-29T11:58:10 git_path_dirload: use git_path_diriter
Edward Thomson edbfc52c 2015-04-29T11:05:27 git_path: introduce 'git_path_diriter' Introduce a new `git_path_diriter` that can iterate directories efficiently for each platform.
Edward Thomson cbe8a61d 2015-05-01T11:28:54 Merge pull request #3059 from libgit2/cmn/negotiation-notify [WIP/RFC] push: report the update plan to the caller
Edward Thomson 9f73e1f3 2015-05-01T09:01:34 Merge pull request #3081 from leoyanggit/build_warnings Fix some build warnings
Carlos Martín Nieto 5e00e5c9 2015-04-30T21:55:10 Merge pull request #3090 from libgit2/jamill/doc_update Update documentation for API changes
Carlos Martín Nieto 1275de53 2015-04-30T21:25:54 Merge pull request #3088 from volftomas/patch-1 Fixed unused warning in tests/rebase/merge.c
Jameson Miller bf2ba529 2015-04-30T10:57:13 Update documentation for API changes
Tomas Paladin Volf 9bff15f4 2015-04-30T15:10:28 Added call to git_libgit2_shutdown() Added forgotten call to git_libgit2_shutdown() to the /examples/network/git2.c.
Tomas Paladin Volf cf2380a6 2015-04-30T14:17:05 Fixed unused warning in tests/rebase/merge.c
Carlos Martín Nieto 891cc504 2015-04-29T22:08:46 Merge pull request #3085 from yongthecoder/regfree Do not call regfree() on an empty regex that is not successfully created...
Yong Li e30438cc 2015-04-29T13:40:42 Do not call regfree() on an empty regex that is not successfully created by regcomp (also removed an unused member "has_regex" from all_iter)
Edward Thomson 544139f5 2015-04-28T16:39:47 win32: keep full path for realpath usage
Edward Thomson c074d7a4 2015-04-28T12:24:08 win32: mimic git_path_dirload_with_stat closely
Edward Thomson b3f6cef0 2015-04-28T11:16:42 dirload: loop conditional; less path mangling
Edward Thomson e05531dd 2015-04-27T18:02:06 win32 dirload: don't heap allocate DIR structure
Edward Thomson f3c444b8 2015-04-27T17:47:51 win32: abstract file attributes -> struct stat fn
J Wyman 1920ee4e 2015-03-26T18:10:24 Improvements to status performance on Windows. Changed win32/path_w32.c to utilize NTFS' FindFirst..FindNext data instead of doing an lstat per file. Avoiding unnecessary directory opens and file scans reduces IO, improving overall performance. Effect is magnified due to NTFS being a kernel mode file system (as opposed to user mode).
J Wyman 4c09e19a 2015-03-30T14:07:44 Improvements to ignore performance on Windows. Minimizing the number directory and file opens, minimizes the amount of IO thus reducing the overall cost of performing ignore operations.
Leo Yang 69f0032b 2015-04-28T12:40:20 Fix some build warnings In checkout.c and filter.c we were casting a sub struct to a parent struct which breaks the strict aliasing rules in C. However we can use .parent or .base to access the parent struct to avoid the build warnings. In remote.c the local variable error was not initialized or updated in some cases. For unintialized error a build warning will be generated. So always keep error variable up-to-date.
Edward Thomson d969d415 2015-04-24T12:00:51 Merge pull request #3071 from linquize/git_reflog_drop Fix wrong format string in git_reflog_drop() error message
Linquize 31d5dce3 2015-04-24T23:56:59 Fix wrong format string in git_reflog_drop() error message
Carlos Martín Nieto 65808406 2015-04-24T02:46:49 Merge pull request #3063 from ethomson/config_validate_name Validate configuration keys
Edward Thomson dbb45950 2015-04-23T15:24:05 Merge pull request #2997 from libgit2/cmn/secure-transport Use SecureTransport on OS X
Carlos Martín Nieto 44b769e4 2015-04-13T15:39:58 SecureTransport: handle graceful closes On close, we might get a return code which looks like an error but just means that the other side closed gracefully. Handle that.
Carlos Martín Nieto 65ac7ddc 2015-03-24T16:31:51 SecureTransport: require TLS v1.x Anything SSL is deprecated. Let's make sure we don't try to use SSL v3 when talking to the server.
Carlos Martín Nieto 85247df0 2015-03-19T14:26:07 Update THREADING and CHANGELOG with SecureTransport details
Carlos Martín Nieto b7e1c81d 2015-03-19T10:51:48 SecureTransport: allow overriding a bad certificate Do not automatically fail on a bad certificate, but let the caller decide. This means we don't need our switch on errors anymore but can return a string representation from the security framework.
Carlos Martín Nieto 24e53d2f 2015-03-19T09:55:20 Rename GIT_SSL to GIT_OPENSSL This is what it's meant all along, but now we actually have multiple implementations, it's clearer to use the name of the library.
Carlos Martín Nieto 70b852ce 2015-03-19T00:45:43 Silence unused warnings when not using OpenSSL
Carlos Martín Nieto 6946a3be 2015-03-19T00:18:03 Abstract away the TLS stream implementation Instead, provide git_tls_stream_new() to ask for the most appropriate encrypted stream and use it in our HTTP transport.
Carlos Martín Nieto 6bb54cbf 2014-11-02T13:23:32 Add a SecureTransport TLS channel As an alternative to OpenSSL when we're on OS X. This one can actually take advantage of stacking the streams.
Edward Thomson d369d71f 2015-04-21T17:18:35 config: peek returns '\n' on EOF; handle in write
Edward Thomson 6dc55872 2015-04-21T17:18:21 config: ensure we can write to an empty file
Edward Thomson 2c8c00c6 2015-04-21T12:52:29 config: validate config keys
Edward Thomson 23fb4004 2015-04-21T12:49:57 config: test that we validate the key
Carlos Martín Nieto 69c333f9 2015-04-23T17:23:04 Merge pull request #3064 from rcorre/config-write-fix config_write -- handle duplicate section headers when deleting entries
Carlos Martín Nieto 63e8b08d 2015-04-23T17:08:10 Merge branch 'attr-ignore'
Mike McQuaid c02a0e46 2015-04-17T18:27:28 attr_file: fix subdirectory attr case. Closes #2966.
Mike McQuaid c6bf03b4 2015-03-28T18:37:15 Add failing subdirectory gitignore attr test.
Edward Thomson 27fa7477 2015-04-23T10:54:08 Merge pull request #3032 from jfultz/index-file-modes Fix git_checkout_tree() to do index filemodes correctly on Windows.
Carlos Martín Nieto f564017d 2015-04-22T16:16:27 Merge pull request #3065 from cthomas/master Fix for Issue #3023 tests fail with no network
cthomas fc6f044e 2015-04-21T20:02:24 Fix for Issue #3023 tests fail with no network Moved offending tests from network to online so they will get skipped when there is a lack of network connectivity: -test_online_remotes__single_branch -test_online_remotes__restricted_refspecs
Edward Thomson aaf42c8d 2015-04-21T18:21:59 Merge pull request #3051 from jeffhostetler/jeffhostetler/memleak_windows_tls_data Attempt to fix Windows TLS memory leak.
Ryan Roden-Corrent 9a810c5e 2015-04-16T15:32:16 git_config_delete: search until last section. If git_config_delete is to work properly in the presence of duplicate section headers, it cannot stop searching at the end of the first matching section, as there may be another matching section later. When config_write is used for deletion (value = NULL), it may only terminate when the desired key is found or there are no sections left to parse.
Ryan Roden-Corrent f56a417d 2015-04-16T15:20:33 Specify mock config file content in test. Instead of using a config file in resources, include the config file content to be tested directly in the test.
Ryan Roden-Corrent a060cccc 2015-04-16T10:53:22 Unittest to validate config entry deletion bug. Add a unittest to validate bug #3043, where a duplicate empty config header could cause deletion of a config entry to fail silently. The bug is currently unresolved and this test will fail.
Carlos Martín Nieto 7636f740 2015-04-21T14:38:23 Merge pull request #2992 from ethomson/rebase_fixes Rebase fixes
Carlos Martín Nieto 3a63e8c2 2015-04-21T14:04:45 Merge pull request #3060 from ethomson/2851 Handle invalid multiline configuration
John Fultz d3282680 2015-04-20T23:41:04 Fix index-adding functions to know when to trust filemodes. The idea...sometimes, a filemode is user-specified via an explicit git_index_entry. In this case, believe the user, always. Sometimes, it is instead built up by statting the file system. In those cases, go with the existing logic we have to determine whether the file system supports all filemodes and symlinks, and make the best guess. On file systems which have full filemode and symlink support, this commit should make no difference. On others (most notably Windows), this will fix problems things like: * git_index_add and git_index_add_frombuffer() should be believed. * As a consequence, git_checkout_tree should make the filemodes in the index match the ones in the tree. * And diffs with GIT_DIFF_UPDATE_INDEX don't write the wrong filemodes. * And merges, and probably other downstream stuff now fixed, too. This makes my previous changes to checkout.c unnecessary, so they are now reverted. Also, added a test for index_entry permissions from git_index_add and git_index_add_frombuffer, both of which failed before these changes.
Edward Thomson aa9bb425 2015-04-20T17:22:39 rebase: correct documentation, CHANGELOG
Edward Thomson 94c988f6 2015-04-20T17:19:08 rebase: include checkout opts within rebase opts
Edward Thomson 78382358 2015-03-17T17:21:11 rebase: test checkout options for rebase
Edward Thomson f3a199dd 2015-03-17T15:53:04 rebase: init and open take a rebase_options `git_rebase_init` and `git_rebase_open` should take a `git_rebase_options` and use it for future rebase operations on that `rebase` object.
Edward Thomson 5ae38538 2015-03-17T11:47:16 rebase: take `checkout_options` where appropriate
Edward Thomson 649834fd 2015-03-17T11:46:55 reset: `git_checkout_options` is `const`
Edward Thomson eaf0d688 2015-03-17T17:53:07 rebase: block rebase_commit with unstaged changes
Edward Thomson 49b3ddf2 2015-03-17T17:45:31 rebase: commit should return GIT_EUNMERGED git_rebase_commit should return `GIT_EUNMERGED` when unmerged items exist in the index, per the documentation. Test that this is correct.
Edward Thomson 30640aa9 2015-03-17T10:04:08 rebase: identify a rebase that has not started In `git_rebase_operation_current()`, indicate when a rebase has not started (with `GIT_REBASE_NO_OPERATION`) rather than conflating that with the first operation being in-progress.
Edward Thomson e009a705 2015-04-20T00:22:20 config_file: comment char can be invalid escape Don't assume that comment chars are comment chars, they may be (an attempt to be escaped). If so, \; is not a valid escape sequence, complain.
Edward Thomson 7f2e61f3 2015-04-19T23:55:02 config_file: parse multilines generously Combine unquoting and multiline detection to avoid ambiguity when parsing.
Edward Thomson 08c45213 2015-04-19T19:58:03 Merge pull request #3024 from git-up/diff_merge_fix Make sure to also update delta->nfiles when merging diffs
Carlos Martín Nieto efc2fec5 2015-04-19T00:55:00 push: report the update plan to the caller It can be useful for the caller to know which update commands will be sent to the server before the packfile is pushed up. git does this via the pre-push hook. We don't have hooks, but as it adds introspection into what is happening, we can add a callback which performs the same function.
Jeff Hostetler 06c985d8 2015-04-18T09:07:48 Rename routine to free TLS data
Edward Thomson 4c02d393 2015-04-17T16:57:26 Merge pull request #3016 from pks-t/ignore-exclude-fix ignore: fix negative ignores without wildcards.
Edward Thomson a0e652d2 2015-04-17T12:35:41 Merge pull request #2999 from pks-t/submodule-set-url Implement git_submodule_set_branch.
Edward Thomson a5bf599c 2015-04-17T12:32:39 Merge pull request #3047 from git-up/diff_fixes Diff fixes
Edward Thomson c694f9fa 2015-04-17T10:53:46 Merge pull request #3052 from jeffhostetler/jeffhostetler/memleak_test_core_mkdir Fix memleak in test/core/mkdir reported by CRTDBG
Jeff Hostetler e3737a41 2015-04-17T10:30:33 Fix memleak in test/core/mkdir reported by CRTDBG
Jeff Hostetler d3fb7d93 2015-04-17T10:04:01 Remove DllMain now that TLS data freed by threads