|
885b94aa
|
2015-05-28T15:26:13
|
|
Rename GIT_EMERGECONFLICT to GIT_ECONFLICT
We do not error on "merge conflicts"; on the contrary, merge conflicts
are a normal part of merging. We only error on "checkout conflicts",
where a change exists in the index or the working directory that would
otherwise be overwritten by performing the checkout.
This *may* happen during merge (after the production of the new index
that we're going to checkout) but it could happen during any checkout.
|
|
ff8d635a
|
2015-05-28T18:45:57
|
|
Merge pull request #3139 from ethomson/diff_conflicts
Include conflicts when diffing
|
|
2b922832
|
2015-05-28T16:09:17
|
|
Merge pull request #3127 from libgit2/cmn/remote-fixups
Tackle remote API issues from bindings
|
|
10549a2d
|
2015-05-19T18:26:04
|
|
Introduce `GIT_DIFF_FLAG_EXISTS`
Mark the `old_file` and `new_file` sides of a delta with a new bit,
`GIT_DIFF_FLAG_EXISTS`, that introduces that a particular side of
the delta exists in the diff.
This is useful for indicating whether a working directory item exists
or not, in the presence of a conflict. Diff users may have previously
used DELETED to determine this information.
|
|
9f545b9d
|
2015-05-19T11:23:59
|
|
introduce `git_index_entry_is_conflict`
It's not always obvious the mapping between stage level and
conflict-ness. More importantly, this can lead otherwise sane
people to write constructs like `if (!git_index_entry_stage(entry))`,
which (while technically correct) is unreadable.
Provide a nice method to help avoid such messy thinking.
|
|
7c948014
|
2015-05-14T14:00:29
|
|
diff/status: introduce conflicts
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.
|
|
ecd60a56
|
2015-05-14T11:52:48
|
|
conflicts: when adding conflicts, remove staged
When adding a conflict for some path, remove the staged entry.
Otherwise, an illegal index (with both stage 0 and high-stage
entries) would result.
|
|
ae5b9362
|
2015-05-17T15:11:45
|
|
remote: remove fetch parameter from create_anonymous
An anonymous remote is not configured and cannot therefore have
configured refspecs. Remove the parameter which adds this from the
constructor.
|
|
1396c381
|
2015-05-18T16:04:55
|
|
errors: add GIT_EEOF to indicate early EOF
This can be used by tools to show mesages about failing to communicate
with the server. The error message in this case will often contain the
server's error message, as far as it managed to send anything.
|
|
e3435673
|
2015-05-18T15:51:55
|
|
ssh: read from stderr if stdout is empty
When we fail to read from stdout, it's typically because the URL was
wrong and the server process has sent some output over its stderr
output.
Read that output and set the error message to whatever we read from it.
|
|
70f7484d
|
2015-05-14T09:35:08
|
|
remote: get rid of the run-time refspec setters
These were left over from the culling as it's not clear which use-cases
might benefit from this. It is not clear that we want to support any
use-case which depends on changing the remote's idea of the base
refspecs rather than passing in different per-operation refspec list, so
remove these functions.
|
|
9663d1bd
|
2015-05-14T08:29:50
|
|
Fix typos in the CHANGELOG
|
|
874cc35a
|
2015-05-14T15:24:15
|
|
index: add a CHANGELOG entry for the diff usage
|
|
98270f56
|
2015-05-14T08:26:02
|
|
Add CHANGELOG entry for index entry changes
|
|
b1ae3e53
|
2015-04-26T02:20:22
|
|
Update CHANGELOG with the changes to the remotes
|
|
1f1f5c63
|
2015-05-11T14:10:24
|
|
checkout: better document the `baseline_index` opt
|
|
15fdf054
|
2015-05-11T14:06:47
|
|
stash application: document new API in CHANGELOG
|
|
bf2ba529
|
2015-04-30T10:57:13
|
|
Update documentation for API changes
|
|
85247df0
|
2015-03-19T14:26:07
|
|
Update THREADING and CHANGELOG with SecureTransport details
|
|
aa9bb425
|
2015-04-20T17:22:39
|
|
rebase: correct documentation, CHANGELOG
|
|
f3a199dd
|
2015-03-17T15:53:04
|
|
rebase: init and open take a rebase_options
`git_rebase_init` and `git_rebase_open` should take a
`git_rebase_options` and use it for future rebase operations on
that `rebase` object.
|
|
eaf0d688
|
2015-03-17T17:53:07
|
|
rebase: block rebase_commit with unstaged changes
|
|
30640aa9
|
2015-03-17T10:04:08
|
|
rebase: identify a rebase that has not started
In `git_rebase_operation_current()`, indicate when a rebase has not
started (with `GIT_REBASE_NO_OPERATION`) rather than conflating that
with the first operation being in-progress.
|
|
95d1624b
|
2015-03-24T08:34:12
|
|
Merge pull request #2947 from libgit2/cmn/notes-buf
note: use a git_buf to return the default namespace
|
|
b8c50808
|
2015-03-20T10:18:12
|
|
fix changelog
|
|
89ba9f1a
|
2015-03-18T13:17:04
|
|
Merge pull request #2967 from jacquesg/merge-whitespace
Allow merges of files (and trees) with whitespace problems/fixes
|
|
385449b1
|
2015-03-04T01:23:20
|
|
note: use a git_buf to return the default namespace
The caller has otherwise no way to know how long the string will be
allocated or ability to free it.
This fixes #2944.
|
|
70b0f128
|
2015-03-17T16:34:36
|
|
Added changelog entries for whitespace and patience merges.
|
|
8acf058f
|
2015-03-07T12:09:41
|
|
CHANGELOG: add notes about the annotated ref-modifying functions
|
|
12e1fff7
|
2015-03-12T18:04:25
|
|
Merge pull request #2973 from libgit2/cmn/local-pack-threading
local: create pack with multiple threads
|
|
15f58174
|
2015-03-11T17:55:39
|
|
Merge commit 'refs/pull/2879/head' of ssh://github.com/libgit2/libgit2
|
|
0ef54a63
|
2015-03-11T17:16:39
|
|
local: create pack with multiple threads
The default behaviour for the packbuilder is to perform the work in a
single thread, which is fine for the public API, but we currently have
no way for a user to determine the number of threads to use when
creating the packfile, which makes our clone behaviour over the
filesystem quite a bit slower than what git offers.
This is a very particular scenario, in which we avoid spawning git by
being ourselves the server-side, so it's probably ok to auto-set the
threading, as the upload-pack process would do if we were talking to
git.
|
|
d578b45f
|
2015-03-08T16:46:33
|
|
refdb: use the same id for old and new when renaming a reference
When we rename a reference, we want the old and new ids to be the same
one (as we did not change it). The normal code path looks up the old id
from the current value of the brtanch, but by the time we look it up, it
does not exist anymore and thus we write a zero id.
Pass the old id explicitly instead.
|
|
9a97f49e
|
2014-12-21T15:31:03
|
|
config: borrow refcounted references
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.
|
|
41513659
|
2015-02-06T23:46:23
|
|
Update CHANGELOG with the reflog ident changes
|
|
659cf202
|
2015-01-07T12:23:05
|
|
Remove the signature from ref-modifying functions
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.
|
|
96b82b11
|
2015-02-14T11:44:05
|
|
checkout: remove `GIT_CHECKOUT_SAFE_CREATE` as a strategy
|
|
a275fbc0
|
2015-02-05T11:40:16
|
|
Add API to add a memory buffer to an index
git_index_add_frombuffer enables now to store a memory buffer in the odb
and to store an entry in the index directly if the index is attached to a
repository.
|
|
1ac5acdc
|
2015-01-26T11:28:59
|
|
Merge pull request #2819 from libgit2/cmn/config-get-path
config: add parsing and getter for paths
|
|
0161e096
|
2014-11-13T19:30:47
|
|
Make binary detection work similar to vanilla git
Main change: Don't treat chars > 128 as non-printable (common in UTF-8 files)
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
eac773d9
|
2015-01-14T15:05:43
|
|
config: add parsing and getter for paths
|
|
4d6f55ac
|
2015-01-14T10:26:26
|
|
CHANGELOG: include small file similarity detection
|
|
16bcf0c7
|
2015-01-13T19:29:00
|
|
Pre-fill the changelog with the subheadings
|
|
b91f28be
|
2015-01-10T00:49:20
|
|
Reformat the changelog
This should provide a easier way to see what kinds of changes we have,
and a single place to look at the breaking changes.
|
|
61cd037e
|
2015-01-06T17:18:57
|
|
CHANGELOG: we've added git_describe
|
|
974d21c8
|
2015-01-05T15:10:38
|
|
CHANGELOG: add missing 0.22 changes
|
|
c8b64f70
|
2015-01-05T20:20:08
|
|
Fix the version in CHANGELOG to 0.22
The release after 0.21 is 0.22. Add a new heading for the changes since
0.22.
|
|
0c601229
|
2015-01-05T20:10:43
|
|
Merge commit 'refs/pull/2632/head' of github.com:libgit2/libgit2
|
|
a3ef70bb
|
2014-12-30T11:53:55
|
|
Merge pull request #2761 from libgit2/cmn/fetch-prune
Remote-tracking branch prunning
|
|
c4c47fc2
|
2014-12-30T11:53:45
|
|
Merge pull request #2762 from libgit2/cmn/hide-push
remote: remove git_push from the public API
|
|
8aba3d47
|
2014-12-30T17:06:04
|
|
Update CHANGELOG for pruning
|
|
fe794b2e
|
2014-12-16T08:57:05
|
|
remote: remove git_push from the public API
Instead we provide git_remote_upload() and git_remote_update_tips() in
order to have a parallel API for fetching and pushing.
|
|
208a2c8a
|
2014-12-27T12:09:11
|
|
treebuilder: rename _create() to _new()
This function is a constructor, so let's name it like one and leave
_create() for the reference functions, which do create/write the
reference.
|
|
aad27e6e
|
2014-12-27T11:56:00
|
|
Add a few missing CHANGELOG entries
|
|
40d79154
|
2014-05-09T19:32:52
|
|
Always checkout with case sensitive iterator
On a case-insensitive filesystem, we need to deal with case-changing
renames (eg, foo -> FOO) by removing the old and adding the new,
exactly as if we were on a case-sensitive filesystem.
Update the `checkout::tree::can_cancel_checkout_from_notify` test, now
that notifications are always sent case sensitively.
|
|
9d1f97df
|
2014-10-29T17:49:04
|
|
Introduce a convenience function for submodule update
This introduces the functionality of submodule update in
'git_submodule_do_update'. The existing 'git_submodule_update' function is
renamed to 'git_submodule_update_strategy'. The 'git_submodule_update'
function now refers to functionality similar to `git submodule update`,
while `git_submodule_update_strategy` is used to get the configured value
of submodule.<name>.update.
|
|
d147900e
|
2014-12-20T21:24:45
|
|
Merge pull request #2759 from libgit2/cmn/openssl-sys
Make OpenSSL locking warnings more severe
|
|
dce7b1a4
|
2014-12-16T19:24:04
|
|
treebuilder: take a repository for path validation
Path validation may be influenced by `core.protectHFS` and
`core.protectNTFS` configuration settings, thus treebuilders
can take a repository to influence their configuration.
|
|
5192bcc5
|
2014-12-12T08:30:37
|
|
Add the OpenSSL changes to the CHANGELOG
It seems these were forgotten when initially splitting this up.
|
|
d524b2d3
|
2014-12-10T17:23:33
|
|
push: fold unpack_ok() into finish()
The push cannot be successful if we sent a bad packfile. We should
return an error in that case instead of storing it elsewhere.
|
|
21083a71
|
2014-12-06T03:12:04
|
|
notes: move the notes name argument
Make it consistent between git_note_create() and git_note_remote() by
putting it after the repository.
|
|
6d91dc53
|
2014-12-03T15:28:44
|
|
init: return the number of initializations
|
|
799e22ea
|
2014-10-23T17:34:41
|
|
Rename git_threads_ to git_libgit2_
This describes their purpose better, as we now initialize ssl and some
other global stuff in there. Calling the init function is not something
which has been optional for a while now.
|
|
e284c451
|
2014-10-28T22:18:38
|
|
Changed GIT_REMOTE_DOWNLOAD_TAGS_ALL to behave like git 1.9.0
|
|
bc8c4a8a
|
2014-11-08T16:55:23
|
|
Merge pull request #2695 from libgit2/cmn/remote-lookup
remote: rename _load() to _lookup()
|
|
209425ce
|
2014-11-08T13:25:51
|
|
remote: rename _load() to _lookup()
This brings it in line with the rest of the lookup functions.
|
|
68182085
|
2014-11-07T20:32:50
|
|
git_status_file now takes an exact path
This function has one output but can match multiple files, which can be
unexpected for the user, which would usually path the exact path of the
file he wants the status of.
|
|
d88766c4
|
2014-10-26T10:40:46
|
|
Changed context_lines and interhunk_lines to uint32_t to match struct s_xdemitconf
|
|
79b0ae4e
|
2014-10-27T10:30:57
|
|
Flip THREADSAFE's default to ON
Threads are here to stay; and for a while now, users have had to call
the initialization function which sets up threads and crypto regardless
of whether the library was built threadsafe or not.
|
|
67917281
|
2014-10-26T22:37:01
|
|
rebase: add information to the CHANGELOG
|
|
725cd5f2
|
2014-10-24T16:44:07
|
|
Merge pull request #2646 from libgit2/cmn/remote-rename
remote: accept a repo and name for renaming
|
|
46c8f7f8
|
2014-10-24T16:25:59
|
|
remote: accept a repo and name for renaming
Remote objects are not meant to be changed from under the user. We did
this in rename, but only the name and left the refspecs, such that a
save would save the wrong refspecs (and a fetch and anything else would
use the wrong refspecs).
Instead, let's simply take a name and not change any loaded remote from
under the user.
|
|
0862f617
|
2014-10-24T12:19:13
|
|
remote: delete git_remote_supported_url()
This function does not in fact tell us anything, as almost anything with
a colon in it is a valid rsync-style SSH path; it can not tell us that
we do not support ftp or afp or similar as those are still valid SSH
paths and we do support that.
|
|
1b63af51
|
2014-09-29T09:21:57
|
|
Update CHANGELOG and PROJECTS with the tree cache changes
|
|
a6ed1fcb
|
2014-10-10T12:21:28
|
|
Merge pull request #2593 from libgit2/cmn/remote-delete-name
remote: accept a repository and remote name for deletion
|
|
a60d0f11
|
2014-10-10T17:46:53
|
|
Merge pull request #2600 from libgit2/cmn/embed-ssh
Provide option to embed libssh2
|
|
10cf4b26
|
2014-10-09T10:49:37
|
|
Merge pull request #2448 from libgit2/cmn/reference-transaction
Introduce reference transactions
|
|
8be28acf
|
2014-10-09T10:41:38
|
|
Merge pull request #2462 from libgit2/cmn/remote-fetch-refs
Implement opportunistic ref updates
|
|
eca07bcd
|
2014-10-09T13:58:23
|
|
Add git_merge_bases_many.
|
|
3753110a
|
2014-06-17T15:37:21
|
|
Provide option to embed libssh2
|
|
262eec23
|
2014-09-30T16:07:30
|
|
remote: accept a repository and remote name for deletion
We don't need the remote loaded, and the function extracted both of
these from the git_remote in order to do its work, so let's remote a
step and not ask for the loaded remote at all.
This fixes #2390.
|
|
274c3fa6
|
2014-07-27T17:22:32
|
|
Add changelog for transactions
|
|
c5837cad
|
2014-07-04T09:03:33
|
|
remote: implement opportunistic remote-tracking branch updates
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.
|
|
2cd3cb8e
|
2014-09-24T10:22:03
|
|
Add a note about cert check in the CHANGELOG
|
|
46a13f32
|
2014-08-29T18:19:56
|
|
Merge pull request #2481 from libgit2/cmn/oidarray
merge: expose multiple merge bases
|
|
7449c82e
|
2014-08-27T15:10:43
|
|
Add ssh retry changes to CHANGELOG
|
|
c180c065
|
2014-07-09T17:58:39
|
|
Custom transport: minor cleanups
* 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://").
|
|
7db0e6ee
|
2014-07-18T16:00:21
|
|
merge: expose multiple merge bases
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.
|
|
44cfb6f3
|
2014-07-11T16:49:23
|
|
Merge pull request #2463 from libgit2/cmn/ssh-factory-for-paths
ssh: provide a factory function for setting ssh paths
|
|
d4256ed5
|
2014-07-04T10:00:39
|
|
ssh: provide a factory function for setting ssh paths
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.
|
|
9fef46de
|
2014-07-04T17:33:35
|
|
Add a CHANGELOG entry for refspecs with asterisk in the middle
|
|
6812afaf
|
2014-06-30T21:36:38
|
|
clone: remote git_clone_into{,_local} from the public API
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.
|
|
d58a64e9
|
2014-06-30T20:55:32
|
|
clone: add a callback for repository creation
Analogously to the remote creation callback, provide a way for the user
of git_clone() to create the repository with whichever options they
desire via callback.
|
|
1697cd6f
|
2014-06-25T13:20:27
|
|
Improvements to git_transport extensibility
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
|
|
d412165f
|
2014-06-18T16:54:32
|
|
Update text=auto / core.autocrlf=false behavior
Git for Windows 1.9.4 changed the behavior when the text=auto
attribute is specified and core.autocrlf=false. Previous observed
behavior would *not* filter files when going into the working
directory, the new behavior *does* filter. Update our behavior to match.
|
|
e1fc03c9
|
2014-06-24T17:56:27
|
|
Add CHANGELOG entry for mixed-EOL fix
|
|
29fe897d
|
2014-06-24T17:52:52
|
|
Add CHANGELOG entry for treebuilder map
|
|
130cb548
|
2014-06-24T17:37:41
|
|
Add CHANGELOG entry for shared packs
|
|
d30447cb
|
2014-06-23T18:02:59
|
|
Add a CHANGELOG entry for the filebuf change
|