For example, it makes no sense to check the presence of a file named "HEAD" when calling "git log HEAD" in a bare repository. Noticed by Han-Wen Nienhuys. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@xxxxxx> --- On Fri, 19 Jan 2007, Han-Wen Nienhuys wrote: > of course, when --bare is used, then HEAD is not ambiguous. > > > [lilydev@haring .git]$ git --bare log HEAD > fatal: ambiguous argument 'HEAD': both revision and filename > Use '--' to separate filenames from revisions Note that it would still fail in your case, since saying "--bare" does not get picked up if the current directory is named ".git". I was close to sending a patch which sets the environment variable "GIT_IS_BARE" when calling git with "--bare", and checking that, but decided against it: it is more likely you are about to shoot yourself in the foot, because real bare repositories are not named ".git". setup.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/setup.c b/setup.c index cc97f9f..7181560 100644 --- a/setup.c +++ b/setup.c @@ -95,6 +95,9 @@ void verify_non_filename(const char *prefix, const char *arg) const char *name; struct stat st; + if (is_bare_repository()) + return; + if (*arg == '-') return; /* flag */ name = prefix ? prefix_filename(prefix, strlen(prefix), arg) : arg; -- 1.5.0.rc1.g38843-dirty - 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