|
145e696b
|
2012-06-08T11:56:24
|
|
Minor fixes, cleanups, and clarifications
There are three actual changes in this commit:
1. When the trailing newline of a file is removed in a diff, the
change will now be reported with `GIT_DIFF_LINE_DEL_EOFNL` passed
to the callback. Previously, the `ADD_EOFNL` constant was given
which was just an error in my understanding of when the various
circumstances arose. `GIT_DIFF_LINE_ADD_EOFNL` is deprecated and
should never be generated. A new newline is simply an `ADD`.
2. Rewrote the `diff_delta__merge_like_cgit` function that contains
the core logic of the `git_diff_merge` implementation. The new
version doesn't actually have significantly different behavior,
but the logic should be much more obvious, I think.
3. Fixed a bug in `git_diff_merge` where it freed a string pool
while some of the string data was still in use. This led to
`git_diff_print_patch` accessing memory that had been freed.
The rest of this commit contains improved documentation in `diff.h`
to make the behavior and the equivalencies with core git clearer,
and a bunch of new tests to cover the various cases, oh and a minor
simplification of `examples/diff.c`.
|
|
7eeec8f2
|
2012-05-24T16:41:53
|
|
examples/network: consistently use tabs for indentation
|
|
ab4aa138
|
2012-05-20T00:40:31
|
|
Fix examples/general.c compilation
git_reference_listall() -> git reference_list()
|
|
904b67e6
|
2012-05-18T01:48:50
|
|
errors: Rename error codes
|
|
e172cf08
|
2012-05-18T01:21:06
|
|
errors: Rename the generic return codes
|
|
706a9974
|
2012-05-17T13:05:17
|
|
Basic setup for profiling
This fixes the examples so they will build and adds a PROFILE
option to the CMakeFile that enabled gprof info on non-Windows
|
|
41178b41
|
2012-05-11T21:49:33
|
|
examples: fix an oopsie
|
|
fb49bdf9
|
2012-05-10T16:52:12
|
|
examples: update network examples error handling
Use giterr_last() and make sure it's not NULL.
|
|
baaa8a44
|
2012-05-03T20:25:56
|
|
remotes: change git_remote_new's signature
Add a fetch refspec arguemnt and make the arguments (name, url,
refspec), as that order makes more sense.
|
|
40879fac
|
2012-05-02T15:59:02
|
|
Merge branch 'new-error-handling' into development
Conflicts:
.travis.yml
include/git2/diff.h
src/config_file.c
src/diff.c
src/diff_output.c
src/mwindow.c
src/path.c
tests-clar/clar_helpers.c
tests-clar/object/tree/frompath.c
tests/t00-core.c
tests/t03-objwrite.c
tests/t08-tag.c
tests/t10-refs.c
tests/t12-repo.c
tests/t18-status.c
tests/test_helpers.c
tests/test_main.c
|
|
42ea35c0
|
2012-05-01T22:25:43
|
|
remote: don't free transport on disconnect
Currently, git_remote_disconnect not only closes the connection but also
frees the underlying transport object, making it impossible to write
code like
// fetch stuff
git_remote_download()
// close connection
git_remote_disconnect()
// call user provided callback for each ref
git_remote_update_tips(remote, callback)
because remote->refs points to references owned by the transport object.
This means, we have an idling connection while running the callback for
each reference.
Instead, allow immediate disconnect and free the transport later in
git_remote_free().
|
|
f184836b
|
2012-04-25T12:13:20
|
|
remote: run a callback when updating the branch tips
This allows the caller to update an internal structure or update the
user output with the tips that were updated.
While in the area, only try to update the ref if the value is
different from its old one.
|
|
bf4ef0c5
|
2012-04-16T05:02:41
|
|
examples: run fetch in a background thread
This allows us to give updates on how it's doing
|
|
db0f96a6
|
2012-04-13T23:37:55
|
|
examples: port 'fetch' to the new API
|
|
907ebe85
|
2012-04-13T10:29:27
|
|
examples: stream indexer example
|
|
fc1cc205
|
2012-03-26T11:36:12
|
|
Use new error handling in the example network code
|
|
288c8a25
|
2012-03-13T16:48:07
|
|
examples/diff: update example code
Signed-off-by: schu <schu-github@schulog.org>
|
|
74fa4bfa
|
2012-02-28T16:14:47
|
|
Update diff to use iterators
This is a major reorganization of the diff code. This changes
the diff functions to use the iterators for traversing the
content. This allowed a lot of code to be simplified. Also,
this moved the functions relating to outputting a diff into a
new file (diff_output.c).
This includes a number of other changes - adding utility
functions, extending iterators, etc. plus more tests for the
diff code. This also takes the example diff.c program much
further in terms of emulating git-diff command line options.
|
|
a2e895be
|
2012-02-07T12:14:28
|
|
Continue implementation of git-diff
* Implemented git_diff_index_to_tree
* Reworked git_diff_options structure to handle more options
* Made most of the options in git_diff_options actually work
* Reorganized code a bit to remove some redundancy
* Added option parsing to examples/diff.c to test most options
|
|
3a437590
|
2012-02-03T16:53:01
|
|
Clean up diff implementation for review
This fixes several bugs, updates tests and docs, eliminates the
FILE* assumption in favor of printing callbacks for the diff patch
formatter helpers, and adds a "diff" example function that can
perform a diff from the command line.
|
|
2866c016
|
2012-01-13T18:20:13
|
|
examples: use git_repository_odb instead of _database
|
|
d88d4311
|
2011-11-28T08:40:40
|
|
remote: Cleanup the remotes code
- Hide the remaining transports code
- Drop `git_headarray`, switch to using a callback to list refs. Makes
the code cleaner.
|
|
45e79e37
|
2011-11-26T04:59:21
|
|
Rename all `_close` methods
There's no difference between `_free` and `_close` semantics: keep
everything with the same name to avoid confusions.
|
|
0b142c9c
|
2011-11-06T20:07:27
|
|
examples/network/.gitignore: ignore 'git2'
|
|
349532d0
|
2011-11-06T19:44:29
|
|
examples/network/git2.c: exit with proper status, and avoid segfault
This function should exit after printing usage information if too few
arguments were specified.
Additionally, it should exit with a failure status if the first argument
supplied is not one in the internal command list.
|
|
983562e4
|
2011-11-06T19:43:44
|
|
examples/network/git2.c: add newline to usage message
|
|
faeebd06
|
2011-11-06T19:35:35
|
|
examples/network/fetch.c: revert overzealous conversion of free to git__free
Since git__free is not exported (it's actually a macro), it should not be
used in client programs. Change this call to 'git__free' back to 'free'.
|
|
54ccc717
|
2011-11-05T18:01:32
|
|
examples/general.c: update for recent API renaming of git_config_get_int
git_config_get_int --> git_config_get_int32
|
|
3286c408
|
2011-10-28T14:51:13
|
|
global: Properly use `git__` memory wrappers
Ensure that all memory related functions (malloc, calloc, strdup, free,
etc) are using their respective `git__` wrappers.
|
|
24012627
|
2011-10-03T00:33:13
|
|
examples: add ls-remote, fetch and index-pack examples
Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
|
|
784b3b49
|
2011-09-12T23:44:39
|
|
Fixed typo in example Makefile code and slimmed it down more.
Reverted signature of git_signature_new.
Removed error check wrappers (voted down). Made Makefile
work out of the box on Linux and Solaris when standard
cmake build instructions for the library are followed.
|
|
0251733e
|
2011-09-12T23:39:47
|
|
Changes to allow examples/*.c to compile and link. This required on
change to the signature of an API function (git_signature_new).
Also, the examples/general.c had a lot of unchecked return values
which were addresed with a couple of macros. The resulting example
still does not work correctly but at least now it fails with an
error message rather than not compiling or dumping core. Example
runtime issues may be addressed in a later commit.
|
|
9940a01c
|
2011-09-12T23:38:58
|
|
Fixed to build examples with knowledge of include and lib locations.
|
|
d6d877d2
|
2011-07-05T11:54:16
|
|
examples/general: fix warnings on not handled reference type in switch
examples/general.c:402:5: warning: enumeration value ‘GIT_REF_INVALID’ not handled in switch [-Wswitch]
examples/general.c:402:5: warning: enumeration value ‘GIT_REF_PACKED’ not handled in switch [-Wswitch]
examples/general.c:402:5: warning: enumeration value ‘GIT_REF_HAS_PEEL’ not handled in switch [-Wswitch]
examples/general.c:402:5: warning: enumeration value ‘GIT_REF_LISTALL’ not handled in switch [-Wswitch]
Signe-off-by: Kirill A. Shutemov <kirill@shutemov.name>
|
|
6f2b0a3a
|
2011-07-05T12:00:18
|
|
examples/general: fix misc warnings
examples/general.c:393:25: warning: unused variable ‘reftarget’ [-Wunused-variable]
examples/general.c:357:19: warning: unused variable ‘e’ [-Wunused-variable]
examples/general.c:444:1: warning: control reaches end of non-void function [-Wreturn-type]
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
|
|
51cc50a3
|
2011-07-05T11:43:21
|
|
examples/general: fix git_commit_create_v() arguments type
general.c:208: warning: passing argument 7 of 'git_commit_create_v' from incompatible pointer type
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
|
|
932d1baf
|
2011-06-30T19:52:34
|
|
cleanup: remove trailing spaces
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
|
|
920e000d
|
2011-06-18T01:17:58
|
|
config: Update examples
|
|
fa48608e
|
2011-06-16T02:36:21
|
|
oid: Rename methods
Yeah. Finally. Fuck the old names, this ain't POSIX
and they don't make any sense at all.
|
|
96da90ae
|
2011-06-15T09:38:55
|
|
update examples content to be compilable and up to date
|
|
2e6d8ec4
|
2011-06-14T15:15:11
|
|
fix the example urls
|
|
388f37b3
|
2011-06-14T09:27:46
|
|
add examples for docs
|