summaryrefslogtreecommitdiff
path: root/include/git2
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | transaction: rename lock() to lock_ref()cmn/reference-transactionCarlos Martín Nieto2014-10-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This leaves space for future expansion to locking other resources without having to change the API for references.
| * | | | | transaction: add documentationCarlos Martín Nieto2014-09-301-2/+88
| | | | | |
| * | | | | Introduce reference transactionsCarlos Martín Nieto2014-09-303-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | reflog: constify byindexCarlos Martín Nieto2014-09-301-1/+1
| | |/ / / | |/| | |
* | | | | Merge pull request #2462 from libgit2/cmn/remote-fetch-refsEdward Thomson2014-10-091-1/+7
|\ \ \ \ \ | | | | | | | | | | | | Implement opportunistic ref updates
| * | | | | remote: allow overriding the refspecs for download and fetchCarlos Martín Nieto2014-09-301-1/+7
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Add git_merge_bases_many.Arthur Schreiber2014-10-091-0/+15
| | | | |
* | | | | hashsig: Export as a `sys` headervmg/hashsigVicent Marti2014-10-011-0/+76
|/ / / /
* | | | Merge pull request #2464 from libgit2/cmn/host-cert-infoVicent Marti2014-09-175-11/+109
|\ \ \ \ | | | | | | | | | | Provide a callback for certificate validation
| * | | | ssh: expose both hashesCarlos Martín Nieto2014-09-161-9/+16
| | | | | | | | | | | | | | | | | | | | | | | | | The user may have the data hashed as MD5 or SHA-1, so we should provide both types for consumption.
| * | | | ssh: provide our own types for host key lengthsCarlos Martín Nieto2014-09-161-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | Instead of using the libssh2 defines, provide our own, which eases usage as we do not need to check whether libgit2 was built with libssh2 or not.
| * | | | net: use only structs to pass information about certCarlos Martín Nieto2014-09-162-3/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of spreading the data in function arguments, some of which aren't used for ssh and having a struct only for ssh, use a struct for both, using a common parent to pass to the callback.
| * | | | Merge remote-tracking branch 'upstream/master' into cmn/host-cert-infoCarlos Martín Nieto2014-09-165-8/+82
| |\ \ \ \ | | | |_|/ | | |/| |
| * | | | net: remove support for outright ignoring certificatesCarlos Martín Nieto2014-09-162-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This option make it easy to ignore anything about the server we're connecting to, which is bad security practice. This was necessary as we didn't use to expose detailed information about the certificate, but now that we do, we should get rid of this. If the user wants to ignore everything, they can still provide a callback which ignores all the information passed.
| * | | | transport: move the cert type enum to types.hCarlos Martín Nieto2014-09-162-17/+16
| | | | | | | | | | | | | | | | | | | | This should make the mingw compiler happy.
| * | | | transport: always call the certificate check callbackCarlos Martín Nieto2014-09-161-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should let the user decide whether to cancel the connection or not regardless of whether our checks have decided that the certificate is fine. We provide our own assessment to the callback to let the user fall back to our checks if they so desire.
| * | | | http: send the DER-encoded cert to the callbackCarlos Martín Nieto2014-09-162-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of the parsed data, we can ask OpenSSL to give us the DER-encoded version of the certificate, which the user can then parse and validate.
| * | | | Provide a callback for certificate validationCarlos Martín Nieto2014-09-165-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the certificate validation fails (or always in the case of ssh), let the user decide whether to allow the connection. The data structure passed to the user is the native certificate information from the underlying implementation, namely OpenSSL or WinHTTP.
* | | | | Fix attribute lookup in index for bare reposrb/attr-with-bareRussell Belfer2014-09-151-0/+13
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using a bare repo with an index, libgit2 attempts to read files from the index. It caches those files based on the path to the file, specifically the path to the directory that contains the file. If there is no working directory, we use `git_path_dirname_r` to get the path to the containing directory. However, for the `.gitattributes` file in the root of the repository, this ends up normalizing the containing path to `"."` instead of the empty string and the lookup the `.gitattributes` data fails. This adds a test of attribute lookups on bare repos and also fixes the problem by simply rewriting `"."` to be `""`.
* | | | Merge pull request #2543 from libgit2/cmn/known-transportsVicent Marti2014-09-031-8/+5
|\ \ \ \ | | | | | | | | | | Clean up transport lookup
| * | | | remote: get rid of git_remote_valid_url()Carlos Martín Nieto2014-08-311-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It does the same as git_remote_supported_url() but has a name which implies we'd check the URL for correctness while we're simply looking at the scheme and looking it up in our lists. While here, fix up the tests so we check all the combination of what's supported.
* | | | | Introduce option to use relative paths for repository work directoryjamill/relative_gitlinkJameson Miller2014-09-022-0/+21
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | Teach git_repository_init_ext to use relative paths for the gitlink to the work directory. This is used when creating a sub repository where the sub repository resides in the parent repository's .git directory.
* | | | Merge pull request #2481 from libgit2/cmn/oidarrayVicent Marti2014-08-292-0/+56
|\ \ \ \ | |/ / / |/| | | merge: expose multiple merge bases
| * | | merge: expose multiple merge basescmn/oidarrayCarlos Martín Nieto2014-07-272-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We always calculate multiple merge bases, but up to now we had only exposed the "best" merge base. Introduce git_oidarray which analogously to git_strarray lets us return multiple ids.
* | | | Merge remote-tracking branch 'upstream/master' into cmn/ssh-retryCarlos Martín Nieto2014-08-2716-480/+560
|\ \ \ \
| * \ \ \ Merge pull request #2528 from libgit2/vmg/tostr_sVicent Marti2014-08-181-4/+8
| |\ \ \ \ | | | | | | | | | | | | Export `git_oid_tostr_s` instead of `_allocfmt`
| | * | | | oid: Export `git_oid_tostr_s` instead of `_allocfmt`vmg/tostr_sVicent Marti2014-08-181-4/+8
| | | |_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | The old `allocfmt` is of no use to callers, as they are not able to free the returned buffer. Export a new API that returns a static string that doesn't need to be freed.
| * | | | Custom transport: minor cleanupsEdward Thomson2014-08-144-348/+364
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Move the transport registration mechanisms into a new header under 'sys/' because this is advanced stuff. * Remove the 'priority' argument from the registration as it adds unnecessary complexity. (Since transports cannot decline to operate, only the highest priority transport is ever executed.) Users who require per-priority transports can implement that in their custom transport themselves. * Simplify registration further by taking a scheme (eg "http") instead of a prefix (eg "http://").
| * | | Merge pull request #2484 from libgit2/fix-git-status-list-new-unreadable-folderVicent Marti2014-07-233-20/+30
| |\ \ \ | | | | | | | | | | Fix git status list new unreadable folder
| | * \ \ Merge remote-tracking branch 'origin/master' into ↵Alan Rogers2014-07-229-115/+165
| | |\ \ \ | | | |/ / | | | | | | | | | | fix-git-status-list-new-unreadable-folder
| | * | | Move the UNREADABLE enums to the correct group.Alan Rogers2014-07-221-6/+6
| | | | |
| | * | | Merge remote-tracking branch 'origin/development' into ↵Alan Rogers2014-07-104-28/+72
| | |\ \ \ | | | | | | | | | | | | | | | | | | fix-git-status-list-new-unreadable-folder
| | * | | | Whitespace wibbles.Alan Rogers2014-06-042-6/+7
| | | | | |
| | * | | | Merge remote-tracking branch 'origin/development' into ↵Alan Rogers2014-06-0420-125/+221
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix-git-status-list-new-unreadable-folder Conflicts: include/git2/diff.h
| | * | | | | GIT_DIFF_INCLUDE_UNREADABLE_AS_UNTRACKEDAlan Rogers2014-06-031-1/+4
| | | | | | |
| | * | | | | Add GIT_STATUS_OPT_INCLUDE_UNREADABLE_AS_UNTRACKEDAlan Rogers2014-06-031-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | and a (failing) test for it.
| | * | | | | Add GIT_STATUS_OPT_INCLUDE_UNREADABLEAlan Rogers2014-05-301-0/+1
| | | | | | |
| | * | | | | Remove GIT_FILEMODE_NEW as it's unused.Alan Rogers2014-05-301-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | And use 0 for GIT_FILEMODE_UNREADABLE.
| | * | | | | Try a value for UNREADABLE that won't get masked out?!Alan Rogers2014-05-231-1/+1
| | | | | | |
| | * | | | | Return GIT_FILEMODE_UNREADABLE for files that fail to stat.Alan Rogers2014-05-212-1/+1
| | | | | | |
| | * | | | | Start adding GIT_DELTA_UNREADABLE and GIT_STATUS_WT_UNREADABLE.Alan Rogers2014-05-202-0/+5
| | | | | | |
| | * | | | | Rename GIT_ENOACCESS -> GIT_EUNREADABLEAlan Rogers2014-05-201-1/+1
| | | | | | |
| | * | | | | Return a specific error for EACCES.Alan Rogers2014-05-151-0/+1
| | | | | | |
| * | | | | | git_cherry_pick -> git_cherrypickEdward Thomson2014-07-222-16/+16
| | |_|_|/ / | |/| | | |
| * | | | | Just put it all in buffer.joshaber2014-07-162-42/+16
| | | | | |
| * | | | | Export git_buf_text_is_binary and git_buf_text_contains_nul.expose-buffer-binary-detectionjoshaber2014-07-151-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | So that users don’t need to implement binary detection themselves.
| * | | | | Merge pull request #2463 from libgit2/cmn/ssh-factory-for-pathsVicent Marti2014-07-111-0/+16
| |\ \ \ \ \ | | | | | | | | | | | | | | ssh: provide a factory function for setting ssh paths
| | * | | | | ssh: provide a factory function for setting ssh pathscmn/ssh-factory-for-pathsCarlos Martín Nieto2014-07-071-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git allows you to set which paths to use for the git server programs when connecting over ssh; and we want to provide something similar. We do this by providing a factory function which can be set as the remote's transport callback which will set the given paths upon creation.
| * | | | | | checkout: fix docs formatting for the optionsCarlos Martín Nieto2014-07-111-12/+12
| | | | | | |
| * | | | | | Documentation fixesCarlos Martín Nieto2014-07-082-13/+20
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixup git_attr_value's comment to be recognised as documentation, and include the definitions needed for clang to parse reset.h such that it shows up in the documentation. This fixes #2430.