From: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
To: git@vger.kernel.org
Cc: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Subject: [PATCH 8/8] wt-status: show sparse checkout info
Date: Sun, 30 Nov 2008 17:54:38 +0700 [thread overview]
Message-ID: <1228042478-1886-9-git-send-email-pclouds@gmail.com> (raw)
In-Reply-To: <1228042478-1886-8-git-send-email-pclouds@gmail.com>
This will make "git status" show core.defaultsparse and list of
orphaned files if present.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
wt-status.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
wt-status.h | 1 +
2 files changed, 45 insertions(+), 0 deletions(-)
diff --git a/wt-status.c b/wt-status.c
index 3edae43..71cf809 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -20,6 +20,7 @@ static char wt_status_colors[][COLOR_MAXLEN] = {
"\033[31m", /* WT_STATUS_CHANGED: red */
"\033[31m", /* WT_STATUS_UNTRACKED: red */
"\033[31m", /* WT_STATUS_NOBRANCH: red */
+ "\033[31m", /* WT_STATUS_ORPHANED: red */
};
enum untracked_status_type show_untracked_files = SHOW_NORMAL_UNTRACKED_FILES;
@@ -83,6 +84,16 @@ static void wt_status_print_dirty_header(struct wt_status *s,
color_fprintf_ln(s->fp, c, "#");
}
+static void wt_status_print_orphaned_header(struct wt_status *s)
+{
+ const char *c = color(WT_STATUS_HEADER);
+ color_fprintf_ln(s->fp, c, "# Orphaned files:");
+ color_fprintf_ln(s->fp, c, "# (these are tracked, but marked no-checkout and should not be present)");
+ color_fprintf_ln(s->fp, c, "# (use \"git update-index --checkout\" to remove no-checkout status)");
+ color_fprintf_ln(s->fp, c, "# (otherwise remove them to avoid confusion because git will ignore them)");
+ color_fprintf_ln(s->fp, c, "#");
+}
+
static void wt_status_print_untracked_header(struct wt_status *s)
{
const char *c = color(WT_STATUS_HEADER);
@@ -211,6 +222,33 @@ static void wt_status_print_changed(struct wt_status *s)
run_diff_files(&rev, 0);
}
+static void wt_status_print_orphaned(struct wt_status *s)
+{
+ int i, show_header = 0;
+ struct stat st;
+ struct strbuf buf;
+
+ strbuf_init(&buf, 0);
+ for (i = 0; i < the_index.cache_nr; i++) {
+ struct cache_entry *ce = the_index.cache[i];
+
+ if (ce_checkout(ce) || lstat(ce->name, &st))
+ continue;
+
+ if (!show_header) {
+ wt_status_print_orphaned_header(s);
+ show_header = 1;
+ }
+
+ color_fprintf(s->fp, color(WT_STATUS_HEADER), "#\t");
+ color_fprintf_ln(s->fp, color(WT_STATUS_ORPHANED), "%s",
+ quote_path(ce->name, -1, &buf, s->prefix));
+ }
+
+ if (show_header)
+ color_fprintf_ln(s->fp, color(WT_STATUS_HEADER),"#");
+}
+
static void wt_status_print_submodule_summary(struct wt_status *s)
{
struct child_process sm_summary;
@@ -344,8 +382,14 @@ void wt_status_print(struct wt_status *s)
color_fprintf_ln(s->fp, color(WT_STATUS_HEADER), "#");
}
+ if (core_default_sparse) {
+ color_fprintf_ln(s->fp, color(WT_STATUS_HEADER), "# Sparse patterns: %s", core_default_sparse);
+ color_fprintf_ln(s->fp, color(WT_STATUS_HEADER), "#");
+ }
+
wt_status_print_updated(s);
wt_status_print_changed(s);
+ wt_status_print_orphaned(s);
if (wt_status_submodule_summary)
wt_status_print_submodule_summary(s);
if (show_untracked_files)
diff --git a/wt-status.h b/wt-status.h
index 78add09..52f1eb5 100644
--- a/wt-status.h
+++ b/wt-status.h
@@ -9,6 +9,7 @@ enum color_wt_status {
WT_STATUS_CHANGED,
WT_STATUS_UNTRACKED,
WT_STATUS_NOBRANCH,
+ WT_STATUS_ORPHANED,
};
enum untracked_status_type {
--
1.6.0.3.890.g95457
next prev parent reply other threads:[~2008-11-30 10:57 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-30 10:54 [PATCH 0/8] Sparse checkout, the last half of the series Nguyễn Thái Ngọc Duy
2008-11-30 10:54 ` [PATCH 1/8] generate-cmdlist.sh: avoid selecting synopsis at wrong place Nguyễn Thái Ngọc Duy
2008-11-30 10:54 ` [PATCH 2/8] Introduce "sparse patterns" Nguyễn Thái Ngọc Duy
2008-11-30 10:54 ` [PATCH 3/8] unpack_trees(): keep track of unmerged entries Nguyễn Thái Ngọc Duy
2008-11-30 10:54 ` [PATCH 4/8] unpack_trees(): add support for sparse checkout Nguyễn Thái Ngọc Duy
2008-11-30 10:54 ` [PATCH 5/8] clone: support sparse checkout with --sparse-checkout option Nguyễn Thái Ngọc Duy
2008-11-30 10:54 ` [PATCH 6/8] checkout: add new options to support sparse checkout Nguyễn Thái Ngọc Duy
2008-11-30 10:54 ` [PATCH 7/8] Introduce default sparse patterns (core.defaultsparse) Nguyễn Thái Ngọc Duy
2008-11-30 10:54 ` Nguyễn Thái Ngọc Duy [this message]
2008-12-01 14:10 ` [PATCH 1/8] generate-cmdlist.sh: avoid selecting synopsis at wrong place Johannes Schindelin
2008-12-01 14:11 ` Nguyen Thai Ngoc Duy
2008-12-01 14:11 ` Junio C Hamano
2008-12-01 15:39 ` Johannes Schindelin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1228042478-1886-9-git-send-email-pclouds@gmail.com \
--to=pclouds@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.