- 09 Oct, 2014 8 commits
-
-
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
-
- 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 14 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 -
Brendan Forster committed
-
- 29 Sep, 2014 4 commits
-
-
Stash ignored directories
Edward Thomson committed -
Pool/Index data is not aligned
Edward Thomson committed -
Correctly handle getaddrinfo return result
Edward Thomson committed -
global: free the error message when exiting a thread
Edward Thomson committed
-
- 26 Sep, 2014 7 commits
-
-
Jacques Germishuys committed
-
Jacques Germishuys committed
-
Jacques Germishuys committed
-
Jacques Germishuys committed
-
Jakub Čajka committed
-
Jakub Čajka committed
-
* Ensure alignment by copying the content into a structure on the stack
Jacques Germishuys committed
-
- 25 Sep, 2014 3 commits
-
-
Jacques Germishuys committed
-
Jacques Germishuys committed
-
Remove unused buf variable from path/core test.
Carlos Martín Nieto committed
-