mirror of
https://github.com/ostreedev/ostree.git
synced 2025-01-11 09:18:20 +03:00
refs: Fix a logic error
I encountered the Opening remotes/ dir error with some broken pull code, and this fixes it. Closes: #358 Approved by: cgwalters
This commit is contained in:
parent
23049bbd01
commit
9a779563bb
@ -809,8 +809,10 @@ _ostree_repo_write_ref (OstreeRepo *self,
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!glnx_opendirat (refs_remotes_dfd, remote, TRUE, &dfd, error))
|
dfd = glnx_opendirat_with_errno (refs_remotes_dfd, remote, TRUE);
|
||||||
|
if (dfd < 0 && (errno != ENOENT || rev != NULL))
|
||||||
{
|
{
|
||||||
|
glnx_set_error_from_errno (error);
|
||||||
g_prefix_error (error, "Opening remotes/ dir %s: ", remote);
|
g_prefix_error (error, "Opening remotes/ dir %s: ", remote);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
@ -818,13 +820,16 @@ _ostree_repo_write_ref (OstreeRepo *self,
|
|||||||
|
|
||||||
if (rev == NULL)
|
if (rev == NULL)
|
||||||
{
|
{
|
||||||
if (unlinkat (dfd, ref, 0) != 0)
|
if (dfd >= 0)
|
||||||
{
|
{
|
||||||
if (errno != ENOENT)
|
if (unlinkat (dfd, ref, 0) != 0)
|
||||||
{
|
{
|
||||||
glnx_set_error_from_errno (error);
|
if (errno != ENOENT)
|
||||||
goto out;
|
{
|
||||||
}
|
glnx_set_error_from_errno (error);
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user