summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRene Scharfe <rene.scharfe@lsrfire.ath.cx>2006-08-10 15:02:33 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-08-10 21:14:34 (GMT)
commit68f4c78b95b9d119d8888b40b0a93b93a39b2f26 (patch)
treec3fb4b3e7352dee50cbe797893ab1b1f917d8f3f
parentae9c86f2b6c89a3a0991209dae51086f884959c0 (diff)
downloadgit-68f4c78b95b9d119d8888b40b0a93b93a39b2f26.zip
git-68f4c78b95b9d119d8888b40b0a93b93a39b2f26.tar.gz
git-68f4c78b95b9d119d8888b40b0a93b93a39b2f26.tar.bz2
git-verify-pack: insist on .idx extension
git-verify-pack can be called with a filename without .idx extension. add_packed_git() on the other hand depends on its presence. So instead of trying to call it with whatever the user gave us check for that extension and add it if it's missing. That means that you can't name your index file "blah" and your pack file ".pack" anymore ("git-verify-pack blah" currently works in that case). I think this regression is a good change. ;-) Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--verify-pack.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/verify-pack.c b/verify-pack.c
index 77b3d28..002b711 100644
--- a/verify-pack.c
+++ b/verify-pack.c
@@ -18,13 +18,12 @@ static int verify_one_pack(const char *path, int verbose)
if (has_extension(arg, len, ".pack")) {
strcpy(arg + len - 5, ".idx");
len--;
+ } else if (!has_extension(arg, len, ".idx")) {
+ if (len + 4 >= PATH_MAX)
+ return error("name too long: %s.idx", arg);
+ strcpy(arg + len, ".idx");
+ len += 4;
}
- /* Should name foo.idx now */
- if ((g = add_packed_git(arg, len, 1)))
- break;
- /* No? did you name just foo? */
- strcpy(arg + len, ".idx");
- len += 4;
if ((g = add_packed_git(arg, len, 1)))
break;
return error("packfile %s not found.", arg);