rugged 0.25.1.1 → 0.26.0b1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/include/git2/common.h +10 -0
- data/vendor/libgit2/include/git2/merge.h +2 -1
- data/vendor/libgit2/include/git2/oid.h +4 -5
- data/vendor/libgit2/include/git2/submodule.h +2 -11
- data/vendor/libgit2/include/git2/sys/repository.h +29 -0
- data/vendor/libgit2/include/git2/tree.h +13 -0
- data/vendor/libgit2/src/apply.c +2 -2
- data/vendor/libgit2/src/attr_file.c +5 -5
- data/vendor/libgit2/src/attrcache.c +9 -7
- data/vendor/libgit2/src/blob.c +3 -3
- data/vendor/libgit2/src/branch.c +10 -10
- data/vendor/libgit2/src/buffer.c +4 -4
- data/vendor/libgit2/src/cache.c +1 -1
- data/vendor/libgit2/src/checkout.c +29 -25
- data/vendor/libgit2/src/cherrypick.c +2 -2
- data/vendor/libgit2/src/commit.c +2 -2
- data/vendor/libgit2/src/commit_list.c +2 -2
- data/vendor/libgit2/src/common.h +1 -1
- data/vendor/libgit2/src/config.c +12 -12
- data/vendor/libgit2/src/config_file.c +9 -9
- data/vendor/libgit2/src/crlf.c +1 -1
- data/vendor/libgit2/src/delta.c +4 -4
- data/vendor/libgit2/src/describe.c +11 -11
- data/vendor/libgit2/src/diff_driver.c +1 -1
- data/vendor/libgit2/src/diff_file.c +1 -1
- data/vendor/libgit2/src/diff_generate.c +2 -2
- data/vendor/libgit2/src/diff_print.c +5 -5
- data/vendor/libgit2/src/diff_tform.c +1 -1
- data/vendor/libgit2/src/diff_xdiff.c +2 -2
- data/vendor/libgit2/src/fetch.c +1 -1
- data/vendor/libgit2/src/fetchhead.c +8 -8
- data/vendor/libgit2/src/filebuf.c +9 -9
- data/vendor/libgit2/src/fileops.c +27 -27
- data/vendor/libgit2/src/filter.c +4 -4
- data/vendor/libgit2/src/hashsig.c +2 -2
- data/vendor/libgit2/src/ignore.c +4 -4
- data/vendor/libgit2/src/index.c +15 -15
- data/vendor/libgit2/src/indexer.c +39 -6
- data/vendor/libgit2/src/integer.h +6 -6
- data/vendor/libgit2/src/merge.c +12 -12
- data/vendor/libgit2/src/merge_file.c +1 -1
- data/vendor/libgit2/src/mwindow.c +1 -1
- data/vendor/libgit2/src/netops.c +4 -4
- data/vendor/libgit2/src/notes.c +3 -3
- data/vendor/libgit2/src/object.c +5 -5
- data/vendor/libgit2/src/odb.c +12 -12
- data/vendor/libgit2/src/odb_loose.c +6 -6
- data/vendor/libgit2/src/oid.c +5 -5
- data/vendor/libgit2/src/openssl_stream.c +3 -3
- data/vendor/libgit2/src/pack-objects.c +6 -6
- data/vendor/libgit2/src/pack.c +19 -10
- data/vendor/libgit2/src/pack.h +1 -0
- data/vendor/libgit2/src/patch_generate.c +5 -3
- data/vendor/libgit2/src/path.c +15 -15
- data/vendor/libgit2/src/pathspec.c +2 -2
- data/vendor/libgit2/src/posix.c +1 -1
- data/vendor/libgit2/src/push.c +6 -6
- data/vendor/libgit2/src/rebase.c +12 -12
- data/vendor/libgit2/src/refdb.c +1 -1
- data/vendor/libgit2/src/refdb_fs.c +12 -12
- data/vendor/libgit2/src/reflog.c +2 -2
- data/vendor/libgit2/src/refs.c +34 -17
- data/vendor/libgit2/src/refs.h +3 -0
- data/vendor/libgit2/src/remote.c +3 -3
- data/vendor/libgit2/src/repository.c +46 -13
- data/vendor/libgit2/src/repository.h +2 -1
- data/vendor/libgit2/src/reset.c +1 -1
- data/vendor/libgit2/src/revert.c +2 -2
- data/vendor/libgit2/src/revparse.c +5 -5
- data/vendor/libgit2/src/revwalk.c +3 -3
- data/vendor/libgit2/src/settings.c +6 -1
- data/vendor/libgit2/src/sha1_lookup.c +1 -1
- data/vendor/libgit2/src/signature.c +1 -1
- data/vendor/libgit2/src/socket_stream.c +5 -5
- data/vendor/libgit2/src/sortedcache.c +5 -5
- data/vendor/libgit2/src/stash.c +6 -6
- data/vendor/libgit2/src/status.c +4 -4
- data/vendor/libgit2/src/submodule.c +159 -110
- data/vendor/libgit2/src/submodule.h +3 -0
- data/vendor/libgit2/src/sysdir.c +2 -2
- data/vendor/libgit2/src/tag.c +14 -14
- data/vendor/libgit2/src/trace.c +1 -1
- data/vendor/libgit2/src/transport.c +1 -1
- data/vendor/libgit2/src/transports/auth_negotiate.c +4 -4
- data/vendor/libgit2/src/transports/cred.c +1 -1
- data/vendor/libgit2/src/transports/git.c +3 -3
- data/vendor/libgit2/src/transports/http.c +6 -6
- data/vendor/libgit2/src/transports/local.c +2 -2
- data/vendor/libgit2/src/transports/smart.c +5 -5
- data/vendor/libgit2/src/transports/smart_pkt.c +4 -4
- data/vendor/libgit2/src/transports/smart_protocol.c +1 -1
- data/vendor/libgit2/src/transports/ssh.c +9 -9
- data/vendor/libgit2/src/transports/winhttp.c +155 -118
- data/vendor/libgit2/src/tree-cache.c +2 -2
- data/vendor/libgit2/src/tree.c +35 -20
- data/vendor/libgit2/src/unix/map.c +1 -1
- data/vendor/libgit2/src/util.c +3 -3
- data/vendor/libgit2/src/vector.c +3 -0
- data/vendor/libgit2/src/win32/dir.c +3 -3
- data/vendor/libgit2/src/win32/findfile.c +1 -1
- data/vendor/libgit2/src/win32/map.c +6 -6
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +2 -2
- data/vendor/libgit2/src/win32/w32_util.c +1 -1
- data/vendor/libgit2/src/win32/w32_util.h +1 -1
- data/vendor/libgit2/src/zstream.c +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b1dd3ce63e4c8e41cc6b04950f6c4fa362e0fa1a
|
4
|
+
data.tar.gz: 8c814affe49194cf47e62db78b6a9a5ce8aceac2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f16ed52fe780c821490e08db1143e9cd0ab75707e735a7913df2ac84f7e00299a10b1d438733358a5949890fbedf90df169e0761c07516091589e4daf78343e
|
7
|
+
data.tar.gz: c41dd20c1066a54ba80f30d60353eba731075cc3aa1793817409b7781b8609307172a3643defa465205113c1032b18cfb5ad66fd1c3e5415a7dd550acaabd1c2
|
data/lib/rugged/version.rb
CHANGED
@@ -175,6 +175,7 @@ typedef enum {
|
|
175
175
|
GIT_OPT_SET_SSL_CERT_LOCATIONS,
|
176
176
|
GIT_OPT_SET_USER_AGENT,
|
177
177
|
GIT_OPT_ENABLE_STRICT_OBJECT_CREATION,
|
178
|
+
GIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION,
|
178
179
|
GIT_OPT_SET_SSL_CIPHERS,
|
179
180
|
GIT_OPT_GET_USER_AGENT,
|
180
181
|
} git_libgit2_opt_t;
|
@@ -289,6 +290,15 @@ typedef enum {
|
|
289
290
|
* > will be validated when creating a new commit. This defaults
|
290
291
|
* > to enabled.
|
291
292
|
*
|
293
|
+
* * opts(GIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION, int enabled)
|
294
|
+
*
|
295
|
+
* > Validate the target of a symbolic ref when creating it. For
|
296
|
+
* > example, `foobar` is not a valid ref, therefore `foobar` is
|
297
|
+
* > not a valid target for a symbolic ref by default, whereas
|
298
|
+
* > `refs/heads/foobar` is. Disabling this bypasses validation
|
299
|
+
* > so that an arbitrary strings such as `foobar` can be used
|
300
|
+
* > for a symbolic ref target. This defaults to enabled.
|
301
|
+
*
|
292
302
|
* * opts(GIT_OPT_SET_SSL_CIPHERS, const char *ciphers)
|
293
303
|
*
|
294
304
|
* > Set the SSL ciphers use for HTTPS connections.
|
@@ -290,7 +290,8 @@ typedef struct {
|
|
290
290
|
} git_merge_options;
|
291
291
|
|
292
292
|
#define GIT_MERGE_OPTIONS_VERSION 1
|
293
|
-
#define GIT_MERGE_OPTIONS_INIT {
|
293
|
+
#define GIT_MERGE_OPTIONS_INIT { \
|
294
|
+
GIT_MERGE_OPTIONS_VERSION, GIT_MERGE_FIND_RENAMES }
|
294
295
|
|
295
296
|
/**
|
296
297
|
* Initializes a `git_merge_options` with default values. Equivalent to
|
@@ -50,17 +50,16 @@ GIT_EXTERN(int) git_oid_fromstr(git_oid *out, const char *str);
|
|
50
50
|
* Parse a hex formatted null-terminated string into a git_oid.
|
51
51
|
*
|
52
52
|
* @param out oid structure the result is written into.
|
53
|
-
* @param str input hex string; must be
|
54
|
-
* long and null-terminated.
|
53
|
+
* @param str input hex string; must be null-terminated.
|
55
54
|
* @return 0 or an error code
|
56
55
|
*/
|
57
56
|
GIT_EXTERN(int) git_oid_fromstrp(git_oid *out, const char *str);
|
58
57
|
|
59
58
|
/**
|
60
|
-
* Parse N characters of a hex formatted object id into a git_oid
|
59
|
+
* Parse N characters of a hex formatted object id into a git_oid.
|
61
60
|
*
|
62
|
-
* If N is odd,
|
63
|
-
*
|
61
|
+
* If N is odd, the last byte's high nibble will be read in and the
|
62
|
+
* low nibble set to zero.
|
64
63
|
*
|
65
64
|
* @param out oid structure the result is written into.
|
66
65
|
* @param str input hex string of at least size `length`
|
@@ -134,9 +134,7 @@ typedef struct git_submodule_update_options {
|
|
134
134
|
* checkout, set the `checkout_strategy` to
|
135
135
|
* `GIT_CHECKOUT_NONE`. Generally you will want the use
|
136
136
|
* GIT_CHECKOUT_SAFE to update files in the working
|
137
|
-
* directory.
|
138
|
-
* to set the checkout strategy that will be used in
|
139
|
-
* the case where update needs to clone the repository.
|
137
|
+
* directory.
|
140
138
|
*/
|
141
139
|
git_checkout_options checkout_opts;
|
142
140
|
|
@@ -148,13 +146,6 @@ typedef struct git_submodule_update_options {
|
|
148
146
|
*/
|
149
147
|
git_fetch_options fetch_opts;
|
150
148
|
|
151
|
-
/**
|
152
|
-
* The checkout strategy to use when the sub repository needs to
|
153
|
-
* be cloned. Use GIT_CHECKOUT_SAFE to create all files
|
154
|
-
* in the working directory for the newly cloned repository.
|
155
|
-
*/
|
156
|
-
unsigned int clone_checkout_strategy;
|
157
|
-
|
158
149
|
/**
|
159
150
|
* Allow fetching from the submodule's default remote if the target
|
160
151
|
* commit isn't found. Enabled by default.
|
@@ -166,7 +157,7 @@ typedef struct git_submodule_update_options {
|
|
166
157
|
#define GIT_SUBMODULE_UPDATE_OPTIONS_INIT \
|
167
158
|
{ GIT_SUBMODULE_UPDATE_OPTIONS_VERSION, \
|
168
159
|
{ GIT_CHECKOUT_OPTIONS_VERSION, GIT_CHECKOUT_SAFE }, \
|
169
|
-
GIT_FETCH_OPTIONS_INIT,
|
160
|
+
GIT_FETCH_OPTIONS_INIT, 1 }
|
170
161
|
|
171
162
|
/**
|
172
163
|
* Initializes a `git_submodule_update_options` with default values.
|
@@ -135,6 +135,35 @@ GIT_EXTERN(void) git_repository_set_index(git_repository *repo, git_index *index
|
|
135
135
|
*/
|
136
136
|
GIT_EXTERN(int) git_repository_set_bare(git_repository *repo);
|
137
137
|
|
138
|
+
/**
|
139
|
+
* Load and cache all submodules.
|
140
|
+
*
|
141
|
+
* Because the `.gitmodules` file is unstructured, loading submodules is an
|
142
|
+
* O(N) operation. Any operation (such as `git_rebase_init`) that requires
|
143
|
+
* accessing all submodules is O(N^2) in the number of submodules, if it
|
144
|
+
* has to look each one up individually. This function loads all submodules
|
145
|
+
* and caches them so that subsequent calls to `git_submodule_lookup` are O(1).
|
146
|
+
*
|
147
|
+
* @param repo the repository whose submodules will be cached.
|
148
|
+
*/
|
149
|
+
GIT_EXTERN(int) git_repository_submodule_cache_all(
|
150
|
+
git_repository *repo);
|
151
|
+
|
152
|
+
/**
|
153
|
+
* Clear the submodule cache.
|
154
|
+
*
|
155
|
+
* Clear the submodule cache populated by `git_repository_submodule_cache_all`.
|
156
|
+
* If there is no cache, do nothing.
|
157
|
+
*
|
158
|
+
* The cache incorporates data from the repository's configuration, as well
|
159
|
+
* as the state of the working tree, the index, and HEAD. So any time any
|
160
|
+
* of these has changed, the cache might become invalid.
|
161
|
+
*
|
162
|
+
* @param repo the repository whose submodule cache will be cleared
|
163
|
+
*/
|
164
|
+
GIT_EXTERN(int) git_repository_submodule_cache_clear(
|
165
|
+
git_repository *repo);
|
166
|
+
|
138
167
|
/** @} */
|
139
168
|
GIT_END_DECL
|
140
169
|
#endif
|
@@ -375,6 +375,19 @@ GIT_EXTERN(void) git_treebuilder_filter(
|
|
375
375
|
GIT_EXTERN(int) git_treebuilder_write(
|
376
376
|
git_oid *id, git_treebuilder *bld);
|
377
377
|
|
378
|
+
/**
|
379
|
+
* Write the contents of the tree builder as a tree object
|
380
|
+
* using a shared git_buf.
|
381
|
+
*
|
382
|
+
* @see git_treebuilder_write
|
383
|
+
*
|
384
|
+
* @param oid Pointer to store the OID of the newly written tree
|
385
|
+
* @param bld Tree builder to write
|
386
|
+
* @param tree Shared buffer for writing the tree. Will be grown as necessary.
|
387
|
+
* @return 0 or an error code
|
388
|
+
*/
|
389
|
+
GIT_EXTERN(int) git_treebuilder_write_with_buffer(
|
390
|
+
git_oid *oid, git_treebuilder *bld, git_buf *tree);
|
378
391
|
|
379
392
|
/** Callback for the tree traversal method */
|
380
393
|
typedef int (*git_treewalk_cb)(
|
data/vendor/libgit2/src/apply.c
CHANGED
@@ -173,7 +173,7 @@ static int apply_hunk(
|
|
173
173
|
git_diff_line *line = git_array_get(patch->lines, linenum);
|
174
174
|
|
175
175
|
if (!line) {
|
176
|
-
error = apply_err("
|
176
|
+
error = apply_err("preimage does not contain line %"PRIuZ, linenum);
|
177
177
|
goto done;
|
178
178
|
}
|
179
179
|
|
@@ -193,7 +193,7 @@ static int apply_hunk(
|
|
193
193
|
line_num = hunk->hunk.new_start ? hunk->hunk.new_start - 1 : 0;
|
194
194
|
|
195
195
|
if (!find_hunk_linenum(&line_num, image, &preimage, line_num)) {
|
196
|
-
error = apply_err("
|
196
|
+
error = apply_err("hunk at line %d did not apply",
|
197
197
|
hunk->hunk.new_start);
|
198
198
|
goto done;
|
199
199
|
}
|
@@ -30,7 +30,7 @@ int git_attr_file__new(
|
|
30
30
|
GITERR_CHECK_ALLOC(attrs);
|
31
31
|
|
32
32
|
if (git_mutex_init(&attrs->lock) < 0) {
|
33
|
-
giterr_set(GITERR_OS, "
|
33
|
+
giterr_set(GITERR_OS, "failed to initialize lock");
|
34
34
|
git__free(attrs);
|
35
35
|
return -1;
|
36
36
|
}
|
@@ -49,7 +49,7 @@ int git_attr_file__clear_rules(git_attr_file *file, bool need_lock)
|
|
49
49
|
git_attr_rule *rule;
|
50
50
|
|
51
51
|
if (need_lock && git_mutex_lock(&file->lock) < 0) {
|
52
|
-
giterr_set(GITERR_OS, "
|
52
|
+
giterr_set(GITERR_OS, "failed to lock attribute file");
|
53
53
|
return -1;
|
54
54
|
}
|
55
55
|
|
@@ -140,7 +140,7 @@ int git_attr_file__load(
|
|
140
140
|
break;
|
141
141
|
}
|
142
142
|
default:
|
143
|
-
giterr_set(GITERR_INVALID, "
|
143
|
+
giterr_set(GITERR_INVALID, "unknown file source %d", source);
|
144
144
|
return -1;
|
145
145
|
}
|
146
146
|
|
@@ -212,7 +212,7 @@ int git_attr_file__out_of_date(
|
|
212
212
|
}
|
213
213
|
|
214
214
|
default:
|
215
|
-
giterr_set(GITERR_INVALID, "
|
215
|
+
giterr_set(GITERR_INVALID, "invalid file type %d", file->source);
|
216
216
|
return -1;
|
217
217
|
}
|
218
218
|
}
|
@@ -238,7 +238,7 @@ int git_attr_file__parse_buffer(
|
|
238
238
|
context = attrs->entry->path;
|
239
239
|
|
240
240
|
if (git_mutex_lock(&attrs->lock) < 0) {
|
241
|
-
giterr_set(GITERR_OS, "
|
241
|
+
giterr_set(GITERR_OS, "failed to lock attribute file");
|
242
242
|
return -1;
|
243
243
|
}
|
244
244
|
|
@@ -12,7 +12,7 @@ GIT_INLINE(int) attr_cache_lock(git_attr_cache *cache)
|
|
12
12
|
GIT_UNUSED(cache); /* avoid warning if threading is off */
|
13
13
|
|
14
14
|
if (git_mutex_lock(&cache->lock) < 0) {
|
15
|
-
giterr_set(GITERR_OS, "
|
15
|
+
giterr_set(GITERR_OS, "unable to get attr cache lock");
|
16
16
|
return -1;
|
17
17
|
}
|
18
18
|
return 0;
|
@@ -121,20 +121,22 @@ static int attr_cache_remove(git_attr_cache *cache, git_attr_file *file)
|
|
121
121
|
{
|
122
122
|
int error = 0;
|
123
123
|
git_attr_file_entry *entry;
|
124
|
+
git_attr_file *old = NULL;
|
124
125
|
|
125
126
|
if (!file)
|
126
127
|
return 0;
|
128
|
+
|
127
129
|
if ((error = attr_cache_lock(cache)) < 0)
|
128
130
|
return error;
|
129
131
|
|
130
132
|
if ((entry = attr_cache_lookup_entry(cache, file->entry->path)) != NULL)
|
131
|
-
|
133
|
+
old = git__compare_and_swap(&entry->file[file->source], file, NULL);
|
132
134
|
|
133
135
|
attr_cache_unlock(cache);
|
134
136
|
|
135
|
-
if (
|
136
|
-
GIT_REFCOUNT_OWN(
|
137
|
-
git_attr_file__free(
|
137
|
+
if (old) {
|
138
|
+
GIT_REFCOUNT_OWN(old, NULL);
|
139
|
+
git_attr_file__free(old);
|
138
140
|
}
|
139
141
|
|
140
142
|
return error;
|
@@ -365,7 +367,7 @@ int git_attr_cache__do_init(git_repository *repo)
|
|
365
367
|
|
366
368
|
/* set up lock */
|
367
369
|
if (git_mutex_init(&cache->lock) < 0) {
|
368
|
-
giterr_set(GITERR_OS, "
|
370
|
+
giterr_set(GITERR_OS, "unable to initialize lock for attr cache");
|
369
371
|
git__free(cache);
|
370
372
|
return -1;
|
371
373
|
}
|
@@ -430,7 +432,7 @@ int git_attr_cache__insert_macro(git_repository *repo, git_attr_rule *macro)
|
|
430
432
|
return 0;
|
431
433
|
|
432
434
|
if (git_mutex_lock(&cache->lock) < 0) {
|
433
|
-
giterr_set(GITERR_OS, "
|
435
|
+
giterr_set(GITERR_OS, "unable to get attr cache lock");
|
434
436
|
error = -1;
|
435
437
|
} else {
|
436
438
|
git_strmap_insert(macros, macro->match.pattern, macro, error);
|
data/vendor/libgit2/src/blob.c
CHANGED
@@ -96,7 +96,7 @@ static int write_file_stream(
|
|
96
96
|
p_close(fd);
|
97
97
|
|
98
98
|
if (written != file_size || read_len < 0) {
|
99
|
-
giterr_set(GITERR_OS, "
|
99
|
+
giterr_set(GITERR_OS, "failed to read file into stream");
|
100
100
|
error = -1;
|
101
101
|
}
|
102
102
|
|
@@ -142,7 +142,7 @@ static int write_symlink(
|
|
142
142
|
|
143
143
|
read_len = p_readlink(path, link_data, link_size);
|
144
144
|
if (read_len != (ssize_t)link_size) {
|
145
|
-
giterr_set(GITERR_OS, "
|
145
|
+
giterr_set(GITERR_OS, "failed to create blob: cannot read symlink '%s'", path);
|
146
146
|
git__free(link_data);
|
147
147
|
return -1;
|
148
148
|
}
|
@@ -186,7 +186,7 @@ int git_blob__create_from_paths(
|
|
186
186
|
goto done;
|
187
187
|
|
188
188
|
if (S_ISDIR(st.st_mode)) {
|
189
|
-
giterr_set(GITERR_ODB, "cannot create blob from '%s'
|
189
|
+
giterr_set(GITERR_ODB, "cannot create blob from '%s': it is a directory", content_path);
|
190
190
|
error = GIT_EDIRECTORY;
|
191
191
|
goto done;
|
192
192
|
}
|
data/vendor/libgit2/src/branch.c
CHANGED
@@ -33,7 +33,7 @@ static int retrieve_branch_reference(
|
|
33
33
|
/* OOM */;
|
34
34
|
else if ((error = git_reference_lookup(&branch, repo, ref_name.ptr)) < 0)
|
35
35
|
giterr_set(
|
36
|
-
GITERR_REFERENCE, "
|
36
|
+
GITERR_REFERENCE, "cannot locate %s branch '%s'",
|
37
37
|
is_remote ? "remote-tracking" : "local", branch_name);
|
38
38
|
|
39
39
|
*branch_reference_out = branch; /* will be NULL on error */
|
@@ -46,7 +46,7 @@ static int not_a_local_branch(const char *reference_name)
|
|
46
46
|
{
|
47
47
|
giterr_set(
|
48
48
|
GITERR_INVALID,
|
49
|
-
"
|
49
|
+
"reference '%s' is not a local branch.", reference_name);
|
50
50
|
return -1;
|
51
51
|
}
|
52
52
|
|
@@ -80,7 +80,7 @@ static int create_branch(
|
|
80
80
|
}
|
81
81
|
|
82
82
|
if (is_unmovable_head && force) {
|
83
|
-
giterr_set(GITERR_REFERENCE, "
|
83
|
+
giterr_set(GITERR_REFERENCE, "cannot force update branch '%s' as it is "
|
84
84
|
"the current HEAD of the repository.", branch_name);
|
85
85
|
error = -1;
|
86
86
|
goto cleanup;
|
@@ -135,7 +135,7 @@ int git_branch_delete(git_reference *branch)
|
|
135
135
|
assert(branch);
|
136
136
|
|
137
137
|
if (!git_reference_is_branch(branch) && !git_reference_is_remote(branch)) {
|
138
|
-
giterr_set(GITERR_INVALID, "
|
138
|
+
giterr_set(GITERR_INVALID, "reference '%s' is not a valid branch.",
|
139
139
|
git_reference_name(branch));
|
140
140
|
return GIT_ENOTFOUND;
|
141
141
|
}
|
@@ -144,7 +144,7 @@ int git_branch_delete(git_reference *branch)
|
|
144
144
|
return is_head;
|
145
145
|
|
146
146
|
if (is_head) {
|
147
|
-
giterr_set(GITERR_REFERENCE, "
|
147
|
+
giterr_set(GITERR_REFERENCE, "cannot delete branch '%s' as it is "
|
148
148
|
"the current HEAD of the repository.", git_reference_name(branch));
|
149
149
|
return -1;
|
150
150
|
}
|
@@ -306,7 +306,7 @@ int git_branch_name(
|
|
306
306
|
branch_name += strlen(GIT_REFS_REMOTES_DIR);
|
307
307
|
} else {
|
308
308
|
giterr_set(GITERR_INVALID,
|
309
|
-
"
|
309
|
+
"reference '%s' is neither a local nor a remote branch.", ref->name);
|
310
310
|
return -1;
|
311
311
|
}
|
312
312
|
*out = branch_name;
|
@@ -436,7 +436,7 @@ int git_branch_remote_name(git_buf *buf, git_repository *repo, const char *refna
|
|
436
436
|
|
437
437
|
/* Verify that this is a remote branch */
|
438
438
|
if (!git_reference__is_remote(refname)) {
|
439
|
-
giterr_set(GITERR_INVALID, "
|
439
|
+
giterr_set(GITERR_INVALID, "reference '%s' is not a remote branch.",
|
440
440
|
refname);
|
441
441
|
error = GIT_ERROR;
|
442
442
|
goto cleanup;
|
@@ -463,7 +463,7 @@ int git_branch_remote_name(git_buf *buf, git_repository *repo, const char *refna
|
|
463
463
|
git_remote_free(remote);
|
464
464
|
|
465
465
|
giterr_set(GITERR_REFERENCE,
|
466
|
-
"
|
466
|
+
"reference '%s' is ambiguous", refname);
|
467
467
|
error = GIT_EAMBIGUOUS;
|
468
468
|
goto cleanup;
|
469
469
|
}
|
@@ -477,7 +477,7 @@ int git_branch_remote_name(git_buf *buf, git_repository *repo, const char *refna
|
|
477
477
|
error = git_buf_puts(buf, remote_name);
|
478
478
|
} else {
|
479
479
|
giterr_set(GITERR_REFERENCE,
|
480
|
-
"
|
480
|
+
"could not determine remote for '%s'", refname);
|
481
481
|
error = GIT_ENOTFOUND;
|
482
482
|
}
|
483
483
|
|
@@ -566,7 +566,7 @@ int git_branch_set_upstream(git_reference *branch, const char *upstream_name)
|
|
566
566
|
local = 0;
|
567
567
|
else {
|
568
568
|
giterr_set(GITERR_REFERENCE,
|
569
|
-
"
|
569
|
+
"cannot set upstream for branch '%s'", shortname);
|
570
570
|
return GIT_ENOTFOUND;
|
571
571
|
}
|
572
572
|
|
data/vendor/libgit2/src/buffer.c
CHANGED
@@ -962,14 +962,14 @@ int git_buf_unquote(git_buf *buf)
|
|
962
962
|
case '0': case '1': case '2': case '3':
|
963
963
|
if (j == buf->size-3) {
|
964
964
|
giterr_set(GITERR_INVALID,
|
965
|
-
"
|
965
|
+
"truncated quoted character \\%c", ch);
|
966
966
|
return -1;
|
967
967
|
}
|
968
968
|
|
969
969
|
if (buf->ptr[j+1] < '0' || buf->ptr[j+1] > '7' ||
|
970
970
|
buf->ptr[j+2] < '0' || buf->ptr[j+2] > '7') {
|
971
971
|
giterr_set(GITERR_INVALID,
|
972
|
-
"
|
972
|
+
"truncated quoted character \\%c%c%c",
|
973
973
|
buf->ptr[j], buf->ptr[j+1], buf->ptr[j+2]);
|
974
974
|
return -1;
|
975
975
|
}
|
@@ -981,7 +981,7 @@ int git_buf_unquote(git_buf *buf)
|
|
981
981
|
break;
|
982
982
|
|
983
983
|
default:
|
984
|
-
giterr_set(GITERR_INVALID, "
|
984
|
+
giterr_set(GITERR_INVALID, "invalid quoted character \\%c", ch);
|
985
985
|
return -1;
|
986
986
|
}
|
987
987
|
}
|
@@ -995,6 +995,6 @@ int git_buf_unquote(git_buf *buf)
|
|
995
995
|
return 0;
|
996
996
|
|
997
997
|
invalid:
|
998
|
-
giterr_set(GITERR_INVALID, "
|
998
|
+
giterr_set(GITERR_INVALID, "invalid quoted line");
|
999
999
|
return -1;
|
1000
1000
|
}
|
data/vendor/libgit2/src/cache.c
CHANGED
@@ -70,7 +70,7 @@ int git_cache_init(git_cache *cache)
|
|
70
70
|
cache->map = git_oidmap_alloc();
|
71
71
|
GITERR_CHECK_ALLOC(cache->map);
|
72
72
|
if (git_rwlock_init(&cache->lock)) {
|
73
|
-
giterr_set(GITERR_OS, "
|
73
|
+
giterr_set(GITERR_OS, "failed to initialize cache rwlock");
|
74
74
|
return -1;
|
75
75
|
}
|
76
76
|
return 0;
|
@@ -1021,13 +1021,13 @@ static int checkout_conflicts_load_byname_entry(
|
|
1021
1021
|
*theirs_out = NULL;
|
1022
1022
|
|
1023
1023
|
if (!name_entry->ancestor) {
|
1024
|
-
giterr_set(GITERR_INDEX, "
|
1024
|
+
giterr_set(GITERR_INDEX, "a NAME entry exists without an ancestor");
|
1025
1025
|
error = -1;
|
1026
1026
|
goto done;
|
1027
1027
|
}
|
1028
1028
|
|
1029
1029
|
if (!name_entry->ours && !name_entry->theirs) {
|
1030
|
-
giterr_set(GITERR_INDEX, "
|
1030
|
+
giterr_set(GITERR_INDEX, "a NAME entry exists without an ours or theirs");
|
1031
1031
|
error = -1;
|
1032
1032
|
goto done;
|
1033
1033
|
}
|
@@ -1035,7 +1035,7 @@ static int checkout_conflicts_load_byname_entry(
|
|
1035
1035
|
if ((ancestor = checkout_conflicts_search_ancestor(data,
|
1036
1036
|
name_entry->ancestor)) == NULL) {
|
1037
1037
|
giterr_set(GITERR_INDEX,
|
1038
|
-
"
|
1038
|
+
"a NAME entry referenced ancestor entry '%s' which does not exist in the main index",
|
1039
1039
|
name_entry->ancestor);
|
1040
1040
|
error = -1;
|
1041
1041
|
goto done;
|
@@ -1047,7 +1047,7 @@ static int checkout_conflicts_load_byname_entry(
|
|
1047
1047
|
else if ((ours = checkout_conflicts_search_branch(data, name_entry->ours)) == NULL ||
|
1048
1048
|
ours->ours == NULL) {
|
1049
1049
|
giterr_set(GITERR_INDEX,
|
1050
|
-
"
|
1050
|
+
"a NAME entry referenced our entry '%s' which does not exist in the main index",
|
1051
1051
|
name_entry->ours);
|
1052
1052
|
error = -1;
|
1053
1053
|
goto done;
|
@@ -1062,7 +1062,7 @@ static int checkout_conflicts_load_byname_entry(
|
|
1062
1062
|
else if ((theirs = checkout_conflicts_search_branch(data, name_entry->theirs)) == NULL ||
|
1063
1063
|
theirs->theirs == NULL) {
|
1064
1064
|
giterr_set(GITERR_INDEX,
|
1065
|
-
"
|
1065
|
+
"a NAME entry referenced their entry '%s' which does not exist in the main index",
|
1066
1066
|
name_entry->theirs);
|
1067
1067
|
error = -1;
|
1068
1068
|
goto done;
|
@@ -1161,7 +1161,7 @@ static int checkout_conflicts_mark_directoryfile(
|
|
1161
1161
|
if ((error = git_index_find(&j, index, path)) < 0) {
|
1162
1162
|
if (error == GIT_ENOTFOUND)
|
1163
1163
|
giterr_set(GITERR_INDEX,
|
1164
|
-
"
|
1164
|
+
"index inconsistency, could not find entry for expected conflict '%s'", path);
|
1165
1165
|
|
1166
1166
|
goto done;
|
1167
1167
|
}
|
@@ -1169,7 +1169,7 @@ static int checkout_conflicts_mark_directoryfile(
|
|
1169
1169
|
for (; j < len; j++) {
|
1170
1170
|
if ((entry = git_index_get_byindex(index, j)) == NULL) {
|
1171
1171
|
giterr_set(GITERR_INDEX,
|
1172
|
-
"
|
1172
|
+
"index inconsistency, truncated index while loading expected conflict '%s'", path);
|
1173
1173
|
error = -1;
|
1174
1174
|
goto done;
|
1175
1175
|
}
|
@@ -1254,14 +1254,14 @@ static int checkout_verify_paths(
|
|
1254
1254
|
|
1255
1255
|
if (action & CHECKOUT_ACTION__REMOVE) {
|
1256
1256
|
if (!git_path_isvalid(repo, delta->old_file.path, flags)) {
|
1257
|
-
giterr_set(GITERR_CHECKOUT, "
|
1257
|
+
giterr_set(GITERR_CHECKOUT, "cannot remove invalid path '%s'", delta->old_file.path);
|
1258
1258
|
return -1;
|
1259
1259
|
}
|
1260
1260
|
}
|
1261
1261
|
|
1262
1262
|
if (action & ~CHECKOUT_ACTION__REMOVE) {
|
1263
1263
|
if (!git_path_isvalid(repo, delta->new_file.path, flags)) {
|
1264
|
-
giterr_set(GITERR_CHECKOUT, "
|
1264
|
+
giterr_set(GITERR_CHECKOUT, "cannot checkout to invalid path '%s'", delta->new_file.path);
|
1265
1265
|
return -1;
|
1266
1266
|
}
|
1267
1267
|
}
|
@@ -1430,7 +1430,7 @@ static int mkpath2file(
|
|
1430
1430
|
*/
|
1431
1431
|
error = git_futils_rmdir_r(path, NULL, GIT_RMDIR_REMOVE_FILES);
|
1432
1432
|
} else if (errno != ENOENT) {
|
1433
|
-
giterr_set(GITERR_OS, "
|
1433
|
+
giterr_set(GITERR_OS, "failed to stat '%s'", path);
|
1434
1434
|
return GIT_EEXISTS;
|
1435
1435
|
} else {
|
1436
1436
|
giterr_clear();
|
@@ -1454,7 +1454,7 @@ static int checkout_stream_write(
|
|
1454
1454
|
int ret;
|
1455
1455
|
|
1456
1456
|
if ((ret = p_write(stream->fd, buffer, len)) < 0)
|
1457
|
-
giterr_set(GITERR_OS, "
|
1457
|
+
giterr_set(GITERR_OS, "could not write to '%s'", stream->path);
|
1458
1458
|
|
1459
1459
|
return ret;
|
1460
1460
|
}
|
@@ -1503,7 +1503,7 @@ static int blob_content_to_file(
|
|
1503
1503
|
mode = GIT_FILEMODE_BLOB;
|
1504
1504
|
|
1505
1505
|
if ((fd = p_open(path, flags, mode)) < 0) {
|
1506
|
-
giterr_set(GITERR_OS, "
|
1506
|
+
giterr_set(GITERR_OS, "could not open '%s' for writing", path);
|
1507
1507
|
return fd;
|
1508
1508
|
}
|
1509
1509
|
|
@@ -1540,7 +1540,7 @@ static int blob_content_to_file(
|
|
1540
1540
|
data->perfdata.stat_calls++;
|
1541
1541
|
|
1542
1542
|
if ((error = p_stat(path, st)) < 0) {
|
1543
|
-
giterr_set(GITERR_OS, "
|
1543
|
+
giterr_set(GITERR_OS, "failed to stat '%s'", path);
|
1544
1544
|
return error;
|
1545
1545
|
}
|
1546
1546
|
|
@@ -1567,7 +1567,7 @@ static int blob_content_to_link(
|
|
1567
1567
|
|
1568
1568
|
if (data->can_symlink) {
|
1569
1569
|
if ((error = p_symlink(git_buf_cstr(&linktarget), path)) < 0)
|
1570
|
-
giterr_set(GITERR_OS, "
|
1570
|
+
giterr_set(GITERR_OS, "could not create symlink %s", path);
|
1571
1571
|
} else {
|
1572
1572
|
error = git_futils_fake_symlink(git_buf_cstr(&linktarget), path);
|
1573
1573
|
}
|
@@ -1576,7 +1576,7 @@ static int blob_content_to_link(
|
|
1576
1576
|
data->perfdata.stat_calls++;
|
1577
1577
|
|
1578
1578
|
if ((error = p_lstat(path, st)) < 0)
|
1579
|
-
giterr_set(GITERR_CHECKOUT, "
|
1579
|
+
giterr_set(GITERR_CHECKOUT, "could not stat symlink %s", path);
|
1580
1580
|
|
1581
1581
|
st->st_mode = GIT_FILEMODE_LINK;
|
1582
1582
|
}
|
@@ -1621,7 +1621,7 @@ static int checkout_submodule_update_index(
|
|
1621
1621
|
data->perfdata.stat_calls++;
|
1622
1622
|
if (p_stat(fullpath->ptr, &st) < 0) {
|
1623
1623
|
giterr_set(
|
1624
|
-
GITERR_CHECKOUT, "
|
1624
|
+
GITERR_CHECKOUT, "could not stat submodule %s\n", file->path);
|
1625
1625
|
return GIT_ENOTFOUND;
|
1626
1626
|
}
|
1627
1627
|
|
@@ -1694,7 +1694,7 @@ static int checkout_safe_for_update_only(
|
|
1694
1694
|
return 0;
|
1695
1695
|
|
1696
1696
|
/* otherwise, stat error and no update */
|
1697
|
-
giterr_set(GITERR_OS, "
|
1697
|
+
giterr_set(GITERR_OS, "failed to stat '%s'", path);
|
1698
1698
|
return -1;
|
1699
1699
|
}
|
1700
1700
|
|
@@ -1966,7 +1966,7 @@ static int checkout_path_suffixed(git_buf *path, const char *suffix)
|
|
1966
1966
|
if (i == INT_MAX) {
|
1967
1967
|
git_buf_truncate(path, path_len);
|
1968
1968
|
|
1969
|
-
giterr_set(GITERR_CHECKOUT, "
|
1969
|
+
giterr_set(GITERR_CHECKOUT, "could not write '%s': working directory file exists", path->ptr);
|
1970
1970
|
return GIT_EEXISTS;
|
1971
1971
|
}
|
1972
1972
|
|
@@ -2097,7 +2097,7 @@ static int checkout_write_merge(
|
|
2097
2097
|
goto done;
|
2098
2098
|
|
2099
2099
|
if (result.path == NULL || result.mode == 0) {
|
2100
|
-
giterr_set(GITERR_CHECKOUT, "
|
2100
|
+
giterr_set(GITERR_CHECKOUT, "could not merge contents of file");
|
2101
2101
|
error = GIT_ECONFLICT;
|
2102
2102
|
goto done;
|
2103
2103
|
}
|
@@ -2345,7 +2345,7 @@ static int checkout_data_init(
|
|
2345
2345
|
memset(data, 0, sizeof(*data));
|
2346
2346
|
|
2347
2347
|
if (!repo) {
|
2348
|
-
giterr_set(GITERR_CHECKOUT, "
|
2348
|
+
giterr_set(GITERR_CHECKOUT, "cannot checkout nothing");
|
2349
2349
|
return -1;
|
2350
2350
|
}
|
2351
2351
|
|
@@ -2553,6 +2553,10 @@ int git_checkout_iterator(
|
|
2553
2553
|
GIT_ITERATOR_IGNORE_CASE : GIT_ITERATOR_DONT_IGNORE_CASE;
|
2554
2554
|
baseline_opts.start = data.pfx;
|
2555
2555
|
baseline_opts.end = data.pfx;
|
2556
|
+
if (opts && (opts->checkout_strategy & GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH)) {
|
2557
|
+
baseline_opts.pathlist.count = opts->paths.count;
|
2558
|
+
baseline_opts.pathlist.strings = opts->paths.strings;
|
2559
|
+
}
|
2556
2560
|
|
2557
2561
|
if (data.opts.baseline_index) {
|
2558
2562
|
if ((error = git_iterator_for_index(
|
@@ -2647,7 +2651,7 @@ int git_checkout_index(
|
|
2647
2651
|
|
2648
2652
|
if (!index && !repo) {
|
2649
2653
|
giterr_set(GITERR_CHECKOUT,
|
2650
|
-
"
|
2654
|
+
"must provide either repository or index to checkout");
|
2651
2655
|
return -1;
|
2652
2656
|
}
|
2653
2657
|
|
@@ -2655,7 +2659,7 @@ int git_checkout_index(
|
|
2655
2659
|
git_index_owner(index) &&
|
2656
2660
|
git_index_owner(index) != repo) {
|
2657
2661
|
giterr_set(GITERR_CHECKOUT,
|
2658
|
-
"
|
2662
|
+
"index to checkout does not match repository");
|
2659
2663
|
return -1;
|
2660
2664
|
} else if(index && repo && !git_index_owner(index)) {
|
2661
2665
|
GIT_REFCOUNT_OWN(index, repo);
|
@@ -2694,12 +2698,12 @@ int git_checkout_tree(
|
|
2694
2698
|
|
2695
2699
|
if (!treeish && !repo) {
|
2696
2700
|
giterr_set(GITERR_CHECKOUT,
|
2697
|
-
"
|
2701
|
+
"must provide either repository or tree to checkout");
|
2698
2702
|
return -1;
|
2699
2703
|
}
|
2700
2704
|
if (treeish && repo && git_object_owner(treeish) != repo) {
|
2701
2705
|
giterr_set(GITERR_CHECKOUT,
|
2702
|
-
"
|
2706
|
+
"object to checkout does not match repository");
|
2703
2707
|
return -1;
|
2704
2708
|
}
|
2705
2709
|
|
@@ -2709,7 +2713,7 @@ int git_checkout_tree(
|
|
2709
2713
|
if (treeish) {
|
2710
2714
|
if (git_object_peel((git_object **)&tree, treeish, GIT_OBJ_TREE) < 0) {
|
2711
2715
|
giterr_set(
|
2712
|
-
GITERR_CHECKOUT, "
|
2716
|
+
GITERR_CHECKOUT, "provided object cannot be peeled to a tree");
|
2713
2717
|
return -1;
|
2714
2718
|
}
|
2715
2719
|
}
|