Junio C Hamano <gitster@xxxxxxxxx> writes: > Leila Muhtasib <muhtasib@xxxxxxxxx> writes: > >> % mkdir test >> % cd test >> % git init >> Initialized empty Git repository in .git/ >> % git log >> fatal: bad default revision 'HEAD' > > I agree that the message, while it is technically correct and does > not deserve to be called a bug, can be made more friendly. > > But setup_revisions() is a very low level routine that is used by > many plumbing commands, and it is a horrible layering violation to > tweak its behaviour based on argv[0] and also it is too inflexible > hack as a solution. For example, don't you want to give a different > error message for "git log HEAD" with an explicit "HEAD" from the > command line? Would you add a similar support for a command that is > not "log" by adding yet another strcmp() here? > > Wouldn't it be a more reasonable alternative solution if you do this: > > 1. Check if HEAD points at a commit _before_ setting opt->def to it > in "git log" (and other end-user facing programs in the "log" > family, possibly in cmd_log_init_finish() if that function is > not called by a program where the current message should not > change), and do _NOT_ set opt->def to it; The last part of the paragraph should read: ... and do _NOT_ set opt->def to it if HEAD does not point at a commit. -- 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