Adding upstream version 1:2.47.2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
This commit is contained in:
parent
fd5a0bafa2
commit
54102a2c29
4535 changed files with 1510258 additions and 0 deletions
71
entry.h
Normal file
71
entry.h
Normal file
|
@ -0,0 +1,71 @@
|
|||
#ifndef ENTRY_H
|
||||
#define ENTRY_H
|
||||
|
||||
#include "convert.h"
|
||||
|
||||
struct cache_entry;
|
||||
struct index_state;
|
||||
|
||||
struct checkout {
|
||||
struct index_state *istate;
|
||||
const char *base_dir;
|
||||
int base_dir_len;
|
||||
const char *super_prefix;
|
||||
struct delayed_checkout *delayed_checkout;
|
||||
struct checkout_metadata meta;
|
||||
unsigned force:1,
|
||||
quiet:1,
|
||||
not_new:1,
|
||||
clone:1,
|
||||
refresh_cache:1;
|
||||
};
|
||||
#define CHECKOUT_INIT { .base_dir = "" }
|
||||
|
||||
#define TEMPORARY_FILENAME_LENGTH 25
|
||||
/*
|
||||
* Write the contents from ce out to the working tree.
|
||||
*
|
||||
* When topath[] is not NULL, instead of writing to the working tree
|
||||
* file named by ce, a temporary file is created by this function and
|
||||
* its name is returned in topath[], which must be able to hold at
|
||||
* least TEMPORARY_FILENAME_LENGTH bytes long.
|
||||
*
|
||||
* With checkout_entry_ca(), callers can optionally pass a preloaded
|
||||
* conv_attrs struct (to avoid reloading it), when ce refers to a
|
||||
* regular file. If ca is NULL, the attributes will be loaded
|
||||
* internally when (and if) needed.
|
||||
*/
|
||||
int checkout_entry_ca(struct cache_entry *ce, struct conv_attrs *ca,
|
||||
const struct checkout *state, char *topath,
|
||||
int *nr_checkouts);
|
||||
static inline int checkout_entry(struct cache_entry *ce,
|
||||
const struct checkout *state, char *topath,
|
||||
int *nr_checkouts)
|
||||
{
|
||||
return checkout_entry_ca(ce, NULL, state, topath, nr_checkouts);
|
||||
}
|
||||
|
||||
void enable_delayed_checkout(struct checkout *state);
|
||||
int finish_delayed_checkout(struct checkout *state, int show_progress);
|
||||
|
||||
/*
|
||||
* Unlink the last component and schedule the leading directories for
|
||||
* removal, such that empty directories get removed.
|
||||
*
|
||||
* The "super_prefix" is either NULL, or the "--super-prefix" passed
|
||||
* down from "read-tree" et al.
|
||||
*/
|
||||
void unlink_entry(const struct cache_entry *ce, const char *super_prefix);
|
||||
|
||||
void *read_blob_entry(const struct cache_entry *ce, size_t *size);
|
||||
int fstat_checkout_output(int fd, const struct checkout *state, struct stat *st);
|
||||
void update_ce_after_write(const struct checkout *state, struct cache_entry *ce,
|
||||
struct stat *st);
|
||||
|
||||
/*
|
||||
* Calls the correct function out of {unlink,rmdir}_or_warn based on
|
||||
* the supplied file mode.
|
||||
*/
|
||||
int remove_or_warn(unsigned int mode, const char *path);
|
||||
|
||||
#endif /* ENTRY_H */
|
Loading…
Add table
Add a link
Reference in a new issue