Hi Duy,
I haven't looked at your split-index series at all. However, sparse has
nagged me to take a quick squint at the result of the series as it
appears in the 'pu' branch.
In particular, sparse complains thus:
SP sequencer.c
sequencer.c:690:49: error: incompatible types for operation (>=)
sequencer.c:690:49: left side has type int ( extern [toplevel] *<noident>
)( ... )
sequencer.c:690:49: right side has type int
... which is fair enough; index_fd is, indeed, a function (pointer) and
not an int file descriptor! The offending code looks like:
683 static void read_and_refresh_cache(struct replay_opts *opts)
684 {
685 static struct lock_file index_lock;
686 hold_locked_index(&index_lock, 0);
687 if (read_index_preload(&the_index, NULL) < 0)
688 die(_("git %s: failed to read the index"),
action_name(opts));
689 refresh_index(&the_index, REFRESH_QUIET|REFRESH_UNMERGED, NULL,
NULL, NULL);
690 if (the_index.cache_changed && index_fd >= 0) {
691 if (write_locked_index(&the_index, &index_lock,
COMMIT_LOCK))
692 die(_("git %s: failed to refresh the index"),
action_name(opts));
693 }
694 rollback_lock_file(&index_lock);
695 }
It seems that, in an earlier commit (33c297aa), index_fd was declared
as a local int variable (hiding the global function) which was then
initialised by a call to hold_locked_index().
I assume that the conditional should be changed to something like:
690 if (the_index.cache_changed && index_lock.fd >= 0) {
... but I haven't spent any time investigating this, so take this
suggestion which a large pinch of salt! :-P
ATB,
Ramsay Jones
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html