projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix git(1) link to git-index-pack
[git.git]
/
sha1_file.c
diff --git
a/sha1_file.c
b/sha1_file.c
index
642f00d
..
cd814d7
100644
(file)
--- a/
sha1_file.c
+++ b/
sha1_file.c
@@
-51,6
+51,8
@@
int get_sha1_hex(const char *hex, unsigned char *sha1)
int safe_create_leading_directories(char *path)
{
char *pos = path;
int safe_create_leading_directories(char *path)
{
char *pos = path;
+ if (*pos == '/')
+ pos++;
while (pos) {
pos = strchr(pos, '/');
while (pos) {
pos = strchr(pos, '/');
@@
-422,6
+424,7
@@
struct packed_git *add_packed_git(char *path, int path_len, int local)
struct packed_git *p;
unsigned long idx_size;
void *idx_map;
struct packed_git *p;
unsigned long idx_size;
void *idx_map;
+ char sha1[20];
if (check_packed_git_idx(path, &idx_size, &idx_map))
return NULL;
if (check_packed_git_idx(path, &idx_size, &idx_map))
return NULL;
@@
-445,6
+448,8
@@
struct packed_git *add_packed_git(char *path, int path_len, int local)
p->pack_last_used = 0;
p->pack_use_cnt = 0;
p->pack_local = local;
p->pack_last_used = 0;
p->pack_use_cnt = 0;
p->pack_local = local;
+ if (!get_sha1_hex(path + path_len - 40 - 4, sha1))
+ memcpy(p->sha1, sha1, 20);
return p;
}
return p;
}