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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/*
* Copyright (C) the libgit2 contributors. All rights reserved.
*
* This file is part of libgit2, distributed under the GNU GPL v2 with
* a Linking Exception. For full terms see the included COPYING file.
*/
/**
* @file git2/refspec.h
* @brief Refspecs map local references to remote references
* @defgroup git_refspec Refspecs map local references to remote references
* @ingroup Git
* @{
*/
/**
* Parse a given refspec string
*
* @param refspec a pointer to hold the refspec handle
* @param input the refspec string
* @param is_fetch is this a refspec for a fetch
* @return 0 if the refspec string could be parsed, -1 otherwise
*/
;
/**
* Free a refspec object which has been created by git_refspec_parse
*
* @param refspec the refspec object
*/
;
/**
* Get the source specifier
*
* @param refspec the refspec
* @return the refspec's source specifier
*/
;
/**
* Get the destination specifier
*
* @param refspec the refspec
* @return the refspec's destination specifier
*/
;
/**
* Get the refspec's string
*
* @param refspec the refspec
* @return the refspec's original string
*/
;
/**
* Get the force update setting
*
* @param refspec the refspec
* @return 1 if force update has been set, 0 otherwise
*/
;
/**
* Get the refspec's direction.
*
* @param spec refspec
* @return GIT_DIRECTION_FETCH or GIT_DIRECTION_PUSH
*/
;
/**
* Check if a refspec's source descriptor matches a negative reference
*
* @param refspec the refspec
* @param refname the name of the reference to check
* @return 1 if the refspec matches, 0 otherwise
*/
;
/**
* Check if a refspec's source descriptor matches a reference
*
* @param refspec the refspec
* @param refname the name of the reference to check
* @return 1 if the refspec matches, 0 otherwise
*/
;
/**
* Check if a refspec's destination descriptor matches a reference
*
* @param refspec the refspec
* @param refname the name of the reference to check
* @return 1 if the refspec matches, 0 otherwise
*/
;
/**
* Transform a reference to its target following the refspec's rules
*
* @param out where to store the target name
* @param spec the refspec
* @param name the name of the reference to transform
* @return 0, GIT_EBUFS or another error
*/
;
/**
* Transform a target reference to its source reference following the refspec's rules
*
* @param out where to store the source reference name
* @param spec the refspec
* @param name the name of the reference to transform
* @return 0, GIT_EBUFS or another error
*/
;
/** @} */