Git LFS Updates and Legacy Client

Our Git LFS system and git repositories have been updated to address upcoming deprecations in the git-lfs client. As part of this effort I’ve removed .gitconfig in repositories and replaced them with .lfsconfig files. I’ve also implemented and deployed the new batch API.

SQuaRE strongly recommends DM developers update their git-lfs client to the current stable version. Additionally after updating developers should remove the batch = false from their ~/.gitconfig.

Documentation has been updated including SQR-001 and the LSST DM developer guide for Git LFS.

The legacy API will continue to be available. The minimum git-lfs client version that is supported is 1.1. Older git-lfs client versions and the legacy API are no longer supported by the greater Git LFS community. Bug fixes and improvements will not be backported.

Further details are available through the epic and related stories, the git-lfs documentation and git-lfs issues.

NOTE: If you are using lsstsw - a fresh install will pull in git-lfs client version 1.5.5.

This means copying that binary to your lfs/bin directory if you are an lsstsw user.

1 Like

For those of us with existing working, modern git-lfs clients is there anything we have to do to change our configuration (other than optionally removing batch=false from our configuration)?

There should not be any other configuration changes required. Please report any new problems and I’ll investigate them immediately. Based on the 2.0 git-lfs client roadmap - it looks like there will be significant performance and network improvements with the 2.0 release. So we have that to look forward to.

After talking to Tim there is an addendum to my recommendations.

When developers update lsst-build they must update their git-lfs client. This is because we’re removing the in-line configuration that sets batch=false. This change is required to ensure future compatibility with git-lfs 2.0+ clients.

Again we strongly recommend updating: https://github.com/git-lfs/git-lfs/releases/tag/v1.5.5

A fresh install of lsstsw will pull in version 1.5.x.

1 Like

Or delete the lsstsw version of git-lfs so your own client is used instead. That seems safer to me as I don’t have to worry about keeping a copy up to date. (And yes a symlink would also work, but why bother?).