summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | stash apply: check out a tree, not piecewiseEdward Thomson2015-05-111-32/+11
| |
* | stash: use git_commit_summary for a summaryEdward Thomson2015-05-111-12/+4
| |
* | index: introduce git_index_read_indexEdward Thomson2015-05-112-0/+100
| |
* | checkout: allow baseline to be specified as indexEdward Thomson2015-05-111-5/+14
| | | | | | | | | | | | Allow the baseline to be specified as an index, so that users need not write their index to a tree just to checkout with that as the baseline.
* | merge: merge iteratorsEdward Thomson2015-05-112-24/+80
| |
* | Added git_stash_apply() and git_stash_pop() APIsPierre-Olivier Latour2015-05-111-0/+371
|/
* Merge pull request #3104 from whoisj/optimal-buffer-sizeCarlos Martín Nieto2015-05-091-1/+1
|\ | | | | Adjusting stream buffer size to 64KB
| * Adjusting stream buffer size to 64KBJ Wyman2015-05-071-1/+1
| | | | | | | | 64K is optimal buffer size per https://technet.microsoft.com/en-us/library/cc938632.aspx
* | config: plug a couple of leaksCarlos Martín Nieto2015-05-051-4/+7
| |
* | Merge pull request #3079 from ethomson/configCarlos Martín Nieto2015-05-041-400/+438
|\ \ | | | | | | Configuration changes for handling multiple of the same sections
| * | config: cleanup some now-unused variablesEdward Thomson2015-05-041-7/+16
| | |
| * | config: lock the file for write before readingEdward Thomson2015-05-041-8/+7
| | | | | | | | | | | | | | | | | | | | | 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.
| * | config: write existing lines as-is when rewritingEdward Thomson2015-05-041-28/+70
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | config: examine whole file when writingEdward Thomson2015-05-041-396/+384
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | checkout: break case-changes into delete/addEdward Thomson2015-05-042-1/+15
| | | | | | | | | | | | | | | | | | | | | 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.
* | | checkout: remove blocking dir when FORCEdEdward Thomson2015-05-041-3/+26
| | |
* | | Revert "Always checkout with case sensitive iterator"Edward Thomson2015-05-041-1/+1
|/ / | | | | | | This reverts commit 40d791545abfb3cb71553a27dc64129e1a9bec28.
* | Merge pull request #3087 from ethomson/pr/3054Carlos Martín Nieto2015-05-0419-345/+798
|\ \ | | | | | | Performance Improvements to Status on Windows
| * | diriter: actually use iconv on macEdward Thomson2015-05-012-86/+94
| | |
| * | git_buf_put_w: introduce utf16->utf8 conversionEdward Thomson2015-05-015-27/+81
| | |
| * | git_path_diriter: use FindFirstFile in win32Edward Thomson2015-05-014-8/+213
| | | | | | | | | | | | | | | | | | | | | 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.
| * | git_path_diriter: next shouldn't take path ptrEdward Thomson2015-05-013-14/+64
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | git_path_dirload_with_stat: moved to fs_iteratorEdward Thomson2015-05-013-170/+116
| | |
| * | git_path_dirload_with_stat: use git_path_diriterEdward Thomson2015-05-011-123/+51
| | |
| * | git_win32_path_dirload_with_stat: removedEdward Thomson2015-05-013-209/+1
| | |
| * | git_path_dirload: use git_path_diriterEdward Thomson2015-05-012-82/+115
| | |
| * | git_path: introduce 'git_path_diriter'Edward Thomson2015-05-014-1/+163
| | | | | | | | | | | | | | | Introduce a new `git_path_diriter` that can iterate directories efficiently for each platform.
| * | win32: keep full path for realpath usageEdward Thomson2015-04-281-8/+34
| | |
| * | win32: mimic git_path_dirload_with_stat closelyEdward Thomson2015-04-281-40/+28
| | |
| * | dirload: loop conditional; less path manglingEdward Thomson2015-04-281-59/+102
| | |
| * | win32 dirload: don't heap allocate DIR structureEdward Thomson2015-04-281-22/+18
| | |
| * | win32: abstract file attributes -> struct stat fnEdward Thomson2015-04-284-80/+81
| | |
| * | Improvements to status performance on Windows.J Wyman2015-04-285-87/+281
| | | | | | | | | | | | 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).
| * | Improvements to ignore performance on Windows.J Wyman2015-04-286-15/+42
| |/ | | | | | | Minimizing the number directory and file opens, minimizes the amount of IO thus reducing the overall cost of performing ignore operations.
* | Merge pull request #3059 from libgit2/cmn/negotiation-notifyEdward Thomson2015-05-013-6/+53
|\ \ | | | | | | [WIP/RFC] push: report the update plan to the caller
| * | push: report the update plan to the callercmn/negotiation-notifyCarlos Martín Nieto2015-04-193-6/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #3081 from leoyanggit/build_warningsEdward Thomson2015-05-013-8/+8
|\ \ \ | | | | | | | | Fix some build warnings
| * | | Fix some build warningsLeo Yang2015-04-283-8/+8
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Do not call regfree() on an empty regex that is not successfully created by ↵Yong Li2015-04-291-3/+2
|/ / | | | | | | | | | | regcomp (also removed an unused member "has_regex" from all_iter)
* | Merge pull request #3071 from linquize/git_reflog_dropEdward Thomson2015-04-241-1/+1
|\ \ | | | | | | Fix wrong format string in git_reflog_drop() error message
| * | Fix wrong format string in git_reflog_drop() error messageLinquize2015-04-241-1/+1
| | |
* | | Merge pull request #3063 from ethomson/config_validate_nameCarlos Martín Nieto2015-04-241-14/+42
|\ \ \ | | | | | | | | Validate configuration keys
| * | | config: peek returns '\n' on EOF; handle in writeEdward Thomson2015-04-231-1/+1
| | | |
| * | | config: validate config keysEdward Thomson2015-04-231-13/+41
| | | |
* | | | SecureTransport: handle graceful closescmn/secure-transportCarlos Martín Nieto2015-04-231-2/+3
| | | | | | | | | | | | | | | | | | | | On close, we might get a return code which looks like an error but just means that the other side closed gracefully. Handle that.
* | | | SecureTransport: require TLS v1.xCarlos Martín Nieto2015-04-231-0/+2
| | | | | | | | | | | | | | | | | | | | Anything SSL is deprecated. Let's make sure we don't try to use SSL v3 when talking to the server.
* | | | SecureTransport: allow overriding a bad certificateCarlos Martín Nieto2015-04-231-14/+41
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Rename GIT_SSL to GIT_OPENSSLCarlos Martín Nieto2015-04-238-14/+14
| | | | | | | | | | | | | | | | | | | | 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.
* | | | Silence unused warnings when not using OpenSSLCarlos Martín Nieto2015-04-231-0/+4
| | | |
* | | | Abstract away the TLS stream implementationCarlos Martín Nieto2015-04-233-2/+51
| | | | | | | | | | | | | | | | | | | | Instead, provide git_tls_stream_new() to ask for the most appropriate encrypted stream and use it in our HTTP transport.