- 10 Apr, 2023 1 commit
-
-
Edward Thomson committed
-
- 05 Sep, 2022 1 commit
-
-
Yuang Li committed
-
- 31 Aug, 2022 1 commit
-
-
Yuang Li committed
-
- 23 Feb, 2022 1 commit
-
-
Like we want to separate libgit2 and utility source code, we want to separate libgit2 and utility tests. Start by moving all the tests into libgit2.
Edward Thomson committed
-
- 11 Nov, 2021 1 commit
-
-
Edward Thomson committed
-
- 09 Nov, 2021 1 commit
-
-
Introduce `git_fs_path`, which operates on generic filesystem paths. `git_path` will be kept for only git-specific path functionality (for example, checking for `.git` in a path).
Edward Thomson committed
-
- 17 Oct, 2021 1 commit
-
-
libgit2 has two distinct requirements that were previously solved by `git_buf`. We require: 1. A general purpose string class that provides a number of utility APIs for manipulating data (eg, concatenating, truncating, etc). 2. A structure that we can use to return strings to callers that they can take ownership of. By using a single class (`git_buf`) for both of these purposes, we have confused the API to the point that refactorings are difficult and reasoning about correctness is also difficult. Move the utility class `git_buf` to be called `git_str`: this represents its general purpose, as an internal string buffer class. The name also is an homage to Junio Hamano ("gitstr"). The public API remains `git_buf`, and has a much smaller footprint. It is generally only used as an "out" param with strict requirements that follow the documentation. (Exceptions exist for some legacy APIs to avoid breaking callers unnecessarily.) Utility functions exist to convert a user-specified `git_buf` to a `git_str` so that we can call internal functions, then converting it back again.
Edward Thomson committed
-
- 26 Aug, 2021 2 commits
-
-
Alexander Ovchinnikov committed
-
This reverts commit 487f2a82, reversing changes made to c6cf7f0e.
Alexander Ovchinnikov committed
-
- 07 Jan, 2021 1 commit
-
-
When a branch is specified to check out in clone, update the remote tracking `HEAD` to point to it. This mimics git's behavior, when `git clone -b <name>` is used.
Edward Thomson committed
-
- 17 Oct, 2019 1 commit
-
-
Etienne Samson committed
-
- 20 Jul, 2019 1 commit
-
-
Our file utils functions all have a "futils" prefix, e.g. `git_futils_touch`. One would thus naturally guess that their definitions and implementation would live in files "futils.h" and "futils.c", respectively, but in fact they live in "fileops.h". Rename the files to match expectations.
Patrick Steinhardt committed
-
- 22 Feb, 2019 1 commit
-
-
Update internal usage of `git_transfer_progress` to `git_indexer_progreses`.
Edward Thomson committed
-
- 01 Dec, 2018 1 commit
-
-
Use the new object_type enumeration names within the codebase.
Edward Thomson committed
-
- 10 Jun, 2018 1 commit
-
-
Patrick Steinhardt committed
-
- 14 Sep, 2015 1 commit
-
-
Edward Thomson committed
-
- 13 May, 2015 1 commit
-
-
Having the setting be different from calling its actions was not a great idea and made for the sake of the wrong convenience. Instead of that, accept either fetch options, push options or the callbacks when dealing with the remote. The fetch options are currently only the callbacks, but more options will be moved from setters and getters on the remote to the options. This does mean passing the same struct along the different functions but the typical use-case will only call git_remote_fetch() or git_remote_push() and so won't notice much difference.
Carlos Martín Nieto committed
-
- 12 May, 2015 1 commit
-
-
We have a few tests checking each step, but we do not yet have a test which tests the documented workflow for creating a submodule, namely `setup_add` followed by cloning into it, followed by `add_finalize`. Add such a test to protect against regressions in this workflow.
Carlos Martín Nieto committed
-
- 17 Mar, 2015 1 commit
-
-
When there is a tag, we must make sure that we get all referenced objects from this tag as well. This failing test shows that e.g. when there is a tagged tree, we insert the top tree but do not descend, thus causing the clone to have broken links.
Carlos Martín Nieto committed
-
- 03 Mar, 2015 3 commits
-
-
This changes the get_entry() method to return a refcounted version of the config entry, which you have to free when you're done. This allows us to avoid freeing the memory in which the entry is stored on a refresh, which may happen at any time for a live config. For this reason, get_string() has been forbidden on live configs and a new function get_string_buf() has been added, which stores the string in a git_buf which the user then owns. The functions which parse the string value takea advantage of the borrowing to parse safely and then release the entry.
Carlos Martín Nieto committed -
We want to use the "checkout: moving from ..." message in order to let git know when a change of branch has happened. Make the convenience functions for this goal write this message.
Carlos Martín Nieto committed -
The signature for the reflog is not something which changes dynamically. Almost all uses will be NULL, since we want for the repository's default identity to be used, making it noise. In order to allow for changing the identity, we instead provide git_repository_set_ident() and git_repository_ident() which allow a user to override the choice of signature.
Carlos Martín Nieto committed
-
- 27 Feb, 2015 1 commit
-
-
Edward Thomson committed
-
- 08 Nov, 2014 1 commit
-
-
This brings it in line with the rest of the lookup functions.
Carlos Martín Nieto committed
-
- 02 Jul, 2014 1 commit
-
-
As git_clone now has callbacks to configure the details of the repository and remote, remove the lower-level functions from the public API, as they lack some of the logic from git_clone proper.
Carlos Martín Nieto committed
-
- 01 Jul, 2014 1 commit
-
-
Edward Thomson committed
-
- 27 Jun, 2014 1 commit
-
-
git_remote_set_transport now takes a transport factory rather than a transport git_clone_options now allows the caller to specify a remote creation callback
Philip Kelley committed
-
- 02 Apr, 2014 1 commit
-
-
Cloning from an empty repo must set master's upstream to origin's master, even if neither of them exist. Fetching from a non-empty origin must then mark the master branch for-merge. This currently fails.
Carlos Martín Nieto committed
-
- 06 Mar, 2014 1 commit
-
-
Ben Straub committed
-
- 30 Jan, 2014 3 commits
-
-
Ben Straub committed
-
Ben Straub committed
-
Ben Straub committed
-
- 11 Dec, 2013 1 commit
-
-
Clone callbacks can return non-zero values to cancel the clone. This adds some tests to verify that this actually works and updates the documentation to be clearer that this can happen and that the return value will be propagated back by the clone function.
Russell Belfer committed
-
- 14 Nov, 2013 1 commit
-
-
Ben Straub committed
-
- 31 Oct, 2013 3 commits
-
-
Ben Straub committed
-
Ben Straub committed
-
Ben Straub committed
-
- 03 Oct, 2013 2 commits
-
-
This simplifies git_path_is_empty_dir on both Windows (getting rid of git_buf allocation inside the function) and other platforms (by just using git_path_direach), and adds tests for the function, and uses the function to simplify some existing tests.
Russell Belfer committed -
This hooks up git_path_direach and git_path_dirload so that they will take a flag indicating if directory entry names should be tested and converted from decomposed unicode to precomposed form. This code will only come into play on the Apple platform and even then, only when certain types of filesystems are used. This involved adding a flag to these functions which involved changing a lot of places in the code. This was an opportunity to do a bit of code cleanup here and there, for example, getting rid of the git_futils_cleanupdir_r function in favor of a simple flag to git_futils_rmdir_r to not remove the top level entry. That ended up adding depth tracking during rmdir_r which led to a safety check for infinite directory recursion. Yay. This hasn't actually been tested on the Mac filesystems where the issue occurs. I still need to get test environment for that.
Russell Belfer committed
-
- 02 Oct, 2013 1 commit
-
-
There's no need for this to be a pointer to somewhere else.
Carlos Martín Nieto committed
-