| 1971 | } |
| 1972 | |
| 1973 | static int reftable_be_copy_ref(struct ref_store *ref_store, |
| 1974 | const char *oldrefname, |
| 1975 | const char *newrefname, |
| 1976 | const char *logmsg) |
| 1977 | { |
| 1978 | struct reftable_ref_store *refs = |
| 1979 | reftable_be_downcast(ref_store, REF_STORE_WRITE, "copy_ref"); |
| 1980 | struct write_copy_arg arg = { |
| 1981 | .refs = refs, |
| 1982 | .oldname = oldrefname, |
| 1983 | .newname = newrefname, |
| 1984 | .logmsg = logmsg, |
| 1985 | }; |
| 1986 | int ret; |
| 1987 | |
| 1988 | ret = refs->err; |
| 1989 | if (ret < 0) |
| 1990 | goto done; |
| 1991 | |
| 1992 | ret = backend_for(&arg.be, refs, newrefname, &newrefname, 1); |
| 1993 | if (ret) |
| 1994 | goto done; |
| 1995 | ret = reftable_stack_add(arg.be->stack, &write_copy_table, &arg, |
| 1996 | REFTABLE_STACK_NEW_ADDITION_RELOAD); |
| 1997 | |
| 1998 | done: |
| 1999 | assert(ret != REFTABLE_API_ERROR); |
| 2000 | return ret; |
| 2001 | } |
| 2002 | |
| 2003 | struct reftable_reflog_iterator { |
| 2004 | struct ref_iterator base; |
nothing calls this directly
no test coverage detected