This change moves rename_ref() to the refs.c file since this function
does not contain any backend specific code.

Signed-off-by: Ronnie Sahlberg <sahlb...@google.com>
---
 refs-be-files.c | 92 ---------------------------------------------------------
 refs.c          | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 92 insertions(+), 92 deletions(-)

diff --git a/refs-be-files.c b/refs-be-files.c
index faf794c..7d579be 100644
--- a/refs-be-files.c
+++ b/refs-be-files.c
@@ -2622,98 +2622,6 @@ static int delete_ref_loose(struct ref_lock *lock, int 
flag, struct strbuf *err)
        return 0;
 }
 
-struct rename_reflog_cb {
-       struct ref_transaction *transaction;
-       const char *refname;
-       struct strbuf *err;
-};
-
-static int rename_reflog_ent(unsigned char *osha1, unsigned char *nsha1,
-                            const char *id, unsigned long timestamp, int tz,
-                            const char *message, void *cb_data)
-{
-       struct rename_reflog_cb *cb = cb_data;
-       struct reflog_committer_info ci;
-
-       memset(&ci, 0, sizeof(ci));
-       ci.id = id;
-       ci.timestamp = timestamp;
-       ci.tz = tz;
-       return transaction_update_reflog(cb->transaction, cb->refname,
-                                        nsha1, osha1, &ci, message, 0,
-                                        cb->err);
-}
-
-int rename_ref(const char *oldrefname, const char *newrefname, const char 
*logmsg)
-{
-       unsigned char sha1[20];
-       int flag = 0, log;
-       struct ref_transaction *transaction = NULL;
-       struct strbuf err = STRBUF_INIT;
-       const char *symref = NULL;
-       struct rename_reflog_cb cb;
-       struct reflog_committer_info ci;
-
-       memset(&ci, 0, sizeof(ci));
-       ci.committer_info = git_committer_info(0);
-
-       symref = resolve_ref_unsafe(oldrefname, sha1,
-                                   RESOLVE_REF_READING, &flag);
-       if (flag & REF_ISSYMREF) {
-               error("refname %s is a symbolic ref, renaming it is not 
supported",
-                       oldrefname);
-               return 1;
-       }
-       if (!symref) {
-               error("refname %s not found", oldrefname);
-               return 1;
-       }
-
-       if (!is_refname_available(newrefname, &oldrefname, 1))
-               return 1;
-
-       log = reflog_exists(oldrefname);
-       transaction = transaction_begin(&err);
-       if (!transaction)
-               goto fail;
-
-       if (strcmp(oldrefname, newrefname)) {
-               if (log && transaction_update_reflog(transaction, newrefname,
-                                                    sha1, sha1, &ci, NULL,
-                                                    REFLOG_TRUNCATE, &err))
-                       goto fail;
-               cb.transaction = transaction;
-               cb.refname = newrefname;
-               cb.err = &err;
-               if (log && for_each_reflog_ent(oldrefname, rename_reflog_ent,
-                                              &cb))
-                       goto fail;
-
-               if (transaction_delete_sha1(transaction, oldrefname, sha1,
-                                           REF_NODEREF,
-                                           1, NULL, &err))
-                       goto fail;
-       }
-       if (transaction_update_sha1(transaction, newrefname, sha1,
-                                   NULL, 0, 0, NULL, &err))
-               goto fail;
-       if (log && transaction_update_reflog(transaction, newrefname, sha1,
-                                            sha1, &ci, logmsg,
-                                            REFLOG_COMMITTER_INFO_IS_VALID,
-                                            &err))
-               goto fail;
-       if (transaction_commit(transaction, &err))
-               goto fail;
-       transaction_free(transaction);
-       return 0;
-
- fail:
-       error("rename_ref failed: %s", err.buf);
-       strbuf_release(&err);
-       transaction_free(transaction);
-       return 1;
-}
-
 static int close_ref(struct ref_lock *lock)
 {
        if (close_lock_file(lock->lk))
diff --git a/refs.c b/refs.c
index 70b12eb..319eafa 100644
--- a/refs.c
+++ b/refs.c
@@ -45,3 +45,95 @@ int delete_ref(const char *refname, const unsigned char 
*sha1, int delopt)
        transaction_free(transaction);
        return 0;
 }
+
+struct rename_reflog_cb {
+       struct ref_transaction *transaction;
+       const char *refname;
+       struct strbuf *err;
+};
+
+static int rename_reflog_ent(unsigned char *osha1, unsigned char *nsha1,
+                            const char *id, unsigned long timestamp, int tz,
+                            const char *message, void *cb_data)
+{
+       struct rename_reflog_cb *cb = cb_data;
+       struct reflog_committer_info ci;
+
+       memset(&ci, 0, sizeof(ci));
+       ci.id = id;
+       ci.timestamp = timestamp;
+       ci.tz = tz;
+       return transaction_update_reflog(cb->transaction, cb->refname,
+                                        nsha1, osha1, &ci, message, 0,
+                                        cb->err);
+}
+
+int rename_ref(const char *oldrefname, const char *newrefname, const char 
*logmsg)
+{
+       unsigned char sha1[20];
+       int flag = 0, log;
+       struct ref_transaction *transaction = NULL;
+       struct strbuf err = STRBUF_INIT;
+       const char *symref = NULL;
+       struct rename_reflog_cb cb;
+       struct reflog_committer_info ci;
+
+       memset(&ci, 0, sizeof(ci));
+       ci.committer_info = git_committer_info(0);
+
+       symref = resolve_ref_unsafe(oldrefname, sha1,
+                                   RESOLVE_REF_READING, &flag);
+       if (flag & REF_ISSYMREF) {
+               error("refname %s is a symbolic ref, renaming it is not 
supported",
+                       oldrefname);
+               return 1;
+       }
+       if (!symref) {
+               error("refname %s not found", oldrefname);
+               return 1;
+       }
+
+       if (!is_refname_available(newrefname, &oldrefname, 1))
+               return 1;
+
+       log = reflog_exists(oldrefname);
+       transaction = transaction_begin(&err);
+       if (!transaction)
+               goto fail;
+
+       if (strcmp(oldrefname, newrefname)) {
+               if (log && transaction_update_reflog(transaction, newrefname,
+                                                    sha1, sha1, &ci, NULL,
+                                                    REFLOG_TRUNCATE, &err))
+                       goto fail;
+               cb.transaction = transaction;
+               cb.refname = newrefname;
+               cb.err = &err;
+               if (log && for_each_reflog_ent(oldrefname, rename_reflog_ent,
+                                              &cb))
+                       goto fail;
+
+               if (transaction_delete_sha1(transaction, oldrefname, sha1,
+                                           REF_NODEREF,
+                                           1, NULL, &err))
+                       goto fail;
+       }
+       if (transaction_update_sha1(transaction, newrefname, sha1,
+                                   NULL, 0, 0, NULL, &err))
+               goto fail;
+       if (log && transaction_update_reflog(transaction, newrefname, sha1,
+                                            sha1, &ci, logmsg,
+                                            REFLOG_COMMITTER_INFO_IS_VALID,
+                                            &err))
+               goto fail;
+       if (transaction_commit(transaction, &err))
+               goto fail;
+       transaction_free(transaction);
+       return 0;
+
+ fail:
+       error("rename_ref failed: %s", err.buf);
+       strbuf_release(&err);
+       transaction_free(transaction);
+       return 1;
+}
-- 
2.0.1.552.g1af257a

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to