File: reset.h

package info (click to toggle)
git 1%3A2.50.1-0.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 61,696 kB
  • sloc: ansic: 302,907; sh: 260,696; perl: 27,874; tcl: 22,303; makefile: 4,280; python: 3,442; javascript: 772; csh: 45; lisp: 12
file content (60 lines) | stat: -rw-r--r-- 1,548 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#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