- 09 Oct, 2014 13 commits
-
-
Implement git-describe
Carlos Martín Nieto committed -
Edward Thomson committed
-
Anurag Gupta (OSG) committed
-
config: Handle multiple spaces that follow a configuration value and precede a comment char
Edward Thomson committed -
Fix README.md
Edward Thomson committed -
Trivial fixups
Edward Thomson committed -
Carlos Martín Nieto committed
-
Introduce reference transactions
Edward Thomson committed -
Implement opportunistic ref updates
Edward Thomson committed -
This leaves space for future expansion to locking other resources without having to change the API for references.
Carlos Martín Nieto committed -
Add `git_merge_bases_many`
Carlos Martín Nieto committed -
Arthur Schreiber committed
-
Arthur Schreiber committed
-
- 06 Oct, 2014 1 commit
-
-
SeijiIto committed
-
- 04 Oct, 2014 2 commits
- 03 Oct, 2014 2 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
- 01 Oct, 2014 2 commits
-
-
hashsig: Export as a `sys` header
Vicent Marti committed -
Vicent Marti committed
-
- 30 Sep, 2014 20 commits
-
-
Since this isn't under sys/ we need to have it included in the main git2.h file. This fixes #2551.
Carlos Martín Nieto committed -
Erdur committed
-
Carlos Martín Nieto committed
-
Carlos Martín Nieto committed
-
The stash is implemented as the refs/stash reference and its reflog. In order to modify the reflog, we need avoid races by making sure we're the only ones allowed to modify the reflog. We achieve this via the transactions API. Locking the reference gives us exclusive write access, letting us modify and write it without races.
Carlos Martín Nieto committed -
A transaction allows you to lock multiple references and set up changes for them before applying the changes all at once (or as close as the backend supports). This can be used for replication purposes, or for making sure some operations run when the reference is locked and thus cannot be changed.
Carlos Martín Nieto committed -
This will be used by the transaction code.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
When a list of refspecs is passed to fetch (what git would consider refspec passed on the command-line), we not only need to perform the updates described in that refspec, but also update the remote-tracking branch of the fetched remote heads according to the remote's configured refspecs. These "fetches" are not however to be written to FETCH_HEAD as they would be duplicate data, and it's not what the user asked for.
Carlos Martín Nieto committed -
The configured/base fetch refspecs need to be taken into account in order to implement opportunistic remote-tracking branch updates. DWIM them and store them in the struct, but don't do anything with them yet.
Carlos Martín Nieto committed -
We can only DWIM when we've connected to the remote and have the list of the remote's references. Adding or setting the refspecs should not trigger an attempt to DWIM the refspecs as we typically cannot do it, and even if we did, we would not use them for the current fetch.
Carlos Martín Nieto committed -
This lets us test this bit as well as getting closer to what they were trying to do.
Carlos Martín Nieto committed -
With opportunistic ref updates, git has introduced the concept of having base refspecs *and* refspecs that are active for a particular fetch. Let's start by letting the user override the refspecs for download.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
The MinGW compiler does not like it when we declare a typedef twice.
Carlos Martín Nieto committed -
And implement the option init functions for this and the format options.
Carlos Martín Nieto committed -
This makes us be closer to git's tests, and lets us better describe what we expect from the output.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
When we describe the workdir, we perform a describe on HEAD and then check to see if the worktree is dirty. If it is and we have a suffix string, we append that to the buffer.
Carlos Martín Nieto committed -
Instead of printing out to the buffer inside the information-gathering phase, write the data to a intermediate result structure. This allows us to split the options into gathering options and formatting options, simplifying the gathering code.
Carlos Martín Nieto committed
-