# [PATCH] contrib/persistent-https: use Git version for build label

3 messages from 2016-07-21 to 2016-07-22. Participants: Parker Moore, Junio C Hamano.
Thread: https://gitlist.dev/t/42895

## Parker Moore, 2016-07-21 01:00

Subject: [PATCH] contrib/persistent-https: use Git version for build label
Message-ID: <CAOiOGAfWfEy60qg3AbbPNqkvJDMsXBHY8ZSXBCKJYha_gDB8mw@mail.gmail.com>
URL: https://gitlist.dev/e/CAOiOGAfWfEy60qg3AbbPNqkvJDMsXBHY8ZSXBCKJYha_gDB8mw%40mail.gmail.com

```
From: Parker Moore <parkrmoore@gmail.com>

The previous method simply used the UNIX timestamp of when the binary was
built as its build label.

    $ make && ./git-remote-persistent-http -print_label
    1469061546

This patch aims to align the label for this binary with the Git version
contained in the GIT-VERSION-FILE. This gives a better sense of the version
of the binary as it can be mapped to a particular revision or release of
Git itself. For example:

    $ make && ./git-remote-persistent-http -print_label
    2.9.1.275.g75676c8

Discussion of this patch is available on a related thread in the mailing
list surrounding this package called "contrib/persistent-https: update
ldflags syntax for Go 1.7+". The gmane.org link is:
http://article.gmane.org/gmane.comp.version-control.git/299653/

Signed-off-by: Parker Moore <parkrmoore@gmail.com>
---
 contrib/persistent-https/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/persistent-https/Makefile
b/contrib/persistent-https/Makefile
index 92baa3be..8248269 100644
--- a/contrib/persistent-https/Makefile
+++ b/contrib/persistent-https/Makefile
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.

-BUILD_LABEL=$(shell date +"%s")
+BUILD_LABEL=$(shell cat ../../GIT-VERSION-FILE | cut -d" " -f3)
 TAR_OUT=$(shell go env GOOS)_$(shell go env GOARCH).tar.gz

 all: git-remote-persistent-https git-remote-persistent-https--proxy \

```

## Junio C Hamano, 2016-07-22 17:58

Subject: Re: [PATCH] contrib/persistent-https: use Git version for build label
Message-ID: <xmqqwpkda71x.fsf@gitster.mtv.corp.google.com>
URL: https://gitlist.dev/e/xmqqwpkda71x.fsf%40gitster.mtv.corp.google.com
In-Reply-To: <CAOiOGAfWfEy60qg3AbbPNqkvJDMsXBHY8ZSXBCKJYha_gDB8mw@mail.gmail.com>

```
Parker Moore <parkrmoore@gmail.com> writes:

> diff --git a/contrib/persistent-https/Makefile
> b/contrib/persistent-https/Makefile
> index 92baa3be..8248269 100644
> --- a/contrib/persistent-https/Makefile
> +++ b/contrib/persistent-https/Makefile
> @@ -12,7 +12,7 @@
>  # See the License for the specific language governing permissions and
>  # limitations under the License.
>
> -BUILD_LABEL=$(shell date +"%s")
> +BUILD_LABEL=$(shell cat ../../GIT-VERSION-FILE | cut -d" " -f3)

We tend to avoid catting a single file only to pipe the result into
a different command, so I'd rewrite this like so:

    BUILD_LABEL=$(shell cut -d" " -f3 ../../GIT-VERSION-FILE)

while queuing.

Thanks.

```

## Parker Moore, 2016-07-22 20:21

Subject: Re: [PATCH] contrib/persistent-https: use Git version for build label
Message-ID: <CAOiOGAdV0+bg+=RAFgJyWFmdzZpB6KabGMN8Z57KTqqos3aTfg@mail.gmail.com>
URL: https://gitlist.dev/e/CAOiOGAdV0%2Bbg%2B%3DRAFgJyWFmdzZpB6KabGMN8Z57KTqqos3aTfg%40mail.gmail.com
In-Reply-To: <xmqqwpkda71x.fsf@gitster.mtv.corp.google.com>

```
> We tend to avoid catting a single file only to pipe the result into a different command

You got it. Here's a new patch:

From 432c0054a28a6c91b9fc1d9b53714061cb3d903c Mon Sep 17 00:00:00 2001
From: Parker Moore <parkrmoore@gmail.com>
Date: Wed, 20 Jul 2016 18:33:28 -0600
Subject: [PATCH] contrib/persistent-https: use Git version for build label

The previous method simply used the UNIX timestamp of when the binary was
built as its build label.

    $ make && ./git-remote-persistent-http -print_label
    1469061546

This patch aims to align the label for this binary with the Git version
contained in the GIT-VERSION-FILE. This gives a better sense of the version
of the binary as it can be mapped to a particular revision or release of
Git itself. For example:

    $ make && ./git-remote-persistent-http -print_label
    2.9.1.275.g75676c8

Discussion of this patch is available on a related thread in the mailing
list surrounding this package called "contrib/persistent-https: update
ldflags syntax for Go 1.7+". The gmane.org link is:
http://article.gmane.org/gmane.comp.version-control.git/299653/

Signed-off-by: Parker Moore <parkrmoore@gmail.com>
---
 contrib/persistent-https/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/persistent-https/Makefile
b/contrib/persistent-https/Makefile
index 92baa3b..9da1779 100644
--- a/contrib/persistent-https/Makefile
+++ b/contrib/persistent-https/Makefile
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.

-BUILD_LABEL=$(shell date +"%s")
+BUILD_LABEL=$(shell cut -d" " -f3 ../../GIT-VERSION-FILE)
 TAR_OUT=$(shell go env GOOS)_$(shell go env GOARCH).tar.gz

 all: git-remote-persistent-https git-remote-persistent-https--proxy \
-- 
2.9.2

```
