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.
60 lines
1.5 KiB
60 lines
1.5 KiB
#ifndef RESET_H |
|
#define RESET_H |
|
|
|
#include "hash.h" |
|
#include "repository.h" |
|
|
|
#define GIT_REFLOG_ACTION_ENVIRONMENT "GIT_REFLOG_ACTION" |
|
|
|
/* Request a detached checkout */ |
|
#define RESET_HEAD_DETACH (1<<0) |
|
/* Request a reset rather than a checkout */ |
|
#define RESET_HEAD_HARD (1<<1) |
|
/* Run the post-checkout hook */ |
|
#define RESET_HEAD_RUN_POST_CHECKOUT_HOOK (1<<2) |
|
/* Only update refs, do not touch the worktree */ |
|
#define RESET_HEAD_REFS_ONLY (1<<3) |
|
/* Update ORIG_HEAD as well as HEAD */ |
|
#define RESET_ORIG_HEAD (1<<4) |
|
|
|
struct reset_head_opts { |
|
/* |
|
* The commit to checkout/reset to. Defaults to HEAD. |
|
*/ |
|
const struct object_id *oid; |
|
/* |
|
* Optional value to set ORIG_HEAD. Defaults to HEAD. |
|
*/ |
|
const struct object_id *orig_head; |
|
/* |
|
* Optional branch to switch to. |
|
*/ |
|
const char *branch; |
|
/* |
|
* Flags defined above. |
|
*/ |
|
unsigned flags; |
|
/* |
|
* Optional reflog message for branch, defaults to head_msg. |
|
*/ |
|
const char *branch_msg; |
|
/* |
|
* Optional reflog message for HEAD, if this omitted but oid or branch |
|
* are given then default_reflog_action must be given. |
|
*/ |
|
const char *head_msg; |
|
/* |
|
* Optional reflog message for ORIG_HEAD, if this omitted and flags |
|
* contains RESET_ORIG_HEAD then default_reflog_action must be given. |
|
*/ |
|
const char *orig_head_msg; |
|
/* |
|
* Action to use in default reflog messages, only required if a ref is |
|
* being updated and the reflog messages above are omitted. |
|
*/ |
|
const char *default_reflog_action; |
|
}; |
|
|
|
int reset_head(struct repository *r, const struct reset_head_opts *opts); |
|
|
|
#endif
|
|
|