|
217c029b
|
2014-04-09T14:08:22
|
|
commit: safer commit creation with reference update
The current version of the commit creation and amend function are unsafe
to use when passing the update_ref parameter, as they do not check that
the reference at the moment of update points to what the user expects.
Make sure that we're moving history forward when we ask the library to
update the reference for us by checking that the first parent of the new
commit is the current value of the reference. We also make sure that the
ref we're updating hasn't moved between the read and the write.
Similarly, when amending a commit, make sure that the current tip of the
branch is the commit we're amending.
|
|
8443ed6c
|
2014-04-25T02:10:19
|
|
Merge pull request #2284 from jacquesg/push-progress-callback
Fire progress and update tips callbacks also for pushes.
|
|
6b833e3a
|
2014-04-24T15:40:50
|
|
Improve docs for status rename detection limits
and make tests empty on platforms without iconv support.
|
|
212b6205
|
2014-04-23T09:27:15
|
|
Merge pull request #2291 from ethomson/patch_binary
patch: emit deflated binary patches (optionally)
|
|
e349ed50
|
2014-04-22T14:58:33
|
|
patch: emit binary patches (optionally)
|
|
8d09efa2
|
2014-04-22T12:33:27
|
|
Use git_diff_get_stats in example/diff + refactor
This takes the `--stat` and related example options in the example
diff.c program and converts them to use the `git_diff_get_stats`
API which nicely formats stats for you.
I went to add bar-graph scaling to the stats formatter and noticed
that the `git_diff_stats` structure was holding on to all of the
`git_patch` objects. Unfortunately, each of these objects keeps
the full text of the diff in memory, so this is very expensive. I
ended up modifying `git_diff_stats` to keep just the data that it
needs to keep and allowed it to release the patches. Then, I added
width scaling to the output on top of that.
In making the diff example program match 'git diff' output, I ended
up removing an newline from the sumamry output which I then had to
compensate for in the email formatting to match the expectations.
Lastly, I went through and refactored the tests to use a couple of
helper functions and reduce the overall amount of code there.
|
|
12e422a0
|
2014-04-21T16:08:05
|
|
Some doc and examples/diff.c changes
I was playing with "git diff-index" and wanted to be able to
emulate that behavior a little more closely with the diff example.
Also, I wanted to play with running `git_diff_tree_to_workdir`
directly even though core Git doesn't exactly have the equivalent,
so I added a command line option for that and tweaked some other
things in the example code.
This changes a minor output thing in that the "raw" print helper
function will no longer add ellipses (...) if the OID is not
actually abbreviated.
|
|
bc0a6198
|
2014-04-19T15:52:58
|
|
transports: allow the creds callback to say it doesn't exist
Allow the credentials callback to return GIT_PASSTHROUGH to make the
transports code behave as though none was set.
This should make it easier for bindings to behave closer to the C code
when there is no credentials callback set at their level.
|
|
2efd7df6
|
2014-04-19T15:34:12
|
|
remote: provide read access to the callback structure
This should make it easier for bindings to dynamically override their
own callbacks.
|
|
48e60ae7
|
2014-04-21T11:23:29
|
|
Don't redefine the same callback types, their signatures may change
|
|
98020d3a
|
2014-04-21T10:55:37
|
|
Rename progress callback to sideband_progress
|
|
4f62163e
|
2014-04-20T22:06:05
|
|
Check the return codes of remote callbacks.
The user may have requested that the operation be cancelled.
|
|
9effa2fb
|
2014-04-20T19:19:13
|
|
Fire progress callbacks also for pushes.
It's not very useful to only know that a pre-receive hook has declined
a push, you probably want to know why.
|
|
043112dc
|
2014-04-18T17:57:39
|
|
Replace void * with proper callback types
|
|
8ec0a552
|
2014-04-18T00:49:07
|
|
Make git_cred_ssh_custom_new() naming more consistent
|
|
478408c0
|
2014-04-17T23:03:44
|
|
Introduce git_cred_ssh_interactive_new()
This allows for keyboard-interactive based SSH authentication
|
|
aba6b5ed
|
2014-03-14T21:59:26
|
|
Fix leak in git_index_conflict_cleanup
I introduced a leak into conflict cleanup by removing items from
inside the git_vector_remove_matching call. This simplifies the
code to just use one common way for the two conflict cleanup APIs.
When an index has an active snapshot, removing an item can cause
an error (inserting into the deferred deletion vector), so I made
the git_index_conflict_cleanup API return an error code. I felt
like this wasn't so bad since it is just like the other APIs.
I fixed up a couple of comments while I was changing the header.
|
|
27e54bcf
|
2014-02-07T14:17:19
|
|
Add public diff print helpers
The usefulness of these helpers came up for me while debugging
some of the iterator changes that I was making, so since they
have also been requested (albeit indirectly) I thought I'd include
them.
|
|
3dbee456
|
2014-02-07T14:10:35
|
|
Some index internals refactoring
Again, laying groundwork for some index iterator changes, this
contains a bunch of code refactorings for index internals that
should make it easier down the line to add locking around index
modifications. Also this removes the redundant prefix_position
function and fixes some potential memory leaks.
|
|
c5cacc4e
|
2014-04-16T19:09:35
|
|
Merge pull request #2261 from jacquesg/format-patch
Support for format-patch
|
|
fa13ee2d
|
2014-04-16T16:59:43
|
|
Add GIT_BRANCH_ALL to git_branch_t enum
git_branch_t is an enum so requesting GIT_BRANCH_LOCAL | GIT_BRANCH_REMOTE is not possible as it is not a member of the enum (at least VS2013 C++ complains about it).
This fixes a regression introduced in commit a667ca8298193b3103c1dbdcb1f6c527e6e99eb2 (PR #1946).
Signed-off-by: Sven Strickroth <email@cs-ware.de>
|
|
d8cc1fb6
|
2014-04-11T19:15:15
|
|
Introduce git_diff_format_email and git_diff_commit_as_email
|
|
360314c9
|
2014-04-11T19:03:29
|
|
Introduce git_diff_get_stats, git_diff_stats_files_changed, git_diff_stats_insertions, git_diff_stats_deletions and git_diff_stats_to_buf
|
|
4d7b9939
|
2014-04-01T22:18:19
|
|
Added cherry-pick support
|
|
7a28f268
|
2014-04-10T12:44:51
|
|
Fix const-correctness of git_patch_get_delta, git_patch_num_hunks, git_patch_num_lines_in_hunk
|
|
3b4ba278
|
2014-04-03T15:50:21
|
|
Const correctness!
|
|
ddc66e27
|
2014-04-02T08:02:43
|
|
Give the correct name for the function in the doc.
Per @carlosmn, git_index_add is now named git_index_add_bypath.
|
|
bb439de0
|
2014-04-01T16:37:19
|
|
Correct a stale reference to GIT_EBAREINDEX
|
|
2450d4c6
|
2014-04-01T09:33:18
|
|
Merge pull request #2208 from libgit2/vmg/mempack
In-memory packing backend
|
|
9325460a
|
2014-04-01T13:47:44
|
|
Merge pull request #2206 from libgit2/cmn/inmemory-swap-order
Rename in-memory remote to anonymous and swap url and fetch order
|
|
fd536d29
|
2014-03-26T11:15:57
|
|
remote: rename inmemory to anonymous and swap url and fetch order
The order in this function is the opposite to what
create_with_fetchspec() has, so change this one, as url-then-refspec is
what git does.
As we need to break compilation and the swap doesn't do that, let's take
this opportunity to rename in-memory remotes to anonymous as that's
really what sets them apart.
|
|
7f930ded
|
2014-03-31T09:38:06
|
|
Const up members of git_merge_file_result
|
|
976634c4
|
2014-03-30T19:56:18
|
|
Introduce git_merge_head_id
|
|
22df47cb
|
2014-03-26T14:38:26
|
|
Fix segfault if gitmodules is invalid
The reload_all call could end up dereferencing a NULL pointer if
there was an error while attempting to load the submodules config
data (i.e. invalid content in the gitmodules file). This fixes it.
|
|
dc7efa1a
|
2014-03-26T18:29:34
|
|
Merge pull request #2204 from libgit2/rb/submodule-reference-counting
Make submodules externally refcounted
|
|
6105d597
|
2014-03-26T18:17:08
|
|
In-memory packing backend
|
|
451aaf86
|
2014-03-25T10:33:18
|
|
Merge pull request #2181 from anuraggup/hide_cb
Callback function to hide commit and its parents in revision walker
|
|
a15c7802
|
2014-03-25T09:14:48
|
|
Make submodules externally refcounted
`git_submodule` objects were already refcounted internally in case
the submodule name was different from the path at which it was
stored. This makes that refcounting externally used as well, so
`git_submodule_lookup` and `git_submodule_add_setup` return an
object that requires a `git_submodule_free` when done.
|
|
892b7c9f
|
2014-03-11T12:13:29
|
|
Correcting format of comments in header file
|
|
3a666071
|
2014-03-10T15:38:01
|
|
Unit Tests for hide_cb in revwalk
|
|
892aa808
|
2014-03-10T12:00:33
|
|
Callback to hide commits in revision walker.
|
|
85a41fc4
|
2014-03-24T18:09:13
|
|
Merge pull request #2183 from ethomson/merge_refactor
Refactor the `git_merge` API
|
|
6057c4a0
|
2014-03-23T15:48:13
|
|
opts: bits are not bytes
The default cache size is 256 megabytes, not megabits as claimed in the
docs.
|
|
42dee8ec
|
2014-03-23T13:34:33
|
|
settings: use git_buf for returning strings
This survived the last round of culling, as the signature is only in the
comments.
|
|
58c2b1c4
|
2014-03-20T09:35:22
|
|
UNBORN implies FAST_FORWARD
|
|
ac584fcf
|
2014-03-18T16:04:51
|
|
Introduce GIT_MERGE_ANALYSIS_UNBORN
|
|
97f3462a
|
2014-03-18T13:14:09
|
|
git_merge_status -> git_merge_analysis
|
|
d9fdee6e
|
2014-03-12T09:43:53
|
|
Remove `git_merge_result` as it's now unnecessary
|
|
5aa2ac6d
|
2014-03-11T22:47:39
|
|
Update git_merge_tree_opts to git_merge_options
|
|
02105a27
|
2014-03-11T18:40:38
|
|
Change signature of `git_merge` to take merge and checkout opts
|
|
1c0b6a38
|
2014-03-11T17:58:10
|
|
Remove fastforward / uptodate from `git_merge`
|
|
ccb30827
|
2014-03-11T17:19:35
|
|
Add `git_merge_status` to provide info about an upcoming merge
|
|
05d47768
|
2014-03-10T22:30:41
|
|
Introduce git_merge_file for consumers
|
|
5dd7d243
|
2014-03-18T16:23:51
|
|
Merge pull request #2189 from Aimeast/octopus
Implement git_merge_base_octopus
|
|
0aee025b
|
2014-03-18T22:31:14
|
|
Implement git_merge_base_octopus
|
|
dd4c6962
|
2014-03-18T15:25:43
|
|
Merge pull request #2192 from phkelley/development
Seamless support for NTLM/Kerberos auth on Windows
|
|
1392418e
|
2014-03-18T09:04:33
|
|
Seamless support for NTLM/Kerberos auth on Windows
|
|
853b1407
|
2014-03-17T16:10:33
|
|
branch: constness fixes
|
|
2b40390f
|
2014-03-13T15:54:53
|
|
refs: fix copy-paste doc error
|
|
52fba18f
|
2014-03-10T18:16:10
|
|
Add git_submodule_resolve_url()
|
|
041cd4a2
|
2014-03-07T19:02:58
|
|
Merge pull request #2028 from libgit2/options-names
Rename options structures
|
|
5a6de908
|
2014-03-07T09:13:43
|
|
Merge pull request #2153 from mekishizufu/tag_example
Add a tag example
|
|
aa17c3c6
|
2014-01-03T17:42:09
|
|
git_revert_opts -> git_revert_options
|
|
6affd71f
|
2014-01-03T17:38:34
|
|
git_checkout_opts -> git_checkout_options
|
|
2ab6d2cd
|
2014-03-06T16:08:17
|
|
Revert pull request #1997
|
|
4d116c34
|
2014-03-06T16:08:12
|
|
Merge pull request #1997 from mgbowen/merge-options-init-fix
Fix GIT_MERGE_OPTS_INIT on MSVC.
|
|
b9f81997
|
2014-03-05T21:49:23
|
|
Added function-based initializers for every options struct.
The basic structure of each function is courtesy of arrbee.
|
|
4ae4a9bb
|
2014-03-03T23:36:34
|
|
Fix typo
|
|
13f7ecd7
|
2014-03-04T16:23:28
|
|
Add git_object_short_id API to get short id string
This finds a short id string that will unambiguously select the
given object, starting with the core.abbrev length (usually 7)
and growing until it is no longer ambiguous.
|
|
f5753999
|
2014-03-04T15:34:23
|
|
Add exists_prefix to ODB backend and ODB API
|
|
96484ecd
|
2014-03-03T12:59:35
|
|
Fix the description for `GIT_FEATURE_SSH`.
|
|
ebb3c506
|
2014-03-03T12:40:25
|
|
features: Rename `_HAS_` to `_FEATURE_`
|
|
2491c416
|
2014-03-03T12:13:17
|
|
caps: Rename the enum name too!
|
|
c9f5298b
|
2014-03-03T12:09:17
|
|
caps: Rename to features to avoid confusion
|
|
6789b7a7
|
2014-02-27T14:13:22
|
|
Add buffer to buffer diff and patch APIs
This adds `git_diff_buffers` and `git_patch_from_buffers`. This
also includes a bunch of internal refactoring to increase the
shared code between these functions and the blob-to-blob and
blob-to-buffer APIs, as well as some higher level assert helpers
in the tests to also remove redundancy.
|
|
1574d388
|
2014-02-26T16:58:20
|
|
Merge pull request #2137 from jru/blame-first-parent
Blame first-parent history
|
|
899bd19a
|
2014-02-24T21:20:57
|
|
Document enumerator and rewording
|
|
c7c83394
|
2014-02-21T00:22:07
|
|
Add option to limit blame to first parent
|
|
c254e2b6
|
2014-02-21T08:55:30
|
|
Improve documentation for merging
|
|
72556cc6
|
2014-02-20T14:27:10
|
|
Address PR comments
* Make GIT_INLINE an internal definition so it cannot be used in
public headers
* Fix language in CONTRIBUTING
* Make index caps API use signed instead of unsigned values
|
|
978a4ed5
|
2014-02-20T11:00:31
|
|
Make git_oid_equal a non-inline API
|
|
15284a2c
|
2014-02-10T14:52:28
|
|
refs: move current_id before the reflog parameters
Keep the reflog parameters as the last two, as they're the optional
parameters.
|
|
77ad6754
|
2014-02-10T14:38:01
|
|
refs: conditional wording fixups
This addresses arrbee's concerns about wording in the conditional
reference udpate functions.
|
|
80c29fe9
|
2014-01-17T10:45:11
|
|
Add git_commit_amend API
This adds an API to amend an existing commit, basically a shorthand
for creating a new commit filling in missing parameters from the
values of an existing commit. As part of this, I also added a new
"sys" API to create a commit using a callback to get the parents.
This allowed me to rewrite all the other commit creation APIs so
that temporary allocations are no longer needed.
|
|
2d929194
|
2014-02-07T16:14:17
|
|
Merge pull request #2099 from libgit2/bs/more-reflog-stuff
More reflogness
|
|
57c47af1
|
2014-02-07T16:05:19
|
|
Merge pull request #2042 from libgit2/cmn/conditional-ref
refs: conditional ref updates
|
|
db55bb73
|
2014-02-06T11:18:10
|
|
Correct default reflog message for git_remote_fetch
|
|
2bfc6739
|
2014-02-06T10:39:57
|
|
Fix terrible indentation
|
|
0de2c4e3
|
2014-02-05T13:15:57
|
|
Merge remote-tracking branch 'libgit2/development' into bs/more-reflog-stuff
|
|
df70de07
|
2014-02-05T10:25:50
|
|
Merge pull request #2094 from libgit2/cmn/push-non-commit
Add flexibility to the revwalk API
|
|
d6006413
|
2014-01-30T17:24:46
|
|
docs: produce literal asterisks
|
|
d465e4e9
|
2014-02-01T15:19:13
|
|
revwalk: ignore wrong object type in glob pushes
Pushing a whole namespace can cause us to attempt to push non-committish
objects. Catch this situation and special-case it for ignoring this.
|
|
f61272e0
|
2014-02-01T12:51:36
|
|
revwalk: accept committish objects
Let the user push committish objects and peel them to figure out which
commit to push to our queue.
This is for convenience and for allowing uses of
git_revwalk_push_glob(w, "tags")
with annotated tags.
|
|
5367ec4b
|
2014-02-05T12:02:52
|
|
refs: add an unconditional delete
Add it under the git_reference_remove() name, letting the user pass the
repo and name, analogous to unconditional setting/creation.
|
|
f44fd59e
|
2014-02-05T11:21:14
|
|
refs: check the ref's old value when deleting
Recognize when the reference has changed since we loaded it.
|
|
7ee8c7e6
|
2014-02-05T11:07:34
|
|
refs: placeholder conditional delete
We don't actually pass the old value yet.
|
|
878fb66f
|
2014-02-05T10:19:17
|
|
refs: bring conditional symbolic updates to the frontend
Bring the race detection goodness to symbolic references as well.
|
|
91123661
|
2014-02-04T22:04:00
|
|
refdb: add conditional symbolic updates
Add a parameter to the backend to allow checking for the old symbolic
target.
|
|
fc4728e3
|
2014-01-29T14:07:18
|
|
refs: return GIT_EMODIFIED if the ref target moved
In case we loose the race to update the reference, return GIT_EMODIFIED
to let the user distinguish it from other types of errors.
|
|
5d96fe88
|
2014-01-14T15:33:29
|
|
refs: changes from feedback
Change the name to _matching() intead of _if(), and force _set_target()
to be a conditional update. If the user doesn't care about the old
value, they should use git_reference_create().
|