merge(3p/git): Merge git upstream at v2.26.2

This commit is contained in:
Vincent Ambo 2020-05-22 17:46:45 +01:00
commit 5229c9b232
1006 changed files with 149006 additions and 60819 deletions

View file

@ -244,6 +244,18 @@ void strbuf_addchars(struct strbuf *sb, int c, size_t n);
*/
void strbuf_insert(struct strbuf *sb, size_t pos, const void *, size_t);
/**
* Insert a NUL-terminated string to the given position of the buffer.
* The remaining contents will be shifted, not overwritten. It's an
* inline function to allow the compiler to resolve strlen() calls on
* constants at compile time.
*/
static inline void strbuf_insertstr(struct strbuf *sb, size_t pos,
const char *s)
{
strbuf_insert(sb, pos, s, strlen(s));
}
/**
* Insert data to the given position of the buffer giving a printf format
* string. The contents will be shifted, not overwritten.
@ -366,6 +378,12 @@ size_t strbuf_expand_dict_cb(struct strbuf *sb,
*/
void strbuf_addbuf_percentquote(struct strbuf *dst, const struct strbuf *src);
/**
* Append the contents of a string to a strbuf, percent-encoding any characters
* that are needed to be encoded for a URL.
*/
void strbuf_add_percentencode(struct strbuf *dst, const char *src);
/**
* Append the given byte size as a human-readable string (i.e. 12.23 KiB,
* 3.50 MiB).
@ -621,6 +639,17 @@ int launch_editor(const char *path, struct strbuf *buffer,
int launch_sequence_editor(const char *path, struct strbuf *buffer,
const char *const *env);
/*
* In contrast to `launch_editor()`, this function writes out the contents
* of the specified file first, then clears the `buffer`, then launches
* the editor and reads back in the file contents into the `buffer`.
* Finally, it deletes the temporary file.
*
* If `path` is relative, it refers to a file in the `.git` directory.
*/
int strbuf_edit_interactively(struct strbuf *buffer, const char *path,
const char *const *env);
void strbuf_add_lines(struct strbuf *sb,
const char *prefix,
const char *buf,
@ -672,8 +701,13 @@ void strbuf_branchname(struct strbuf *sb, const char *name,
*/
int strbuf_check_branch_ref(struct strbuf *sb, const char *name);
typedef int (*char_predicate)(char ch);
int is_rfc3986_unreserved(char ch);
int is_rfc3986_reserved_or_unreserved(char ch);
void strbuf_addstr_urlencode(struct strbuf *sb, const char *name,
int reserved);
char_predicate allow_unencoded_fn);
__attribute__((format (printf,1,2)))
int printf_ln(const char *fmt, ...);