How to update Hog to a newer release

This guide will help you to Update Hog to the version you want. We assume you already have a repository handled with Hog that is hosted on CERN Gitlab.

On your project’s Gitlab website, create a new merge request and a new branch starting from master.

Note

If you are already working on a branch on your HDL repository, you can update Hog within that branch. (You can also create a new branch locally and open the merge request on the website later.)

Checkout the branch and go into the Hog directory. Now if you want to update Hog to the latest version:

  cd Hog
  git checkout master
  git pull

Now do git describe to find out what version you got:

  git describe

You should obtain something like HogYYYY.n (e.g. Hog2020.1) or vX.Y.Z (e.g. v1.2.3).

If you want to update to a specific version, go to Hog [repository][https://gitlab.cern.ch/hog/Hog/-/releases] and choose what version you want to update to, let’s say you pick version vX.Y.Z.

  cd Hog
  git checkout vX.Y.Z

Now you have to update your .gitlab-ci.yml file. This is the file used to configure Gitlab continuous integration (CI), if you are not using Gitlab CI -hence the file is not be there- you can skip this part. Go back to your repo and edit the .gitlab-ci.yml with your favourite editor, say emacs:

  cd ..
  emacs .gitlab-ci.yml

At the beginning, in the include section you have a ref, similar to this:

  include:
    - project: 'hog/Hog'
      file: '/hog.yml'
      ref: 'va.b.c'

In older Hog versions, the file used to be called gitlab-ci.yml, so if you were using an older version of Hog, please change gitlab-ci.yml to hog.yml. Change the ref to the new version you’ve just pulled:

  include:
    - project: 'hog/Hog'
      file: '/hog.yml'
      ref: 'vX.Y.Z'

Save the file close the editor.

Note

If you use the dynamic CI, the include section would look like

  include:
    - project: 'hog/Hog'
      file: '/hog-dynamic.yml'
      ref: 'vX.Y.Z'

Now you first have to commit to git and push the modification you have made. Add the modified files (Hog submodule and .gitlab-ci.yml), commit, and push:

  git add .gitlab-ci.yml Hog
  git commit -m "Update Hog to vX.Y.Z"
  git push

Finally go to your project’s Gitlab website, open a merge request for your branch (if you have not done already) and merge it.