ostree_repo_resolve_rev: Resolve refs set in the transaction
This allows you to get at the current commit for a ref pending in the transaction. Closes: #1624 Approved by: cgwalters
This commit is contained in:
parent
2d2f218669
commit
677e181025
|
|
@ -245,7 +245,28 @@ resolve_refspec (OstreeRepo *self,
|
|||
{
|
||||
ret_rev = g_strdup (ref);
|
||||
}
|
||||
else if (remote != NULL)
|
||||
else if (self->in_transaction)
|
||||
{
|
||||
const char *refspec;
|
||||
|
||||
if (remote != NULL)
|
||||
refspec = glnx_strjoina (remote, ":", ref);
|
||||
else
|
||||
refspec = ref;
|
||||
|
||||
g_mutex_lock (&self->txn_lock);
|
||||
if (self->txn.refs)
|
||||
ret_rev = g_strdup (g_hash_table_lookup (self->txn.refs, refspec));
|
||||
g_mutex_unlock (&self->txn_lock);
|
||||
}
|
||||
|
||||
if (ret_rev != NULL)
|
||||
{
|
||||
ot_transfer_out_value (out_rev, &ret_rev);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (remote != NULL)
|
||||
{
|
||||
const char *remote_ref = glnx_strjoina ("refs/remotes/", remote, "/", ref);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue