Hello SWT developers,

the SWT native binaries  have been moved from the eclipse.platform.swt.binaries repository [1] into the main SWT repository eclipse.platform.swt [2] using Git Large File Storage (LFS) to store the binaries as discussed in [3].

For an existing workspace a few adjustments are necessary, after the latest commit on the master branch has been checked out.

First of all you have to delete the native SWT fragment for your platform from the workspace, after you have completed the following steps the fragment for your platform has to be imported from the main SWT repo again (or it is already imported for you by Oomph).

If you are using SWT's Oomph setup (and EGit), just run it again and after a restart you should be ready to go.
Maybe you have re-checkout the latest master state in order to get the lfs pointer files converted into the referenced files. This is only necessary if jgit.lfs was not installed/active before checking out the commit.

If you are using EGit (without Oomph setup), you have to make sure that the 'org.eclipse.jgit.lfs' Plug-in or Feature is installed and that you have enabled EGit globally or at least for the SWT repository. For details see [4].

Eventually your user global ~/.gitconfig should have at least the following entries:
'''
[filter "lfs"]
useJGitBuiltin = true
required = true
'''

If you are using CLI-Git, you have to make sure that you have installed git-lfs [5] (i.e. have it on your PATH system environment variable). Git for windows already includes git-lfs in recent versions.
If not yet done, run `git lfs install` and subsequently `git lfs update` inside your existing local clone of the 'eclipse.platform.swt' repository (you can also just run `git lfs install` inside the repo).

Eventually your local SWT clone should contain in '.git/hooks' the 'post-checkout', 'post-commit', 'post-merge' and 'pre-push' hook files.
Your user global ~/.gitconfig should have at least the following entries:
'''
[filter "lfs"]
required = true
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
clean = git-lfs clean -- %f
'''
For all git repositories with LFS-content you clone after git-lfs is installed, the necessary hooks are created automatically so running `git lfs update` is only necessary for existing repositories that get LFS content later.


In case EGit/JGit-LFS and CLI git-lfs is used/installed together the user ~/.gitconfig will contain the combination of all mentioned entries.

If you encounter any problems in this regard please create an issue in the SWT repo [2] and mention me.


Greetings
Hannes

[1] - https://github.com/eclipse-platform/eclipse.platform.swt.binaries
[2] - https://github.com/eclipse-platform/eclipse.platform.swt
[3] - https://github.com/eclipse-platform/eclipse.platform.swt.binaries/issues/2
[4] - https://github.com/eclipse-egit/egit/wiki/User-Guide#git-lfs-support
[5] - https://git-lfs.com
 
 
_______________________________________________
platform-dev mailing list
platform-dev@eclipse.org
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/platform-dev

Reply via email to