Spotted while reading through the code, it looks like the
copy_detached_metadata() call is accidentally omitted if a hardlink
already exists for the .commit object.
Signed-off-by: Philip Withnall <withnall@endlessm.com>
Closes: #1242
Approved by: cgwalters
Origin: upstream, 2017.13, commit:
86e072bdbe48a4f16efb05c00eb79114e5fdbf61
Gbp-Pq: Topic 2017.13
Gbp-Pq: Name lib-repo-commit-Import-detached-metadata-even-if-hardlink.patch
if (linkat (src_repo->objects_dir_fd, loose_path_buf, dest_dfd, loose_path_buf, 0) != 0)
{
if (errno == EEXIST)
- return TRUE;
+ did_hardlink = TRUE;
else if (errno == EMLINK || errno == EXDEV || errno == EPERM)
{
/* EMLINK, EXDEV and EPERM shouldn't be fatal; we just can't do