completion: offer ctags symbol names for 'git log -S', '-G' and '-L:'
[gitweb.git] / wt-status.h
index 9389076f6944cc035a0f8bf4ae9664deaf88a18c..54fec77032dc9c5d0f7af4226afc886797a209c4 100644 (file)
@@ -38,6 +38,9 @@ struct wt_status_change_data {
        int worktree_status;
        int index_status;
        int stagemask;
+       int score;
+       int mode_head, mode_index, mode_worktree;
+       struct object_id oid_head, oid_index;
        char *head_path;
        unsigned dirty_submodule       : 2;
        unsigned new_submodule_commits : 1;
@@ -48,6 +51,7 @@ enum wt_status_format {
        STATUS_FORMAT_LONG,
        STATUS_FORMAT_SHORT,
        STATUS_FORMAT_PORCELAIN,
+       STATUS_FORMAT_PORCELAIN_V2,
 
        STATUS_FORMAT_UNSPECIFIED
 };
@@ -76,6 +80,7 @@ struct wt_status {
        int hints;
 
        enum wt_status_format status_format;
+       unsigned char sha1_commit[GIT_SHA1_RAWSZ]; /* when not Initial */
 
        /* These are computed during processing of the individual sections */
        int commitable;
@@ -123,4 +128,10 @@ 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 */