Skip to content

Commit

Permalink
run_diff_files(): clarify computation of sha1 validity
Browse files Browse the repository at this point in the history
Remove the need to have duplicated "if there is a change then feed
null_sha1 and otherwise sha1 from the cache entry" for the "new"
side of the diff by introducing two temporary variables to point
at the object name of the old and the new side of the blobs.

Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
gitster committed Feb 4, 2015
1 parent fdf96a2 commit 0b86fe8
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions diff-lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ int run_diff_files(struct rev_info *revs, unsigned int option)
struct cache_entry *ce = active_cache[i];
int changed;
unsigned dirty_submodule = 0;
const unsigned char *old_sha1, *new_sha1;

if (diff_can_quit_early(&revs->diffopt))
break;
Expand Down Expand Up @@ -224,9 +225,12 @@ int run_diff_files(struct rev_info *revs, unsigned int option)
continue;
}
oldmode = ce->ce_mode;
old_sha1 = ce->sha1;
new_sha1 = changed ? null_sha1 : ce->sha1;
diff_change(&revs->diffopt, oldmode, newmode,
ce->sha1, (changed ? null_sha1 : ce->sha1),
!is_null_sha1(ce->sha1), (changed ? 0 : !is_null_sha1(ce->sha1)),
old_sha1, new_sha1,
!is_null_sha1(old_sha1),
!is_null_sha1(new_sha1),
ce->name, 0, dirty_submodule);

}
Expand Down

0 comments on commit 0b86fe8

Please sign in to comment.