The "nonfastforward" field is only used to decide what value to
assign to the "status" locally in a single function.  Remove it from
the "struct ref" and make it into a local variable.

The "requires_force" field is not used to decide if the proposed
update requires a --force option to succeed, or to record such a
decision made elsewhere.  It is used by status reporting code that
the particular update was "forced".  Rename it to "forced_udpate",
and move the code to assign to it around to further clarify how it
is used and what it is used for.

Signed-off-by: Junio C Hamano <gits...@pobox.com>
---
 cache.h     |  3 +--
 remote.c    | 10 +++++-----
 transport.c |  2 +-
 3 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/cache.h b/cache.h
index a942bbd..baa47b4 100644
--- a/cache.h
+++ b/cache.h
@@ -1001,9 +1001,8 @@ struct ref {
        char *symref;
        unsigned int
                force:1,
-               requires_force:1,
+               forced_update:1,
                merge:1,
-               nonfastforward:1,
                update:1,
                deletion:1;
        enum {
diff --git a/remote.c b/remote.c
index d3a1ca2..875296c 100644
--- a/remote.c
+++ b/remote.c
@@ -1322,22 +1322,22 @@ void set_ref_status_for_push(struct ref *remote_refs, 
int send_mirror,
                        !is_null_sha1(ref->old_sha1);
 
                if (ref->update) {
-                       ref->nonfastforward =
+                       int nonfastforward =
                                !has_sha1_file(ref->old_sha1)
-                                 || !ref_newer(ref->new_sha1, ref->old_sha1);
+                               || !ref_newer(ref->new_sha1, ref->old_sha1);
 
                        if (!prefixcmp(ref->name, "refs/tags/")) {
-                               ref->requires_force = 1;
                                if (!force_ref_update) {
                                        ref->status = 
REF_STATUS_REJECT_ALREADY_EXISTS;
                                        continue;
                                }
-                       } else if (ref->nonfastforward) {
-                               ref->requires_force = 1;
+                               ref->forced_update = 1;
+                       } else if (nonfastforward) {
                                if (!force_ref_update) {
                                        ref->status = 
REF_STATUS_REJECT_NONFASTFORWARD;
                                        continue;
                                }
+                               ref->forced_update = 1;
                        }
                }
        }
diff --git a/transport.c b/transport.c
index 2673d27..585ebcd 100644
--- a/transport.c
+++ b/transport.c
@@ -659,7 +659,7 @@ static void print_ok_ref_status(struct ref *ref, int 
porcelain)
                const char *msg;
 
                strcpy(quickref, status_abbrev(ref->old_sha1));
-               if (ref->requires_force) {
+               if (ref->forced_update) {
                        strcat(quickref, "...");
                        type = '+';
                        msg = "forced update";
-- 
1.8.1.1.498.gfdee8be

--
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