diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-08-26 22:55:04 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-08-26 22:55:04 -0700 |
commit | bfd91b41341cb922aa1ba6e7c01ccd5ebb81cf41 (patch) | |
tree | 8309adc9af63683b18c6c30c8ee4a4d74fc567dc /trailer.h | |
parent | 0b9635847944f97079fc6c2283063cd3a0ed0271 (diff) | |
parent | c88bf5436d84762a474048a0a57409a8f2fa2c6b (diff) | |
download | git-bfd91b41341cb922aa1ba6e7c01ccd5ebb81cf41.tar.gz |
Merge branch 'pb/trailers-from-command-line'
"git interpret-trailers" learned to take the trailer specifications
from the command line that overrides the configured values.
* pb/trailers-from-command-line:
interpret-trailers: fix documentation typo
interpret-trailers: add options for actions
trailers: introduce struct new_trailer_item
trailers: export action enums and corresponding lookup functions
Diffstat (limited to 'trailer.h')
-rw-r--r-- | trailer.h | 43 |
1 files changed, 42 insertions, 1 deletions
@@ -1,6 +1,33 @@ #ifndef TRAILER_H #define TRAILER_H +#include "list.h" + +enum trailer_where { + WHERE_DEFAULT, + WHERE_END, + WHERE_AFTER, + WHERE_BEFORE, + WHERE_START +}; +enum trailer_if_exists { + EXISTS_DEFAULT, + EXISTS_ADD_IF_DIFFERENT_NEIGHBOR, + EXISTS_ADD_IF_DIFFERENT, + EXISTS_ADD, + EXISTS_REPLACE, + EXISTS_DO_NOTHING +}; +enum trailer_if_missing { + MISSING_DEFAULT, + MISSING_ADD, + MISSING_DO_NOTHING +}; + +int trailer_set_where(enum trailer_where *item, const char *value); +int trailer_set_if_exists(enum trailer_if_exists *item, const char *value); +int trailer_set_if_missing(enum trailer_if_missing *item, const char *value); + struct trailer_info { /* * True if there is a blank line before the location pointed to by @@ -22,8 +49,22 @@ struct trailer_info { size_t trailer_nr; }; +/* + * A list that represents newly-added trailers, such as those provided + * with the --trailer command line option of git-interpret-trailers. + */ +struct new_trailer_item { + struct list_head list; + + const char *text; + + enum trailer_where where; + enum trailer_if_exists if_exists; + enum trailer_if_missing if_missing; +}; + void process_trailers(const char *file, int in_place, int trim_empty, - struct string_list *trailers); + struct list_head *new_trailer_head); void trailer_info_get(struct trailer_info *info, const char *str); |