[PATCH] Do not verify filenames in a bare repository

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]