You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.1 KiB
43 lines
1.1 KiB
4 years ago
|
#ifndef ENTRY_H
|
||
|
#define ENTRY_H
|
||
|
|
||
|
#include "cache.h"
|
||
|
#include "convert.h"
|
||
|
|
||
|
struct checkout {
|
||
|
struct index_state *istate;
|
||
|
const char *base_dir;
|
||
|
int base_dir_len;
|
||
|
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 { NULL, "" }
|
||
|
|
||
|
#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.
|
||
|
*/
|
||
|
int checkout_entry(struct cache_entry *ce, const struct checkout *state,
|
||
|
char *topath, int *nr_checkouts);
|
||
|
|
||
|
void enable_delayed_checkout(struct checkout *state);
|
||
|
int finish_delayed_checkout(struct checkout *state, int *nr_checkouts);
|
||
|
|
||
|
/*
|
||
|
* Unlink the last component and schedule the leading directories for
|
||
|
* removal, such that empty directories get removed.
|
||
|
*/
|
||
|
void unlink_entry(const struct cache_entry *ce);
|
||
|
|
||
|
#endif /* ENTRY_H */
|