- 25 Nov, 2019 1 commit
-
-
Prefer `off64_t` to `git_off_t` for internal visibility.
Edward Thomson committed
-
- 15 Jun, 2019 1 commit
-
-
We're about to phase out our bundled fnmatch implementation as git.git has moved to wildmatch long ago in 2014. To make it easier to spot which files are stilll using fnmatch, remove the implicit "fnmatch.h" include in "posix.h" and instead include it explicitly.
Patrick Steinhardt committed
-
- 14 Jun, 2019 1 commit
-
-
By now, we have repeatedly failed to provide a nice cross-platform implementation of `p_fallocate`. Recent tries to do that escalated quite fast to a set of different CMake checks, implementations, fallbacks, etc., which started to look real awkward to maintain. In fact, `p_fallocate` had only been introduced in commit 4e3949b7 (tests: test that largefiles can be read through the tree API, 2019-01-30) to support a test with large files, but given the maintenance costs it just seems not to be worht it. As we have removed the sole user of `p_fallocate` in the previous commit, let's drop it altogether.
Patrick Steinhardt committed
-
- 30 Jan, 2019 1 commit
-
-
Etienne Samson committed
-
- 04 Oct, 2017 1 commit
-
-
Andreas Smas committed
-
- 03 Jul, 2017 1 commit
-
-
Next to including several files, our "common.h" header also declares various macros which are then used throughout the project. As such, we have to make sure to always include this file first in all implementation files. Otherwise, we might encounter problems or even silent behavioural differences due to macros or defines not being defined as they should be. So in fact, our header and implementation files should make sure to always include "common.h" first. This commit does so by establishing a common include pattern. Header files inside of "src" will now always include "common.h" as its first other file, separated by a newline from all the other includes to make it stand out as special. There are two cases for the implementation files. If they do have a matching header file, they will always include this one first, leading to "common.h" being transitively included as first file. If they do not have a matching header file, they instead include "common.h" as first file themselves. This fixes the outlined problems and will become our standard practice for header and source files inside of the "src/" from now on.
Patrick Steinhardt committed
-
- 05 Apr, 2017 1 commit
-
-
Instead of failing to set the timestamp of a read-only file (like any object file), set it writable temporarily to update the timestamp.
Edward Thomson committed
-
- 28 Feb, 2017 1 commit
-
-
Introduce a simple counter that `p_fsync` implements. This is useful for ensuring that `p_fsync` is called when we expect it to be, for example when we have enabled an odb backend to perform `fsync`s when writing objects.
Edward Thomson committed
-
- 16 Mar, 2016 1 commit
-
-
While often similar, these are not the same on Windows. We want to use the page size on Windows for the pools, but for mmap we need to use the allocation granularity as the alignment. On the other platforms these values remain the same.
Carlos Martín Nieto committed
-
- 01 May, 2015 1 commit
-
-
Introduce a new `git_path_diriter` that can iterate directories efficiently for each platform.
Edward Thomson committed
-
- 10 Aug, 2014 1 commit
-
-
Linquize committed
-
- 05 Aug, 2014 1 commit
-
-
* Removes mingw-compat.h * Cleans up separation of compiler/platform idiosyncrasies * Unifies mingw/msvc stat structures and functions * (Tries to) hide more compiler specific implementation details (even in our internal API)
Jacques Germishuys committed
-
- 20 May, 2014 1 commit
-
-
Use size_t for page size, instead of long. Check result of sysconf. Use size_t for page offset so no cast to size_t (second arg to p_mmap). Use mod instead div/mult pair, so no cast to size_t is necessary.
Albert Meltzer committed
-
- 16 May, 2014 2 commits
-
-
Windows has its own ftruncate() called _chsize_s(). p_mkstemp() is changed to use p_open() so we can make sure we open for writing; the addition of exclusive create is a good thing to do regardless, as we want a temporary path for ourselves. Lastly, MSVC doesn't quite know how to add two numbers if one of them is a void pointer, so let's alias it to unsigned char.C
Carlos Martín Nieto committed -
Some OSs cannot keep their ideas about file content straight when mixing standard IO with file mapping. As we use mmap for reading from the packfile, let's make writing to the pack file use mmap.
Carlos Martín Nieto committed
-
- 16 Feb, 2014 1 commit
-
-
On some systems, notably HP PA-RISC systems running Linux or HP-UX, EWOULDBLOCK and EAGAIN are not the same value. POSIX (and these OSes) allow EWOULDBLOCK to occur on write(2) (and send(2), etc.), so check explicitly for this case as well as EAGAIN by defining and using a macro GIT_ISBLOCKED that considers both. The macro is necessary because MSYS does not provide EWOULDBLOCK and compilation fails if an attempt is made to use it unconditionally. On most systems, where the two values are the same, the compiler will simply optimize this check out and it will have no effect.
brian m. carlson committed
-
- 05 Feb, 2014 1 commit
-
-
We need this from util.h and posix.h, but the latter includes common.h which includes util.h, which means p_strlen is not defined by the time we get to git__strndup(). Split the definition on p_strlen() off into its own header so we can use it in util.h.
Carlos Martín Nieto committed
-
- 03 Jan, 2014 1 commit
-
-
Apparently MacOS didn't have strnlen on 10.6 and earlier. To avoid having linking problems on older versions, we'll just use our internal version.
Russell Belfer committed
-
- 27 Nov, 2013 1 commit
-
-
Alessandro Ghedini committed
-
- 22 Sep, 2013 1 commit
-
-
Linquize committed
-
- 19 Aug, 2013 1 commit
-
-
We didn't use the added precision in gettimeofday, so remove it. This prevents us from having an unnecessary reimplementation on win32.
Edward Thomson committed
-
- 08 Aug, 2013 1 commit
-
-
Avoid wrapping around extension size when reading, avoid walking off the end of the buffer when reading names.
Edward Thomson committed
-
- 23 Jun, 2013 1 commit
-
-
Russell Belfer committed
-
- 09 Mar, 2013 1 commit
-
-
There is a serious bug in the previous tree iterator implementation. If case insensitivity resulted in member elements being equivalent to one another, and those member elements were trees, then the children of the colliding elements would be processed in sequence instead of in a single flattened list. This meant that the tree iterator was not truly acting like a case-insensitive list. This completely reworks the tree iterator to manage lists with case insensitive equivalence classes and advance through the items in a unified manner in a single sorted frame. It is possible that at a future date we might want to update this to separate the case insensitive and case sensitive tree iterators so that the case sensitive one could be a minimal amount of code and the insensitive one would always know what it needed to do without checking flags. But there would be so much shared code between the two, that I'm not sure it that's a win. For now, this gets what we need. More tests are needed, though.
Russell Belfer committed
-
- 08 Jan, 2013 1 commit
-
-
Edward Thomson committed
-
- 15 Oct, 2012 1 commit
-
-
Russell Belfer committed
-
- 22 Aug, 2012 1 commit
-
-
This extends git_repository_init_ext further with support for initializing the repository from an external template directory and with support for the "create shared" type flags that make a set GID repository directory. This also adds tests for much of the new functionality to the existing `repo/init.c` test suite. Also, this adds a bunch of new utility functions including a very general purpose `git_futils_mkdir` (with the ability to make paths and to chmod the paths post-creation) and a file tree copying function `git_futils_cp_r`. Also, this includes some new path functions that were useful to keep the code simple.
Russell Belfer committed
-
- 24 Jun, 2012 1 commit
-
-
Vicent Marti committed
-
- 22 Jun, 2012 1 commit
-
-
Vicent Marti committed
-
- 14 Jun, 2012 2 commits
-
-
Chris Young committed
-
- 13 Jun, 2012 1 commit
-
-
Needs AmigaOS.cmake now from CMake package at OS4Depot, or contents below: --8<-- SET(AMIGA 1) SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC") SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared") --8<--
Chris Young committed
-
- 11 Jun, 2012 1 commit
-
-
Ben Straub committed
-
- 08 Jun, 2012 1 commit
-
-
Chris Young committed
-
- 06 Jun, 2012 1 commit
-
-
Ben Straub committed
-
- 07 May, 2012 1 commit
-
- 17 Apr, 2012 1 commit
-
-
This fixes all the warnings on win64 except those in deps, which come from the regex code.
Russell Belfer committed
-
- 02 Mar, 2012 1 commit
-
-
This is a major reorganization of the diff code. This changes the diff functions to use the iterators for traversing the content. This allowed a lot of code to be simplified. Also, this moved the functions relating to outputting a diff into a new file (diff_output.c). This includes a number of other changes - adding utility functions, extending iterators, etc. plus more tests for the diff code. This also takes the example diff.c program much further in terms of emulating git-diff command line options.
Russell Belfer committed
-
- 13 Feb, 2012 1 commit
-
-
Signed-off-by: schu <schu-github@schulog.org>
schu committed
-
- 07 Nov, 2011 1 commit
-
-
Move the callers of git_futils_mv_atomic to use p_rename. Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto committed
-