Subject: Re: [PATCH 2/2] Add transport message for up-to-date references

From: Junio C Hamano <[email-masked]>
Date: Fri, 15 Mar 2024 09:49:04 -0700

Christopher Lindee <[email-masked]> writes:

> It seems I just needed to look one function below to find precedent:
>
>   static int print_one_push_report(struct ref *ref, const char *dest, int count,
>                                    struct ref_push_report *report,
>                                    int porcelain, int summary_width)

It is "static int" meaning it is a file-local function.  You should
be able to find out how it is used without running around all over
the codebase but just the single file it appears in.

>   {       
>           ...
>           case REF_STATUS_UPTODATE:
>                   print_ref_status('=', "[up to date]", ref,
>                                    ref->peer_ref, NULL,
>                                    report, porcelain, summary_width);
>                   break;
>
> Is this a precedent we should follow, or is print_one_push_report()
> special in some way?

The code path this function is called is triggerd when you go
verbose:

    $ git push  ../victim-00 v2.43.0-rc0~56:master
    Everything up-to-date
    $ git push -v ../victim-00 v2.43.0-rc0~56:master
    Pushing to ../victim-00
    To ../victim-00
     = [up to date]		v2.43.0-rc0~56 -> master

Do we want to make it possible to differentiate between the forced
no-op and omitted no-op from "git push -v" output, or should users
refrain from using "-v" when they want to be able to tell?