-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[PATCH] Add git-verify-pack command.
Given a list of <pack>.idx files, this command validates the index file and the corresponding .pack file for consistency. This patch also uses the same validation mechanism in fsck-cache when the --full flag is used. During normal operation, sha1_file.c verifies that a given .idx file matches the .pack file by comparing the SHA1 checksum stored in .idx file and .pack file as a minimum sanity check. We may further want to check the pack signature and version when we map the pack, but that would be a separate patch. Earlier, errors to map a pack file was not flagged fatal but led to a random fatal error later. This version explicitly die()s when such an error is detected. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
- Loading branch information
Junio C Hamano
authored and
Linus Torvalds
committed
Jun 29, 2005
1 parent
3c84974
commit f925339
Showing
10 changed files
with
231 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
git-verify-pack(1) | ||
================== | ||
v0.1, June 2005 | ||
|
||
NAME | ||
---- | ||
git-verify-pack - Validate packed GIT archive files. | ||
|
||
|
||
SYNOPSIS | ||
-------- | ||
'git-verify-pack' <pack>.idx ... | ||
|
||
|
||
DESCRIPTION | ||
----------- | ||
Reads given idx file for packed GIT archive created with | ||
git-pack-objects command and verifies idx file and the | ||
corresponding pack file. | ||
|
||
OPTIONS | ||
------- | ||
<pack>.idx ...:: | ||
The idx files to verify. | ||
|
||
|
||
Author | ||
------ | ||
Written by Junio C Hamano <junkio@cox.net> | ||
|
||
Documentation | ||
-------------- | ||
Documentation by Junio C Hamano | ||
|
||
GIT | ||
--- | ||
Part of the link:git.html[git] suite | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27,4 +27,6 @@ struct pack_header { | |
unsigned int hdr_entries; | ||
}; | ||
|
||
extern int verify_pack(struct packed_git *); | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
#include "cache.h" | ||
#include "pack.h" | ||
|
||
static int verify_one_pack(char *arg) | ||
{ | ||
struct packed_git *g = add_packed_git(arg, strlen(arg)); | ||
if (!g) | ||
return -1; | ||
return verify_pack(g); | ||
} | ||
|
||
int main(int ac, char **av) | ||
{ | ||
int errs = 0; | ||
|
||
while (1 < ac) { | ||
char path[PATH_MAX]; | ||
strcpy(path, av[1]); | ||
if (verify_one_pack(path)) | ||
errs++; | ||
else | ||
printf("%s: OK\n", av[1]); | ||
ac--; av++; | ||
} | ||
return !!errs; | ||
} |
Oops, something went wrong.