| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|/ |
|
|\
| |
| | |
Adjusting stream buffer size to 64KB
|
| |
| |
| |
| | |
64K is optimal buffer size per https://technet.microsoft.com/en-us/library/cc938632.aspx
|
| | |
|
|\ \
| | |
| | | |
Configuration changes for handling multiple of the same sections
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
|/ /
| |
| |
| | |
This reverts commit 40d791545abfb3cb71553a27dc64129e1a9bec28.
|
|\ \
| | |
| | | |
Performance Improvements to Status on Windows
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Introduce a new `git_path_diriter` that can iterate directories
efficiently for each platform.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
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).
|
| |/
| |
| |
| | |
Minimizing the number directory and file opens, minimizes the amount of IO thus reducing the overall cost of performing ignore operations.
|
|\ \
| | |
| | | |
[WIP/RFC] 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.
|
|\ \ \
| | | |
| | | | |
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.
|
|/ /
| |
| |
| |
| |
| | |
regcomp
(also removed an unused member "has_regex" from all_iter)
|
|\ \
| | |
| | | |
Fix wrong format string in git_reflog_drop() error message
|
| | | |
|
|\ \ \
| | | |
| | | | |
Validate configuration keys
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
On close, we might get a return code which looks like an error but just
means that the other side closed gracefully. Handle that.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Anything SSL is deprecated. Let's make sure we don't try to use SSL v3
when talking to the server.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Instead, provide git_tls_stream_new() to ask for the most appropriate
encrypted stream and use it in our HTTP transport.
|