summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* refactor: make util an object libraryethomson/util5Edward Thomson2021-11-1157-635/+574
| | | | | | Instead of simply including the utility files directly, make them a cmake object library for easy reusability between other projects within libgit2.
* refactor: move utility functions into util directoryEdward Thomson2021-11-11101-450/+452
|
* refactor: `src` is now `src/libgit2`Edward Thomson2021-11-11359-292/+452
| | | | Adding an additional hierarchy allows us to split out utility functions.
* cmake: move sha1 source selection into CMakeLists.txtEdward Thomson2021-11-112-11/+15
| | | | | The select hashes module selects the hash; the CMakeLists.txt selects the files to implement it.
* cmake: use a string not a boolean for LIBGIT2_FILENAMEEdward Thomson2021-11-111-1/+1
|
* cmake: refactor global variablesEdward Thomson2021-11-1112-46/+43
| | | | | Update the global variables `LIBGIT2_OBJECTS` to `LIBGIT2_DEPENDENCY_OBJECTS` for clarity and consistency.
* cmake: reformat modulesEdward Thomson2021-11-1120-812/+689
| | | | Apply the standard project cmake formatting to the modules.
* Merge pull request #6113 from libgit2/ethomson/cmake3Edward Thomson2021-11-1156-111/+570
|\ | | | | Add missing-declarations warning globally
| * cmake: move missing-declarations warning to top-levelEdward Thomson2021-11-112-2/+1
| | | | | | | | | | We should enforce declarations throughout the code-base, including examples, fuzzers and tests, not just in the `src` tree.
| * tests: include function declarationsEdward Thomson2021-11-115-4/+13
| |
| * test: correct test namesEdward Thomson2021-11-113-3/+3
| |
| * tests: declare functions statically where appropriateEdward Thomson2021-11-1134-60/+442
| |
| * clar: declare summary functions as staticEdward Thomson2021-11-111-5/+5
| |
| * example: declare print_usage functionEdward Thomson2021-11-111-1/+1
| |
| * examples: remove unused functionEdward Thomson2021-11-111-15/+0
| |
| * fuzzers: declare static functions as staticEdward Thomson2021-11-112-4/+4
| |
| * fuzzers: declare standalone functionsEdward Thomson2021-11-119-2/+29
| |
| * tests: declare trace handler as staticEdward Thomson2021-11-111-1/+1
| |
| * tests: include test declarations for old gccEdward Thomson2021-11-111-1/+9
| | | | | | | | | | | | | | Older versions of gcc do not believe that we've adequately declared our test functions. Include `clar_suite.h` conditionally for those old versions. Do not do this on newer compilers to avoid unnecessary recompilation of the entire suite when we add or remove a test function.
| * clar: emit `clar_suite.h` with test declarationsEdward Thomson2021-11-111-13/+62
|/ | | | | | | We may want to have test function declarations; produce a header file with (only) the test declarations. Update clar to avoid overwriting the file unnecessarily to avoid bumping timestamps and potentially recompiling unnecessarily.
* Merge pull request #6112 from libgit2/ethomson/cmake3Edward Thomson2021-11-1120-428/+422
|\ | | | | cmake refactorings
| * cmake: refactor zlib selectionethomson/cmake3Edward Thomson2021-11-112-33/+35
| | | | | | | | Move zlib selection into its own cmake module.
| * cmake: refactor WinHTTP selectionEdward Thomson2021-11-112-18/+18
| | | | | | | | Move WinHTTP selection into its own cmake module.
| * cmake: refactor libssh2 selectionEdward Thomson2021-11-112-26/+42
| | | | | | | | Move SSH selection into its own cmake module.
| * cmake: refactor regex selectionEdward Thomson2021-11-112-52/+52
| | | | | | | | Move regex selection into its own cmake module.
| * cmake: refactor http_parser selectionEdward Thomson2021-11-112-20/+21
| | | | | | | | Move http_parser selection into its own cmake module.
| * cmake: HTTP_Parser is now HTTPParserEdward Thomson2021-11-112-1/+1
| |
| * cmake: qsort detection in features.hEdward Thomson2021-11-113-20/+15
| |
| * cmake: move test enablement into test cmakeEdward Thomson2021-11-112-1/+2
| |
| * cmake: reorganize fileEdward Thomson2021-11-111-13/+5
| |
| * cmake: move fuzzer args to the fuzzer's cmakeEdward Thomson2021-11-112-15/+5
| |
| * cmake: move deprecation definition to src/Edward Thomson2021-11-112-4/+4
| | | | | | | | | | There's no need to add the deprecation at the top-level. Our tests add deprecation explicitly.
| * cmake: move cflag defaults into a separate moduleEdward Thomson2021-11-112-171/+171
| |
| * cmake: USE_SSH is not on by defaultEdward Thomson2021-11-113-21/+21
| |
| * cmake: standardize USE_WINHTTPEdward Thomson2021-11-113-4/+4
| | | | | | | | | | WinHTTP can now be disabled with `USE_WINHTTP=OFF` instead of `WINHTTP=OFF` to better support the other cmake semantics.
| * cmake: standardize USE_THREADS and USE_NSECEdward Thomson2021-11-116-36/+33
| | | | | | | | | | | | | | | | Threading can now be disabled with `USE_THREADS=OFF` instead of `THREADSAFE=OFF` to better support the other cmake semantics. Nanosecond support is the default _if_ we can detect it. This should be our default always - like threads - and people can opt out explicitly.
* | Merge pull request #6111 from libgit2/ethomson/str_freeEdward Thomson2021-11-111-7/+0
|\ \ | |/ |/| str: git_str_free is never a function
| * str: git_str_free is never a functionEdward Thomson2021-11-111-7/+0
|/
* Merge pull request #6104 from libgit2/ethomson/pathEdward Thomson2021-11-11123-3769/+4042
|\ | | | | path: refactor utility path functions
| * win32: include correct path headerethomson/pathEdward Thomson2021-11-094-4/+4
| |
| * fs_path: remove now-unused validation functionsEdward Thomson2021-11-092-68/+0
| |
| * fs_path: add length with suffix validationEdward Thomson2021-11-094-3/+30
| |
| * path: use new length validation functionsEdward Thomson2021-11-0910-20/+36
| |
| * path: length validation respecting core.longpathsEdward Thomson2021-11-093-18/+69
| | | | | | | | | | Teach `git_path_is_valid` to respect `core.longpaths`. Add helper methods to validate length and set the error message appropriately.
| * path: introduce `git_path_str_is_valid`Edward Thomson2021-11-095-18/+28
| | | | | | | | | | Add a `git_str` based validity check; the existing `git_path_is_valid` defers to it.
| * fs_path: add long path validation on windowsEdward Thomson2021-11-093-4/+37
| |
| * fs_path: make empty component validation optionalEdward Thomson2021-11-093-15/+38
| |
| * fs_path: introduce `str_is_valid`Edward Thomson2021-11-093-19/+81
| | | | | | | | | | | | | | | | | | | | Provide a mechanism for users to limit the number of characters that are examined; `git_fs_path_str_is_valid` and friends will only examine up to `str->size` bytes. `git_fs_path_is_valid` delegates to these new functions by passing `SIZE_MAX` (instead of doing a `strlen`), which is a sentinel value meaning "look for a NUL terminator".
| * path: `validate` -> `is_valid`Edward Thomson2021-11-098-77/+77
| | | | | | | | | | Since we're returning a boolean about validation, the name is more properly "is valid".
| * fs_path: `validate` -> `is_valid`Edward Thomson2021-11-094-139/+139
| | | | | | | | | | Since we're returning a boolean about validation, the name is more properly "is valid".