Git-LFS

SmartGit provides the common Git-LFS operations, provided that Git-LFS has been installed on your system and it’s configured in your Git config files, so it will work from command line.

LFS operations are available from the Local|LFS menu.

If you are encountering unexpected errors when invoking Lock or Unlock on Window, this may be caused by a strange behavior of current Git-LFS versions (2.5) which will fail when invoked with a working directory with wrong case. To workaround the problem, make sure that the path in repositories.xml has correct case, especially the drive letter must be uppercase, for example:

<obj type="@Repository" id="...">
    <prop key="name" type="String" value="smartgit"/>
    <prop key="favorite" type="boolean" value="true"/>
    <prop key="git" type="boolean" value="true"/>
    <prop key="path" type="String" value="D:\\smartgit"/>
    <prop key="expanded" type="boolean" value="false"/>
</obj>

Displaying locks

To see Git-LFS lock states in the Files views (both Log and Working tree window), Git-LFS locks verification must be enabled for your repositories. A corresponding .git/config might look like:

[lfs "https://server/repo.git/info/lfs"]
    ...
    locksVerify = true

Furthermore, you have to enable property pull.queryRemoteLfsLocks in the Preferences, section Low-level Properties. This will make SmartGit invoke an additional git lfs locks --remote command after every fetch for which the output will be written to ./git/smartgit/lfs-locks-remote. Once these files are present, the Name column icon will start denoting the locking state for LFS files.

To make SmartGit also display which files are lockable, set low-level property status.evaluateLfsLockableState. This will evaluate the Git-LFS lockable attribute for every file during the refresh.