- 02 May, 2014 19 commits
-
-
Russell Belfer committed
-
Reduce excessive OID calculation for diff and stat
Vicent Marti committed -
commit: safer commit creation with reference update
Russell Belfer committed -
Trying to find other issues where tests may not clean up quite properly when they are through...
Russell Belfer committed -
There are a few tests that set up a fake home directory and a fake GLOBAL search path so that we can test things in global ignore or attribute or config files. This cleans up that code to work more robustly even if there is a test failure. This also fixes some valgrind warnings where scanning search paths for separators could end up doing a little bit of sketchy data access when coming to the end of search list.
Russell Belfer committed -
There were a couple of "init_opts()" functions a few more cases of structure initialization that I somehow missed.
Russell Belfer committed -
Use an unsigned int for the version and add a helper macro so the code is simplified (and so the error message is a common string).
Russell Belfer committed -
Russell Belfer committed
-
Since git_diff_init_options was introduced, remove this old fn.
Russell Belfer committed -
This is a proposed adjustment to the trace APIs. This makes the trace levels into a bitmask so that they can be selectively enabled and adds a callback-level payload, plus a message-level payload. This makes it easier for me to a GIT_TRACE_PERF callbacks that are simply bypassed if the PERF level is not set.
Russell Belfer committed -
Russell Belfer committed
-
This adds an option to refresh the stat cache while generating status. It also rips out the GIT_PERF stuff I had an makes use of the trace API to keep statistics about what happens during diff.
Russell Belfer committed -
When diff is scanning the working directory, if it finds a file where it is not sure if the index entry matches the working dir, it will recalculate the OID (which is pretty expensive). This adds a new flag to diff so that if the OID calculation finds that the file actually has not changed (i.e. just the modified time was altered or such), then it will refresh the stat cache in the index so that future calls to diff will not have to check the oid again.
Russell Belfer committed -
This reorganized the diff OID calculation to make it easier to correctly update the stat cache during a diff once the flags to do so are enabled. This includes marking the path of a git_index_entry as const so we can make a "fake" git_index_entry with a "const char *" path and not get warnings. I was a little surprised at how unobtrusive this change was, but I think it's probably a good thing.
Russell Belfer committed -
When we think the stat cache in the index seems valid and the size or mode of a file has definitely changed, then don't bother trying to recalculate the OID of the workdir bits to confirm that it is modified - just accept that it is modified. This can result in files that show as modified with no actual diff, but the behavior actually appears to match Git on the command line. This also includes a minor optimization to not perform a submodule lookup on the ".git" directory itself.
Russell Belfer committed -
Russell Belfer committed
-
See https://github.com/libgit2/libgit2/pull/2321#issuecomment-42039673 We may rollback once we found something more reliable
Vicent Marti committed -
Make examples/status.c compile on Windows
Vicent Marti committed -
Make ** pattern eat trailing slash
Vicent Marti committed
-
- 01 May, 2014 3 commits
-
-
This allows "foo/**/*.html" to match "foo/file.html"
Russell Belfer committed -
Linquize committed
-
Solaris!
Vicent Marti committed
-
- 30 Apr, 2014 11 commits
-
-
Jacques Germishuys committed
-
Jacques Germishuys committed
-
Jacques Germishuys committed
-
Assorted CMake fixups
Vicent Marti committed -
cygwin also doesn't have qsort_r
Vicent Marti committed -
Jacques Germishuys committed
-
An empty string is not a valid number, and some shells complain. Check instead if $COVERITY is non-empty, which is a common convention and what we're doing anyway.
Carlos Martín Nieto committed -
If it's not documented, it doesn't show up in the docs (and we really should document, anyway).
Carlos Martín Nieto committed -
It reportedly works. It does not however work when cross-compiling on Travis, so let's disable it there. This fixes #2311.
Carlos Martín Nieto committed -
This fixes #2118
Ting-Wei Lan committed -
The point of this phase is to know what we have and not. Show the user a clear indication of what we have.
Carlos Martín Nieto committed
-
- 29 Apr, 2014 3 commits
-
-
The current version of the commit creation and amend function are unsafe to use when passing the update_ref parameter, as they do not check that the reference at the moment of update points to what the user expects. Make sure that we're moving history forward when we ask the library to update the reference for us by checking that the first parent of the new commit is the current value of the reference. We also make sure that the ref we're updating hasn't moved between the read and the write. Similarly, when amending a commit, make sure that the current tip of the branch is the commit we're amending.
Carlos Martín Nieto committed -
MidnightBSD may also not have strnlen
Vicent Marti committed -
Jacques Germishuys committed
-
- 28 Apr, 2014 2 commits
-
-
Make the build CMake 2.6 compatible
Vicent Marti committed -
Marcin Sawicki committed
-
- 27 Apr, 2014 1 commit
-
-
Keep the deflate buffer from ballooning up
Vicent Marti committed
-
- 26 Apr, 2014 1 commit
-
-
Make sure we set the output parameter to a value.
Carlos Martín Nieto committed
-