rugged 0.25.0b7 → 0.25.0b8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/src/checkout.c +1 -1
- data/vendor/libgit2/src/diff.h +2 -0
- data/vendor/libgit2/src/diff_generate.c +2 -0
- data/vendor/libgit2/src/diff_parse.c +2 -6
- data/vendor/libgit2/src/diff_parse.h +18 -0
- data/vendor/libgit2/src/iterator.c +3 -5
- data/vendor/libgit2/src/patch.c +6 -0
- data/vendor/libgit2/src/patch_generate.c +19 -15
- data/vendor/libgit2/src/patch_generate.h +2 -0
- data/vendor/libgit2/src/patch_parse.c +15 -0
- data/vendor/libgit2/src/patch_parse.h +2 -0
- data/vendor/libgit2/src/transports/http.c +3 -0
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9436b2f4df762f300fb1103b01d8f80c4973441a
|
|
4
|
+
data.tar.gz: fffa3a995093034dac0762800d16fb6d6fa9d38b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: afad4fb30f5ba7c31ba25714422e2941df978bfd3df5c72d2510ce2c5372769bb74ee5ab0e24115d1e52a19dd84fbf3289453d187253a9f1f63fb6cd294d6c95
|
|
7
|
+
data.tar.gz: 7f5c92919ec876e1ba8a3c042fe9de29b632c4d5be8ed327c9e2226c6424d401b132b25f347c52000c7a1287d0958c7ff59a9768af4c2da3c4fe066a5ec776e4
|
data/lib/rugged/version.rb
CHANGED
|
@@ -2722,7 +2722,7 @@ int git_checkout_tree(
|
|
|
2722
2722
|
if ((error = git_repository_index(&index, repo)) < 0)
|
|
2723
2723
|
return error;
|
|
2724
2724
|
|
|
2725
|
-
if ((opts->checkout_strategy & GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH)) {
|
|
2725
|
+
if (opts && (opts->checkout_strategy & GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH)) {
|
|
2726
2726
|
iter_opts.pathlist.count = opts->paths.count;
|
|
2727
2727
|
iter_opts.pathlist.strings = opts->paths.strings;
|
|
2728
2728
|
}
|
data/vendor/libgit2/src/diff.h
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
#define INCLUDE_diff_h__
|
|
9
9
|
|
|
10
10
|
#include "git2/diff.h"
|
|
11
|
+
#include "git2/patch.h"
|
|
11
12
|
#include "git2/sys/diff.h"
|
|
12
13
|
#include "git2/oid.h"
|
|
13
14
|
|
|
@@ -44,6 +45,7 @@ struct git_diff {
|
|
|
44
45
|
int (*pfxcomp)(const char *str, const char *pfx);
|
|
45
46
|
int (*entrycomp)(const void *a, const void *b);
|
|
46
47
|
|
|
48
|
+
int (*patch_fn)(git_patch **out, git_diff *diff, size_t idx);
|
|
47
49
|
void (*free_fn)(git_diff *diff);
|
|
48
50
|
};
|
|
49
51
|
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
#include "common.h"
|
|
8
8
|
#include "diff.h"
|
|
9
9
|
#include "diff_generate.h"
|
|
10
|
+
#include "patch_generate.h"
|
|
10
11
|
#include "fileops.h"
|
|
11
12
|
#include "config.h"
|
|
12
13
|
#include "attr_file.h"
|
|
@@ -414,6 +415,7 @@ static git_diff_generated *diff_generated_alloc(
|
|
|
414
415
|
diff->base.repo = repo;
|
|
415
416
|
diff->base.old_src = old_iter->type;
|
|
416
417
|
diff->base.new_src = new_iter->type;
|
|
418
|
+
diff->base.patch_fn = git_patch_generated_from_diff;
|
|
417
419
|
diff->base.free_fn = diff_generated_free;
|
|
418
420
|
memcpy(&diff->base.opts, &dflt, sizeof(git_diff_options));
|
|
419
421
|
|
|
@@ -6,15 +6,10 @@
|
|
|
6
6
|
*/
|
|
7
7
|
#include "common.h"
|
|
8
8
|
#include "diff.h"
|
|
9
|
+
#include "diff_parse.h"
|
|
9
10
|
#include "patch.h"
|
|
10
11
|
#include "patch_parse.h"
|
|
11
12
|
|
|
12
|
-
typedef struct {
|
|
13
|
-
struct git_diff base;
|
|
14
|
-
|
|
15
|
-
git_vector patches;
|
|
16
|
-
} git_diff_parsed;
|
|
17
|
-
|
|
18
13
|
static void diff_parsed_free(git_diff *d)
|
|
19
14
|
{
|
|
20
15
|
git_diff_parsed *diff = (git_diff_parsed *)d;
|
|
@@ -47,6 +42,7 @@ static git_diff_parsed *diff_parsed_alloc(void)
|
|
|
47
42
|
diff->base.strncomp = git__strncmp;
|
|
48
43
|
diff->base.pfxcomp = git__prefixcmp;
|
|
49
44
|
diff->base.entrycomp = git_diff__entry_cmp;
|
|
45
|
+
diff->base.patch_fn = git_patch_parsed_from_diff;
|
|
50
46
|
diff->base.free_fn = diff_parsed_free;
|
|
51
47
|
|
|
52
48
|
git_pool_init(&diff->base.pool, 1);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) the libgit2 contributors. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* This file is part of libgit2, distributed under the GNU GPL v2 with
|
|
5
|
+
* a Linking Exception. For full terms see the included COPYING file.
|
|
6
|
+
*/
|
|
7
|
+
#ifndef INCLUDE_diff_parse_h__
|
|
8
|
+
#define INCLUDE_diff_parse_h__
|
|
9
|
+
|
|
10
|
+
#include "diff.h"
|
|
11
|
+
|
|
12
|
+
typedef struct {
|
|
13
|
+
struct git_diff base;
|
|
14
|
+
|
|
15
|
+
git_vector patches;
|
|
16
|
+
} git_diff_parsed;
|
|
17
|
+
|
|
18
|
+
#endif
|
|
@@ -1834,6 +1834,9 @@ static int iterator_for_filesystem(
|
|
|
1834
1834
|
iter = git__calloc(1, sizeof(filesystem_iterator));
|
|
1835
1835
|
GITERR_CHECK_ALLOC(iter);
|
|
1836
1836
|
|
|
1837
|
+
iter->base.type = type;
|
|
1838
|
+
iter->base.cb = &callbacks;
|
|
1839
|
+
|
|
1837
1840
|
root_len = strlen(root);
|
|
1838
1841
|
|
|
1839
1842
|
iter->root = git__malloc(root_len+2);
|
|
@@ -1851,9 +1854,6 @@ static int iterator_for_filesystem(
|
|
|
1851
1854
|
if ((error = git_buf_puts(&iter->current_path, iter->root)) < 0)
|
|
1852
1855
|
goto on_error;
|
|
1853
1856
|
|
|
1854
|
-
iter->base.type = type;
|
|
1855
|
-
iter->base.cb = &callbacks;
|
|
1856
|
-
|
|
1857
1857
|
if ((error = iterator_init_common(&iter->base, repo, index, options)) < 0)
|
|
1858
1858
|
goto on_error;
|
|
1859
1859
|
|
|
@@ -1877,8 +1877,6 @@ static int iterator_for_filesystem(
|
|
|
1877
1877
|
return 0;
|
|
1878
1878
|
|
|
1879
1879
|
on_error:
|
|
1880
|
-
git__free(iter->root);
|
|
1881
|
-
git_buf_free(&iter->current_path);
|
|
1882
1880
|
git_iterator_free(&iter->base);
|
|
1883
1881
|
return error;
|
|
1884
1882
|
}
|
data/vendor/libgit2/src/patch.c
CHANGED
|
@@ -194,6 +194,12 @@ int git_patch_get_line_in_hunk(
|
|
|
194
194
|
return 0;
|
|
195
195
|
}
|
|
196
196
|
|
|
197
|
+
int git_patch_from_diff(git_patch **out, git_diff *diff, size_t idx)
|
|
198
|
+
{
|
|
199
|
+
assert(out && diff && diff->patch_fn);
|
|
200
|
+
return diff->patch_fn(out, diff, idx);
|
|
201
|
+
}
|
|
202
|
+
|
|
197
203
|
static void git_patch__free(git_patch *patch)
|
|
198
204
|
{
|
|
199
205
|
if (patch->free_fn)
|
|
@@ -349,20 +349,24 @@ static int diff_binary(git_patch_generated_output *output, git_patch_generated *
|
|
|
349
349
|
new_len = patch->nfile.map.len;
|
|
350
350
|
int error;
|
|
351
351
|
|
|
352
|
-
/*
|
|
353
|
-
*
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
&binary.new_file.
|
|
364
|
-
|
|
365
|
-
|
|
352
|
+
/* Only load contents if the user actually wants to diff
|
|
353
|
+
* binary files. */
|
|
354
|
+
if (patch->base.diff_opts.flags & GIT_DIFF_SHOW_BINARY) {
|
|
355
|
+
/* Create the old->new delta (as the "new" side of the patch),
|
|
356
|
+
* and the new->old delta (as the "old" side)
|
|
357
|
+
*/
|
|
358
|
+
if ((error = create_binary(&binary.old_file.type,
|
|
359
|
+
(char **)&binary.old_file.data,
|
|
360
|
+
&binary.old_file.datalen,
|
|
361
|
+
&binary.old_file.inflatedlen,
|
|
362
|
+
new_data, new_len, old_data, old_len)) < 0 ||
|
|
363
|
+
(error = create_binary(&binary.new_file.type,
|
|
364
|
+
(char **)&binary.new_file.data,
|
|
365
|
+
&binary.new_file.datalen,
|
|
366
|
+
&binary.new_file.inflatedlen,
|
|
367
|
+
old_data, old_len, new_data, new_len)) < 0)
|
|
368
|
+
return error;
|
|
369
|
+
}
|
|
366
370
|
|
|
367
371
|
error = giterr_set_after_callback_function(
|
|
368
372
|
output->binary_cb(patch->base.delta, &binary, output->payload),
|
|
@@ -746,7 +750,7 @@ int git_patch_from_buffers(
|
|
|
746
750
|
return patch_from_sources(out, &osrc, &nsrc, opts);
|
|
747
751
|
}
|
|
748
752
|
|
|
749
|
-
int
|
|
753
|
+
int git_patch_generated_from_diff(
|
|
750
754
|
git_patch **patch_ptr, git_diff *diff, size_t idx)
|
|
751
755
|
{
|
|
752
756
|
int error = 0;
|
|
@@ -42,6 +42,8 @@ extern void git_patch_generated_old_data(
|
|
|
42
42
|
char **, size_t *, git_patch_generated *);
|
|
43
43
|
extern void git_patch_generated_new_data(
|
|
44
44
|
char **, size_t *, git_patch_generated *);
|
|
45
|
+
extern int git_patch_generated_from_diff(
|
|
46
|
+
git_patch **, git_diff *, size_t);
|
|
45
47
|
|
|
46
48
|
typedef struct git_patch_generated_output git_patch_generated_output;
|
|
47
49
|
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
#include "git2/patch.h"
|
|
8
8
|
#include "patch.h"
|
|
9
9
|
#include "patch_parse.h"
|
|
10
|
+
#include "diff_parse.h"
|
|
10
11
|
#include "path.h"
|
|
11
12
|
|
|
12
13
|
#define parse_err(...) \
|
|
@@ -1025,6 +1026,20 @@ void git_patch_parse_ctx_free(git_patch_parse_ctx *ctx)
|
|
|
1025
1026
|
GIT_REFCOUNT_DEC(ctx, patch_parse_ctx_free);
|
|
1026
1027
|
}
|
|
1027
1028
|
|
|
1029
|
+
int git_patch_parsed_from_diff(git_patch **out, git_diff *d, size_t idx)
|
|
1030
|
+
{
|
|
1031
|
+
git_diff_parsed *diff = (git_diff_parsed *)d;
|
|
1032
|
+
git_patch *p;
|
|
1033
|
+
|
|
1034
|
+
if ((p = git_vector_get(&diff->patches, idx)) == NULL)
|
|
1035
|
+
return -1;
|
|
1036
|
+
|
|
1037
|
+
GIT_REFCOUNT_INC(p);
|
|
1038
|
+
*out = p;
|
|
1039
|
+
|
|
1040
|
+
return 0;
|
|
1041
|
+
}
|
|
1042
|
+
|
|
1028
1043
|
static void patch_parsed__free(git_patch *p)
|
|
1029
1044
|
{
|
|
1030
1045
|
git_patch_parsed *patch = (git_patch_parsed *)p;
|
|
@@ -599,6 +599,7 @@ static int http_connect(http_subtransport *t)
|
|
|
599
599
|
git_stream_close(t->io);
|
|
600
600
|
git_stream_free(t->io);
|
|
601
601
|
t->io = NULL;
|
|
602
|
+
t->connected = 0;
|
|
602
603
|
}
|
|
603
604
|
|
|
604
605
|
if (t->connection_data.use_ssl) {
|
|
@@ -1035,6 +1036,8 @@ static int http_close(git_smart_subtransport *subtransport)
|
|
|
1035
1036
|
|
|
1036
1037
|
clear_parser_state(t);
|
|
1037
1038
|
|
|
1039
|
+
t->connected = 0;
|
|
1040
|
+
|
|
1038
1041
|
if (t->io) {
|
|
1039
1042
|
git_stream_close(t->io);
|
|
1040
1043
|
git_stream_free(t->io);
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rugged
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.25.
|
|
4
|
+
version: 0.25.0b8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Scott Chacon
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2016-
|
|
12
|
+
date: 2016-09-02 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: rake-compiler
|
|
@@ -298,6 +298,7 @@ files:
|
|
|
298
298
|
- vendor/libgit2/src/diff_generate.c
|
|
299
299
|
- vendor/libgit2/src/diff_generate.h
|
|
300
300
|
- vendor/libgit2/src/diff_parse.c
|
|
301
|
+
- vendor/libgit2/src/diff_parse.h
|
|
301
302
|
- vendor/libgit2/src/diff_print.c
|
|
302
303
|
- vendor/libgit2/src/diff_stats.c
|
|
303
304
|
- vendor/libgit2/src/diff_tform.c
|