Edward Thomson
53571f2f0c
vector: more sensible names for grow_at
/shrink_at
2016-05-26 13:01:08 -05:00
Edward Thomson
440e3bae10
patch: git_patch_from_patchfile
-> git_patch_from_buffer
2016-05-26 13:01:08 -05:00
Edward Thomson
00e63b3620
patch: provide static string advance_expected
2016-05-26 13:01:07 -05:00
Edward Thomson
a03952f095
patch: formatting cleanups
2016-05-26 13:01:07 -05:00
Edward Thomson
e564fc65b5
git_vector_grow/shrink: correct shrink, and tests
2016-05-26 13:01:07 -05:00
Edward Thomson
0ff723cc90
apply: test postimages that grow/shrink original
...
Test with some postimages that actually grow/shrink from the
original, adding new lines or removing them. (Also do so without
context to ensure that we can add/remove from a non-zero part of
the line vector.)
2016-05-26 13:01:07 -05:00
Edward Thomson
8cb27223b8
git_buf_quote/unquote: handle > \177
...
Parse values up to and including `\377` (`0xff`) when unquoting.
Print octal values as an unsigned char when quoting, lest `printf`
think we're talking about negatives.
2016-05-26 13:01:07 -05:00
Edward Thomson
0267c34c0c
patch application: drop unnecessary patch_image_init
2016-05-26 13:01:07 -05:00
Edward Thomson
4117a2350f
patch parse: dup the patch from the callers
2016-05-26 13:01:07 -05:00
Edward Thomson
6278fbc5dd
patch parsing: squash some memory leaks
2016-05-26 13:01:07 -05:00
Edward Thomson
f941f035ae
patch: drop some warnings
2016-05-26 13:01:06 -05:00
Edward Thomson
040ec883a4
patch: use strlen to mean string length
...
`oid_strlen` has meant one more than the length of the string.
This is mighty confusing. Make it mean only the string length!
Whomsoever needs to allocate a buffer to hold a string can null
terminate it like normal.
2016-05-26 13:01:06 -05:00
Edward Thomson
e2cdc145b9
patch: show modes when only the mode has changed
2016-05-26 13:01:06 -05:00
Edward Thomson
4ac2d8acf4
patch: quote filenames when necessary
2016-05-26 13:01:06 -05:00
Edward Thomson
d3d95d5ae2
git_buf_quote: quote ugly characters
2016-05-26 13:01:06 -05:00
Edward Thomson
72806f4cca
patch: don't print some headers on pure renames
2016-05-26 13:01:06 -05:00
Edward Thomson
82175084e1
Introduce git_patch_options, handle prefixes
...
Handle prefixes (in terms of number of path components) for patch
parsing.
2016-05-26 13:01:06 -05:00
Edward Thomson
19e46645af
patch printing: include rename information
2016-05-26 13:01:06 -05:00
Edward Thomson
d536ceacf5
patch_parse: don't set new mode when deleted
2016-05-26 13:01:05 -05:00
Edward Thomson
28f704433b
patch_parse: use names from diff --git
header
...
When a text file is added or deleted, use the file names from the
`diff --git` header instead of the `---` or `+++` lines. This is
for compatibility with git.
2016-05-26 13:01:05 -05:00
Edward Thomson
1462c95a5d
patch_parse: set binary flag
...
We may have parsed binary data, set the `SHOW_BINARY` flag which
indicates that we have actually computed a binary diff.
2016-05-26 13:01:05 -05:00
Edward Thomson
2f3b922ff1
patch_parse: test roundtrip patch parsing -> print
2016-05-26 13:01:05 -05:00
Edward Thomson
42b3442823
patch_parse: ensure we can parse a patch
2016-05-26 13:01:05 -05:00
Edward Thomson
bc6a31c9fb
patch: when parsing, set nfiles correctly in delta
2016-05-26 13:01:05 -05:00
Edward Thomson
d68cb73677
diff: include oid length in deltas
...
Now that `git_diff_delta` data can be produced by reading patch
file data, which may have an abbreviated oid, allow consumers to
know that the id is abbreviated.
2016-05-26 13:01:05 -05:00
Edward Thomson
e7ec327d4b
patch parse: unset path prefix
2016-05-26 13:01:04 -05:00
Edward Thomson
8bca8b9e03
apply: move patch data to patch_common.h
2016-05-26 13:01:04 -05:00
Edward Thomson
b85bd8ce66
patch: use delta's old_file/new_file members
...
No need to replicate the old_file/new_file members, or plumb them
strangely up.
2016-05-26 13:01:04 -05:00
Edward Thomson
804d5fe9f5
patch: abstract patches into diff'ed and parsed
...
Patches can now come from a variety of sources - either internally
generated (from diffing two commits) or as the results of parsing
some external data.
2016-05-26 13:01:04 -05:00
Edward Thomson
8d2eef27ff
patch parsing: ensure empty patches are illegal
2016-05-26 13:01:04 -05:00
Edward Thomson
5d17d72621
patch parsing: parse binary patch files
2016-05-26 13:01:04 -05:00
Edward Thomson
b8dc2fdb92
zstream: fail when asked to inflate garbage
...
When we are provided some input buffer (with a length) to inflate,
and it contains more data than simply the deflated data, fail.
zlib will helpfully tell us when it is done reading (via Z_STREAM_END),
so if there is data leftover in the input buffer, fail lest we
continually try to inflate it.
2016-05-26 13:01:04 -05:00
Edward Thomson
5b78dbdbf3
git_buf: decode base85 inputs
2016-05-26 13:01:04 -05:00
Edward Thomson
3149ff6f66
patch application: apply binary patches
...
Handle the application of binary patches. Include tests that
produce a binary patch (an in-memory `git_patch` object),
then enusre that the patch applies correctly.
2016-05-26 13:01:03 -05:00
Edward Thomson
b88f1713d0
zstream: offer inflating, git_zstream_inflatebuf
...
Introduce `git_zstream_inflatebuf` for simple uses.
2016-05-26 13:01:03 -05:00
Edward Thomson
1cd6599142
delta: refactor git_delta functions for consistency
...
Refactor the git_delta functions to have consistent naming and
parameters with the rest of the library.
2016-05-26 13:01:03 -05:00
Edward Thomson
6a2d2f8aa1
delta: move delta application to delta.c
...
Move the delta application functions into `delta.c`, next to the
similar delta creation functions. Make the `git__delta_apply`
functions adhere to other naming and parameter style within the
library.
2016-05-26 13:01:03 -05:00
Edward Thomson
0004386f29
apply: handle empty patches
...
When a patch is empty, simply copy the source into the destination.
2016-05-26 11:36:11 -05:00
Edward Thomson
d34f68261e
Patch parsing from patch files
2016-05-26 11:36:11 -05:00
Edward Thomson
7cb904ba44
Introduce git_apply_patch
...
The beginnings of patch application from an existing (diff-created)
git_patch object: applies the hunks of a git_patch to a buffer.
2016-05-26 11:36:11 -05:00
Edward Thomson
784bb30300
Merge pull request #3799 from sschuberth/master
...
Use AppVeyor's Start-FileDownload cmdlet
2016-05-26 10:28:00 -05:00
Edward Thomson
e102daa4f6
Merge pull request #3798 from mmuman/stat-test-fix
...
test: Fix stat() test to mask out unwanted bits
2016-05-26 10:25:40 -05:00
Edward Thomson
06f42b6217
Merge branch 'checkout_submodules'
2016-05-26 01:20:41 -05:00
Jason Haslam
c864b4ab99
Ignore submodules when checking for merge conflicts in the workdir.
2016-05-26 01:11:55 -05:00
Jason Haslam
afab1fff01
checkout: handle dirty submodules correctly
...
Don't generate conflicts when checking out a modified submodule and the
submodule is dirty or modified in the workdir.
2016-05-26 01:11:34 -05:00
Edward Thomson
fdf14637d5
Merge pull request #3792 from edquist/misc
...
Fix comment for GIT_FILEMODE_LINK
2016-05-26 00:58:43 -05:00
Sebastian Schuberth
247665ed51
Use AppVeyor's Start-FileDownload cmdlet
...
Start-FileDownload maintains current directory context and allows
specifying a request timeout, see [1].
[1] https://www.appveyor.com/docs/how-to/download-file#start-filedownload-cmdlet
2016-05-25 12:10:44 +02:00
François Revol
407f2e9fbd
test: Fix stat() test to mask out unwanted bits
...
Haiku and Hurd both pass extra bits in struct stat::st_mode.
2016-05-24 20:01:49 +02:00
Carlos Martín Nieto
c756448cef
Merge pull request #3797 from libgit2/cmn/remove-single-entry
...
tree: handle removal of all entries in the updater
2016-05-24 16:15:57 +02:00
Carlos Martín Nieto
a2cb47130e
tree: handle removal of all entries in the updater
...
When we remove all entries in a tree, we should remove that tree from
its parent rather than include the empty tree.
2016-05-24 14:30:43 +02:00