- 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
-
- 09 Sep, 2021 1 commit
-
-
Make some syntax change to follow coding style.
punkymaniac committed
-
- 27 Nov, 2020 1 commit
-
-
Edward Thomson committed
-
- 22 Jan, 2019 1 commit
-
-
Move to the `git_error` name in the internal API for error-related functions.
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
-
- 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
-
- 30 Jun, 2017 1 commit
-
-
Andrey Davydov committed
-
- 29 Dec, 2016 1 commit
-
-
Error messages should be sentence fragments, and therefore: 1. Should not begin with a capital letter, 2. Should not conclude with punctuation, and 3. Should not end a sentence and begin a new one
Edward Thomson committed
-
- 26 Apr, 2016 1 commit
-
-
Differentiate between the ref_name used to create an annotated_commit (that can subsequently be used to look up the reference) and the description that we resolved this with (which _cannot_ be looked up). The description is used for things like reflogs (and may be a ref name, and ID something that we revparsed to get here), while the ref name must actually be a reference name, and is used for things like rebase to return to the initial branch.
Edward Thomson committed
-
- 09 Dec, 2015 1 commit
-
-
This keeps the state of the workdir the same as one from HEAD, removing a source of possible confusion when calculating the work that is to be done.
Carlos Martín Nieto committed
-
- 28 May, 2015 1 commit
-
-
When diffing against an index, return a new `GIT_DELTA_CONFLICTED` delta type for items that are conflicted. For a single file path, only one delta will be produced (despite the fact that there are multiple entries in the index). Index iterators now have the (optional) ability to return conflicts in the index. Prior to this change, they would be omitted, and callers (like diff) would omit conflicted index entries entirely.
Edward Thomson committed
-
- 20 Apr, 2015 1 commit
-
-
Edward Thomson committed
-
- 16 Mar, 2015 1 commit
-
-
We do not always want to put the id directly into the reflog, but we want to speicfy what a user typed. For this use-case we provide annotated version of a few functions which let the caller specify what user-friendly name was used when asking for the operation.
Carlos Martín Nieto committed
-
- 08 Mar, 2015 1 commit
-
-
Pierre-Olivier Latour committed
-
- 03 Mar, 2015 2 commits
-
-
This function is meant to simulate what git does in the reset command, so we should include the reflog message in that.
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 Oct, 2014 1 commit
-
-
Edward Thomson committed
-
- 03 Aug, 2014 1 commit
-
-
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth committed
-
- 21 Apr, 2014 1 commit
-
-
Russell Belfer committed
-
- 07 Mar, 2014 1 commit
-
-
Carlos Martín Nieto committed
-
- 06 Mar, 2014 1 commit
-
-
Ben Straub committed
-
- 03 Feb, 2014 1 commit
-
-
Ben Straub committed
-
- 25 Jan, 2014 2 commits
-
-
In the same vein as the previous commits in this series.
Carlos Martín Nieto committed -
This was not converted when we converted the rest, so do it now.
Carlos Martín Nieto committed
-
- 15 Jan, 2014 1 commit
-
-
Any well-behaved program should write a descriptive message to the reflog whenever it updates a reference. Let's make this more prominent by removing the version without the reflog parameters.
Carlos Martín Nieto committed
-
- 02 Dec, 2013 1 commit
-
-
Edward Thomson committed
-
- 16 Oct, 2013 1 commit
-
-
Edward Thomson committed
-
- 15 Oct, 2013 1 commit
-
-
This lays groundwork for separating formatting options from diff creation options. This groups the formatting flags separately from the diff list creation flags and reorders the options. This also tweaks some APIs to further separate code that uses patches from code that just looks at git_diffs.
Russell Belfer committed
-
- 11 Oct, 2013 1 commit
-
-
This makes no functional change to diff but renames a couple of the objects and splits the new git_patch (formerly git_diff_patch) into a new header file.
Russell Belfer committed
-
- 15 May, 2013 1 commit
-
-
nulltoken committed
-
- 07 Mar, 2013 1 commit
-
-
Edward Thomson committed
-
- 05 Feb, 2013 1 commit
-
-
nulltoken committed
-
- 08 Jan, 2013 1 commit
-
-
Edward Thomson committed
-
- 06 Jan, 2013 1 commit
-
-
nulltoken committed
-
- 04 Jan, 2013 3 commits
-
-
This corrects the order of operations in git reset so that the checkout to reset the working directory content is done before the HEAD is moved. This allows us to use the HEAD and the index content to know what files can / should safely be reset. Unfortunately, there are still some cases where the behavior of this revision differs from core git. Notable, a file which has been added to the index but is not present in the HEAD is considered to be tracked by core git (and thus removable by a reset command) whereas since this loads the target state into the index prior to resetting, it will consider such a file to be untracked and won't touch it. That is a larger fix that I'll defer to a future commit.
Russell Belfer committed -
nulltoken committed
-
Edward Thomson committed
-
- 03 Jan, 2013 1 commit
-
-
Edward Thomson committed
-
- 30 Nov, 2012 1 commit
-
-
Ben Straub committed
-