Classic confinement required for git-machete to function properly?


Recently @maciejolesinski requested access to personal-files for git-machete (which is now still in strict confinement). Unfortunately, the users reported a couple issues with the snap, here ordered by decreasing severity:

  1. Since git-machete calls git rebase and git merge underneath, I needed to bake vim into the snap in order to provide an editor for e.g. interactive rebase TODO list or commit messages. The problem that some people tend to use a different editor than vim for that purpose and I don’t want to bake in multiple editors into the snap (alongside with requesting access to their corresponding config files like ~/.vimrc).

  2. Some unusual problems stem from the fact the version of git invoked by git-machete and the version of git invoked directly by the user can differ - see for an example.

  3. Analogically, a version of ssh (OpenSSH) can differ between snap and host - and snap by default reads config of ssh from the host (/etc/ssh/*). If host has a newer version of OpenSSH (e.g. 8.x on Fedora 31) installed than the one provided in core18 (7.x), then ssh is basically unusable from inside the strictly confined snap. I circumvented this by changing the layout to bind /etc/ssh/ directory from snap and not from the host… but that looks to me more like a hack than a proper solution.

In your assessment - can the issues 1-3 be reasonably addressed under strict confinement without compromising the usability of the software, or do they merit a switch to classic confinement?


Paweł Lipski

CC @chipaca @ogra @alexmurray @jdstrand


We would really like to be able to provide git-machete as snap package. But having all those limitations makes it a big stopper for us. Is the classic confinement really “no go” for us?

@pawel-lipski - I will only address point ‘1’ of your 3 points since ‘2’ and ‘3’ are the nature of snaps and not justification for classic confinement.

The fact that git-machete must call an editor to do its work puts it in the IDE/dev tools category since users of the snap would expect to use their EDITOR and not whatever happened to be shipped in the snap. As such, the requirements are understood.

@advocacy - can you please perform the vetting?

1 Like

Vetting done, all good. +1.

1 Like

Granting use of classic. This is now live.

1 Like