On Mon, Feb 9, 2015 at 4:12 AM, Michael Haggerty <mhagger@xxxxxxxxxxxx> wrote: > Currently, if --updateref is specified and the very last reflog entry > is expired or deleted, the reference's value is set to 0{40}. This is > an invalid state of the repository, and breaks, for example, "git > fsck" and "git for-each-ref". > > The only place we use --updateref in our own code is when dropping > stash entries. In that code, the very next step is to check if the > reflog has been made empty, and if so, delete the "refs/stash" > reference entirely. Thus that code path ultimately leaves the > repository in a valid state. > > But we don't want the repository in an invalid state even temporarily, > and we don't want leave an invalid state if other callers of "git s/want/want to/ > reflog expire|delete --updateref" don't think to do the extra cleanup > step. > > So, if "git reflog expire|delete" leaves no more entries in the > reflog, just leave the reference un-updated. > > Signed-off-by: Michael Haggerty <mhagger@xxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html