| 3147 | } |
| 3148 | |
| 3149 | enum ref_transaction_error ref_update_check_old_target(const char *referent, |
| 3150 | struct ref_update *update, |
| 3151 | struct strbuf *err) |
| 3152 | { |
| 3153 | if (!update->old_target) |
| 3154 | BUG("called without old_target set"); |
| 3155 | |
| 3156 | if (!strcmp(referent, update->old_target)) |
| 3157 | return 0; |
| 3158 | |
| 3159 | if (!strcmp(referent, "")) { |
| 3160 | strbuf_addf(err, "verifying symref target: '%s': " |
| 3161 | "reference is missing but expected %s", |
| 3162 | ref_update_original_update_refname(update), |
| 3163 | update->old_target); |
| 3164 | return REF_TRANSACTION_ERROR_NONEXISTENT_REF; |
| 3165 | } |
| 3166 | |
| 3167 | strbuf_addf(err, "verifying symref target: '%s': is at %s but expected %s", |
| 3168 | ref_update_original_update_refname(update), |
| 3169 | referent, update->old_target); |
| 3170 | return REF_TRANSACTION_ERROR_INCORRECT_OLD_VALUE; |
| 3171 | } |
| 3172 | |
| 3173 | struct migration_data { |
| 3174 | struct ref_store *old_refs; |
no test coverage detected