X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=wt-status.h;h=3f84d5c29ff270596a894e2d42843b03d7aa37c5;hb=f7231934dc7ec05ec0d13f8d957585c6045b79d6;hp=e0a99f75c745acd3e7fb6fd8aecd06a4d3bd5522;hpb=919cec9979a865f8169eaa30e5ff6de8e4fe5565;p=platform%2Fupstream%2Fgit.git diff --git a/wt-status.h b/wt-status.h index e0a99f7..3f84d5c 100644 --- a/wt-status.h +++ b/wt-status.h @@ -4,6 +4,9 @@ #include #include "string-list.h" #include "color.h" +#include "pathspec.h" + +struct worktree; enum color_wt_status { WT_STATUS_HEADER = 0, @@ -24,6 +27,12 @@ enum untracked_status_type { SHOW_ALL_UNTRACKED_FILES }; +enum show_ignored_type { + SHOW_NO_IGNORED, + SHOW_TRADITIONAL_IGNORED, + SHOW_MATCHING_IGNORED, +}; + /* from where does this commit originate */ enum commit_whence { FROM_COMMIT, /* normal */ @@ -35,11 +44,25 @@ struct wt_status_change_data { int worktree_status; int index_status; int stagemask; - char *head_path; + int mode_head, mode_index, mode_worktree; + struct object_id oid_head, oid_index; + int rename_status; + int rename_score; + char *rename_source; unsigned dirty_submodule : 2; unsigned new_submodule_commits : 1; }; +enum wt_status_format { + STATUS_FORMAT_NONE = 0, + STATUS_FORMAT_LONG, + STATUS_FORMAT_SHORT, + STATUS_FORMAT_PORCELAIN, + STATUS_FORMAT_PORCELAIN_V2, + + STATUS_FORMAT_UNSPECIFIED +}; + struct wt_status { int is_initial; char *branch; @@ -54,15 +77,20 @@ struct wt_status { int display_comment_prefix; int relative_paths; int submodule_summary; - int show_ignored_files; + enum show_ignored_type show_ignored_mode; enum untracked_status_type show_untracked_files; const char *ignore_submodule_arg; char color_palette[WT_STATUS_MAXSLOT][COLOR_MAXLEN]; unsigned colopts; int null_termination; + int commit_template; int show_branch; + int show_stash; int hints; + enum wt_status_format status_format; + unsigned char sha1_commit[GIT_MAX_RAWSZ]; /* when not Initial */ + /* These are computed during processing of the individual sections */ int commitable; int workdir_dirty; @@ -93,19 +121,26 @@ struct wt_status_state { unsigned char cherry_pick_head_sha1[20]; }; -void wt_status_truncate_message_at_cut_line(struct strbuf *); +size_t wt_status_locate_end(const char *s, size_t len); void wt_status_add_cut_line(FILE *fp); void wt_status_prepare(struct wt_status *s); void wt_status_print(struct wt_status *s); void wt_status_collect(struct wt_status *s); void wt_status_get_state(struct wt_status_state *state, int get_detached_from); - -void wt_shortstatus_print(struct wt_status *s); -void wt_porcelain_print(struct wt_status *s); +int wt_status_check_rebase(const struct worktree *wt, + struct wt_status_state *state); +int wt_status_check_bisect(const struct worktree *wt, + struct wt_status_state *state); __attribute__((format (printf, 3, 4))) void status_printf_ln(struct wt_status *s, const char *color, const char *fmt, ...); __attribute__((format (printf, 3, 4))) void status_printf(struct wt_status *s, const char *color, const char *fmt, ...); +/* The following functions expect that the caller took care of reading the index. */ +int has_unstaged_changes(int ignore_submodules); +int has_uncommitted_changes(int ignore_submodules); +int require_clean_work_tree(const char *action, const char *hint, + int ignore_submodules, int gently); + #endif /* STATUS_H */