|
22 | 22 | static int init_is_bare_repository = 0;
|
23 | 23 | static int init_shared_repository = -1;
|
24 | 24 | static const char *init_db_template_dir;
|
25 |
| -static const char *git_link; |
26 | 25 |
|
27 | 26 | static void copy_templates_1(struct strbuf *path, struct strbuf *template,
|
28 | 27 | DIR *dir)
|
@@ -312,7 +311,7 @@ static void create_object_directory(void)
|
312 | 311 | strbuf_release(&path);
|
313 | 312 | }
|
314 | 313 |
|
315 |
| -static void separate_git_dir(const char *git_dir) |
| 314 | +static void separate_git_dir(const char *git_dir, const char *git_link) |
316 | 315 | {
|
317 | 316 | struct stat st;
|
318 | 317 |
|
@@ -349,22 +348,15 @@ int init_db(const char *git_dir, const char *real_git_dir,
|
349 | 348 | if (!exist_ok && !stat(real_git_dir, &st))
|
350 | 349 | die(_("%s already exists"), real_git_dir);
|
351 | 350 |
|
352 |
| - /* |
353 |
| - * make sure symlinks are resolved because we'll be |
354 |
| - * moving the target repo later on in separate_git_dir() |
355 |
| - */ |
356 |
| - git_link = xstrdup(real_path(git_dir)); |
357 | 351 | set_git_dir(real_path(real_git_dir));
|
| 352 | + git_dir = get_git_dir(); |
| 353 | + separate_git_dir(git_dir, original_git_dir); |
358 | 354 | }
|
359 | 355 | else {
|
360 | 356 | set_git_dir(real_path(git_dir));
|
361 |
| - git_link = NULL; |
| 357 | + git_dir = get_git_dir(); |
362 | 358 | }
|
363 | 359 | startup_info->have_repository = 1;
|
364 |
| - git_dir = get_git_dir(); |
365 |
| - |
366 |
| - if (git_link) |
367 |
| - separate_git_dir(git_dir); |
368 | 360 |
|
369 | 361 | safe_create_dir(git_dir, 0);
|
370 | 362 |
|
|
0 commit comments