# Git LFS Updates and Legacy Client

**URL:** <https://www.rubin.community/t/git-lfs-updates-and-legacy-client/1643>\
**Category:** DM Notifications\
**Tags:** dm-dev, git-lfs\
**Created:** [February 14, 2017, 6:53pm UTC](https://www.rubin.community/t/git-lfs-updates-and-legacy-client/1643 "2017-02-14T18:53:23Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![jmatt](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/jmatt/32/96_2.png) [@jmatt](https://www.rubin.community/u/jmatt)\
**Post date:** [February 14, 2017, 6:53pm UTC](https://www.rubin.community/t/git-lfs-updates-and-legacy-client/1643/1 "2017-02-14T18:53:23Z")

</div>

Our Git LFS system and git repositories have been updated to address upcoming [deprecations in the git-lfs client](https://github.com/git-lfs/git-lfs/pull/1629). 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](https://github.com/git-lfs/git-lfs/releases/tag/v1.5.5). Additionally after updating developers should remove the `batch = false` from their `~/.gitconfig`.

Documentation has been updated including [SQR-001](https://sqr-001.lsst.io/) and the [LSST DM developer guide for Git LFS](https://developer.lsst.io/tools/git_lfs.html).

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](https://jira.lsstcorp.org/browse/DM-6211), [the git-lfs documentation](https://github.com/git-lfs/git-lfs/tree/master/docs) and [git-lfs issues](https://github.com/git-lfs/git-lfs/issues).

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

---

<div class="post-metadata">

**Author:** ![timj](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/timj/32/10_2.png) [@timj](https://www.rubin.community/u/timj)\
**Post date:** [February 14, 2017, 6:56pm UTC](https://www.rubin.community/t/git-lfs-updates-and-legacy-client/1643/2 "2017-02-14T18:56:59Z")

</div>

> [@jmatt](#):
>
> I recommend DM developers update their git-lfs client

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

---

<div class="post-metadata">

**Author:** ![rowen](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/rowen/32/52_2.png) [@rowen](https://www.rubin.community/u/rowen)\
**Post date:** [February 14, 2017, 7:13pm UTC](https://www.rubin.community/t/git-lfs-updates-and-legacy-client/1643/3 "2017-02-14T19:13:52Z")

</div>

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)?

---

<div class="post-metadata">

**Author:** ![jmatt](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/jmatt/32/96_2.png) [@jmatt](https://www.rubin.community/u/jmatt)\
**Post date:** [February 14, 2017, 7:52pm UTC](https://www.rubin.community/t/git-lfs-updates-and-legacy-client/1643/4 "2017-02-14T19:52:15Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![jmatt](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/jmatt/32/96_2.png) [@jmatt](https://www.rubin.community/u/jmatt)\
**Post date:** [February 16, 2017, 10:52pm UTC](https://www.rubin.community/t/git-lfs-updates-and-legacy-client/1643/5 "2017-02-16T22:52:14Z")

</div>

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

When developers update lsst-build they must [update their git-lfs client](https://github.com/git-lfs/git-lfs/releases/tag/v1.5.5). 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](https://github.com/git-lfs/git-lfs/releases/tag/v1.5.5)

---

<div class="post-metadata">

**Author:** ![timj](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/timj/32/10_2.png) [@timj](https://www.rubin.community/u/timj)\
**Post date:** [February 16, 2017, 10:56pm UTC](https://www.rubin.community/t/git-lfs-updates-and-legacy-client/1643/6 "2017-02-16T22:56:29Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![rowen](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/rowen/32/52_2.png) [@rowen](https://www.rubin.community/u/rowen)\
**Post date:** [April 14, 2017, 4:16pm UTC](https://www.rubin.community/t/git-lfs-updates-and-legacy-client/1643/7 "2017-04-14T16:16:38Z")

</div>

> [@timj](#):
>
> This means copying that binary to your lfs/bin directory if you are an lsstsw user

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?).
