Skip to content

secure-fetch does not save fetched tags. #44

Description

@gchronis

While doing some acceptance testing for git-promote, I keep failing on the merge step. The script acts like the pre-release tag is successfully fetched, but then fails on the merge step (i.e. merging devel tag into release branch), complaining that ERROR: merge: v1 - not something we can merge. The problem stems from fetching tags by name rather than all at once.
By name (v1 is a remote tag):

gchronis@gchronis:~/dotfiles$ git fetch origin v1
From github.com:gchronis/dotfiles
 * tag               v1         -> FETCH_HEAD
gchronis@gchronis:~/dotfiles$ git tag   
gchronis@gchronis:~/dotfiles$

All at once:

gchronis@gchronis:~/dotfiles$ git fetch --tags
From github.com:gchronis/dotfiles
 * [new tag]         v1         -> v1
gchronis@gchronis:~/dotfiles$ git tag
v1

We need to fetch tags by explicitly by name in order to ensure that their fetch and push histories are recorded in the RSL. The problem is that fetching tags by name doesn't create a local ref automatically, they way fetching branches does. We will need to create a reference to the FETCH_HEAD, possibly using one of the strategies listed here https://stackoverflow.com/questions/45338495/fetch-a-single-tag-from-remote-repository.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions