Teach local-fetch about lazy object directories.
The latest init-db does not create .git/objects/??/ directories anymore and expects the users of the repository to create them as they are needed. local-fetch was not taught about it, which broke local cloning with Cogito. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
a67c1d0809
commit
0ffdbbfe36
@ -52,9 +52,10 @@ static int setup_indices(void)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int copy_file(const char *source, const char *dest, const char *hex,
|
static int copy_file(const char *source, char *dest, const char *hex,
|
||||||
int warn_if_not_exists)
|
int warn_if_not_exists)
|
||||||
{
|
{
|
||||||
|
safe_create_leading_directories(dest);
|
||||||
if (use_link) {
|
if (use_link) {
|
||||||
if (!link(source, dest)) {
|
if (!link(source, dest)) {
|
||||||
pull_say("link %s\n", hex);
|
pull_say("link %s\n", hex);
|
||||||
@ -150,7 +151,7 @@ static int fetch_file(const unsigned char *sha1)
|
|||||||
static int object_name_start = -1;
|
static int object_name_start = -1;
|
||||||
static char filename[PATH_MAX];
|
static char filename[PATH_MAX];
|
||||||
char *hex = sha1_to_hex(sha1);
|
char *hex = sha1_to_hex(sha1);
|
||||||
const char *dest_filename = sha1_file_name(sha1);
|
char *dest_filename = sha1_file_name(sha1);
|
||||||
|
|
||||||
if (object_name_start < 0) {
|
if (object_name_start < 0) {
|
||||||
strcpy(filename, path); /* e.g. git.git */
|
strcpy(filename, path); /* e.g. git.git */
|
||||||
|
Loading…
Reference in New Issue
Block a user