Commit Graph

37 Commits

Author SHA1 Message Date
Carlos Martín Nieto a38a8e8ede diff: add two missing options 2018-01-17 11:47:06 +00:00
Carlos Martín Nieto 7d29d68644 Second round of keep-alives 2017-07-08 11:38:19 +02:00
Carlos Martín Nieto aadd0c2035 Merge remote-tracking branch 'upstream/master' into next 2016-08-27 21:07:44 +02:00
Travis Lane 981538924c diff: Add DiffStats String
This implements git_diff_stats_to_buf which provides the output for
git diff --stats.
2016-06-19 15:19:39 -07:00
Hans Rødtang 094bb3767b Add unimplemented diff delta/flag values. 2016-03-29 20:41:46 +02:00
Hans Rødtang 1e8b7ef380 Add "Conflicted" git.Delta and git.Status. 2016-03-29 20:37:22 +02:00
Hiroshi Ioka 975228d55c add DiffTreeToIndex
This is equivalent to `git diff --cached <treeish` or `diff --cached`.
2016-03-11 02:25:33 +09:00
Han-Wen Nienhuys aa59dccea7 Upgrade to libgit2 to 0f9d15493d5d8ad4353dd7beed52c9567334f6e5 2016-02-17 18:23:52 +01:00
Carlos Martín Nieto e066d24efb Add DiffBlobs
This lets you diff two arbitrary blobs with arbitrary names.
2015-06-29 21:29:47 +02:00
Carlos Martín Nieto 86e9917919 diff: remove unnecessary args to Hunk and Line ctors 2015-06-29 21:29:47 +02:00
Patrick Steinhardt e8531dd5c3 diff: only untrack notify payload when it is set 2015-05-22 10:01:50 +02:00
Patrick Steinhardt fe902f56a8 diff: use HandleList for C function callbacks. 2015-05-22 09:02:24 +02:00
Mark Probst 524cc7967b Add DiffIndexToWorkdir 2015-03-23 12:02:17 -07:00
Mark Probst 8622831b11 Add DiffTreeToWorkdirWithIndex 2015-03-23 12:02:17 -07:00
Henning Perl 18aea4bfe8 Add git_diff_get_stats()
This commit adds git_diff_get_stats() as well as functions to query the
stats for insertions, deletions, and changed files.
2015-01-04 12:13:46 +00:00
Quinn Slack d2a9d7768b heed DiffOptions fields OldPrefix and NewPrefix 2014-12-30 02:03:20 -08:00
Jose Alvarez db17135a30 Export PatchFromBuffers function.
This change also factor out diffOptionsToC function to remove
duplicated code.
2014-12-06 16:29:25 -05:00
Carlos Martín Nieto 520a0425c7 Add the newer missing thread-locking instances 2014-12-06 03:03:26 +01:00
Carlos Martín Nieto 8c631b0c25 Add missing thread locking 2014-12-06 02:45:26 +01:00
Carlos Martín Nieto 855d8790c4 Merge pull request #141 from jochil/git_diff_find_similar
Integrated git_diff_find_similar
2014-12-06 02:29:02 +01:00
Carlos Martín Nieto 1d759e3697 Update to master 2014-12-03 17:26:55 +01:00
Jochen Hilgers a4ae68783d Integrated git_diff_find_similar 2014-11-26 17:22:15 +01:00
joseferminj 1ba38905d1 Expose DiffTreeToWorkdir function 2014-11-13 23:06:45 -05:00
Carlos Martín Nieto 668aa5dae1 Make the constants have types
While Go will assign the correct type to a const block when it
auto-creates the values, assigning makes the const be typeless and will
only gain it in each particular use.

Make each constant in the blocks have an assigned type.
2014-10-28 11:29:31 +01:00
Jesse Ezell 63fd1f9b03 use cast_ptr instead of ptr for travis go tip build 2014-04-04 09:42:17 -07:00
Jesse Ezell 4553b3ada6 fix go 1.0 compile error 2014-03-26 12:20:54 -07:00
Jesse Ezell 155f641683 don't expose 3 different diff foreach methods. use structures instead of pointers to structures for diff detail. add patch error code handling. trim excess data from diff structures. 2014-03-21 22:51:38 -07:00
Jesse Ezell f85c38ce22 Allow diff.ForEach to enumerate files, hunks, and lines with single call. Support use of closures for enumeration. 2014-03-21 17:20:48 -07:00
Jesse Ezell aea899e877 set ptr to nil after free 2014-03-20 23:19:22 -07:00
Jesse Ezell d78036fe24 refactor and cleanup code 2014-03-20 22:54:18 -07:00
Jesse Ezell d0b334b244 cleanup and refactor diff / patch 2014-03-20 21:56:41 -07:00
lye 9acd67e388 Actually type constants; unwrap DiffFile, DiffDelta, DiffHunk. 2014-02-26 16:02:26 -06:00
lye 45b0f17c04 Bundle consts more idiomatically; add GitLineType alias. 2014-02-26 05:58:45 -06:00
lye 2e5102b71a Unwrap DiffLine; add types for git_diff_flag_t and git_delta_t. 2014-02-26 04:36:04 -06:00
lye 48a02566d6 Pre-emptively copy data when marshalling diff callback data.
When marshalling diff callback data to Go structs, any `char*` need to
be pre-emptively copied onto Go's heap as they're invalidated as soon as
our callback function returns. This patch adds this extra copy before
sending the value to the channel, which fixes a bug wherein
`DiffLine.Content`, `DiffFile.Path` and `DiffHunk.Header` would
previously return garbage data.
2014-02-23 18:51:56 -06:00
lye 375168abdc Export the constants and enumerations for diffs.
It is possible that the typed enums from libgit2 should be exported as
distinct types rather than numeric constants (e.g, `git_delta_t` and
`git_line_t` should be typed), but this has not been done in this patch.
2014-02-23 18:06:04 -06:00
lye bc80beb843 Add partial diff/patch functionality.
This commit adds barebones capacity to generate diffs from two trees and
to emit those as git-style diffs (via `Patch.String`), or to enumerate
the files/hunks/lines in the diff to emit the data yourself.

The walk functions have been implemented in the same manner as the Odb
walking methods.

Note that not all of the functionality is implemented for either the
`git_diff_*` nor the `git_patch_*` functions, and there are unexposed
constants which would likely be useful to add.
2014-02-20 00:29:03 -06:00