git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: git@vger.kernel.org
Subject: [PATCH 2/5] diff-index: keep the original index intact
Date: Wed,  5 Aug 2009 02:15:43 -0700	[thread overview]
Message-ID: <1249463746-21538-3-git-send-email-gitster@pobox.com> (raw)
In-Reply-To: <1249463746-21538-2-git-send-email-gitster@pobox.com>

When comparing the index and a tree, we used to read the contents of the
tree into stage #1 of the index and compared them with stage #0.  In order
not to lose sight of entries originally unmerged in the index, we hoisted
them to stage #3 before reading the tree.

Commit d1f2d7e (Make run_diff_index() use unpack_trees(), not read_tree(),
2008-01-19) changed all this.  These days, we instead use unpack_trees()
API to traverse the tree and compare the contents with the index, without
modifying the index at all.  There is no reason to hoist the unmerged
entries to stage #3 anymore.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 diff-lib.c |   18 ------------------
 1 files changed, 0 insertions(+), 18 deletions(-)

diff --git a/diff-lib.c b/diff-lib.c
index ad5b6ca..2a82dac 100644
--- a/diff-lib.c
+++ b/diff-lib.c
@@ -309,22 +309,6 @@ static int show_modified(struct rev_info *revs,
 }
 
 /*
- * This turns all merge entries into "stage 3". That guarantees that
- * when we read in the new tree (into "stage 1"), we won't lose sight
- * of the fact that we had unmerged entries.
- */
-static void mark_merge_entries(void)
-{
-	int i;
-	for (i = 0; i < active_nr; i++) {
-		struct cache_entry *ce = active_cache[i];
-		if (!ce_stage(ce))
-			continue;
-		ce->ce_flags |= CE_STAGEMASK;
-	}
-}
-
-/*
  * This gets a mix of an existing index and a tree, one pathname entry
  * at a time. The index entry may be a single stage-0 one, but it could
  * also be multiple unmerged entries (in which case idx_pos/idx_nr will
@@ -435,8 +419,6 @@ int run_diff_index(struct rev_info *revs, int cached)
 	struct unpack_trees_options opts;
 	struct tree_desc t;
 
-	mark_merge_entries();
-
 	ent = revs->pending.objects[0].item;
 	tree_name = revs->pending.objects[0].name;
 	tree = parse_tree_indirect(ent->sha1);
-- 
1.6.4.18.g07a4a

  reply	other threads:[~2009-08-05  9:16 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-05  9:15 [PATCH 0/5] Revamping "git status" Junio C Hamano
2009-08-05  9:15 ` [PATCH 1/5] diff-index: report unmerged new entries Junio C Hamano
2009-08-05  9:15   ` Junio C Hamano [this message]
2009-08-05  9:15     ` [PATCH 3/5] wt-status.c: rework the way changes to the index and work tree are summarized Junio C Hamano
2009-08-05  9:15       ` [PATCH 4/5] status: show worktree status of conflicted paths separately Junio C Hamano
2009-08-05  9:15         ` [PATCH 5/5] shortstatus: a new command Junio C Hamano
2009-08-06 15:33           ` Jeff King
2009-08-06 16:23             ` Breaking "git status" (was Re: [PATCH 5/5] shortstatus: a new command) Junio C Hamano
2009-08-06 16:42               ` Jeff King
2009-08-06 19:06                 ` Breaking "git status" Junio C Hamano
2009-08-06 19:57               ` Breaking "git status" (was Re: [PATCH 5/5] shortstatus: a new command) Sverre Rabbelier
2009-08-06 14:53         ` [PATCH 4/5] status: show worktree status of conflicted paths separately Jeff King
2009-08-06 14:46       ` [PATCH 3/5] wt-status.c: rework the way changes to the index and work tree are summarized Jeff King
2009-08-06 15:50         ` Junio C Hamano
2009-08-05  9:49 ` [PATCH 0/5] Revamping "git status" Thomas Rast
2009-08-05 16:57   ` Junio C Hamano
2009-08-05 17:37     ` Thomas Rast
2009-08-05 17:40       ` Thomas Rast
2009-08-05 18:05         ` Junio C Hamano
2009-08-05 18:52           ` Thomas Rast
2009-08-05 20:02             ` Junio C Hamano
2009-08-05 20:14               ` Thomas Rast

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=1249463746-21538-3-git-send-email-gitster@pobox.com \
    --to=gitster@pobox.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).