Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking issue for removal of Git support w/ external repositories #1118

Open
msfjarvis opened this issue Sep 23, 2020 · 11 comments
Open

Tracking issue for removal of Git support w/ external repositories #1118

msfjarvis opened this issue Sep 23, 2020 · 11 comments

Comments

@msfjarvis
Copy link
Member

@msfjarvis msfjarvis commented Sep 23, 2020

This is a discussion thread for users to comment on our proposal to remove support for Git features in external repositories. For the v1.12.0 release, we're doing a soft launch of our plans by taking away the ability to clone a repository to external storage. This is done as a means to gather feedback about the change and evaluate if this can be done without breaking too many users.

Our reasons for making this change are multifold:

  • Android is increasingly restrictive with what apps will be able to get full filesystem access, and while we welcome these crucial privacy improvements, it is very hard for us to be compatible with these changes as the library we use for Git is a Java-focused product and doesn't allude to most Android-specific nuances.

  • As far as we know, the only reason for putting your repository in a public directory on your device is using a third-party sync system like Syncthing, Nextcloud, a WebDAV server or something along those lines. This, in our opinion, makes Git pointless because it's sync guarantees are violated by arbitrary external entities.

  • Dropping support for this allows us to rewrite the entire core of our repository handling system, making it more robust, maintainable and clean.

What this change would mean for users:

  • If your repository does not use Git, nothing changes for you.

  • If you have a Git-based password repository in your device's storage, you will be able to use it as if it is not a Git repo. The .git directory will be ignored by the app and it will not attempt to make commits for any changes to the store. No sync operations will be available from the app, and no Git settings options will be visible.

@msfjarvis msfjarvis pinned this issue Sep 23, 2020
@msfjarvis msfjarvis self-assigned this Sep 27, 2020
@msfjarvis msfjarvis added this to the v1.13.0 milestone Sep 27, 2020
@msfjarvis
Copy link
Member Author

@msfjarvis msfjarvis commented Oct 10, 2020

The silence here suggests that either nobody reads my release notes or this change is going to affect no-one, so I'm going to prepare a patch for this tonight.

@msfjarvis
Copy link
Member Author

@msfjarvis msfjarvis commented Oct 12, 2020

On second thoughts, going to push this to a longer v2.0.0 timeline.

@msfjarvis msfjarvis modified the milestones: v1.13.0, v2.0.0 Oct 12, 2020
@xxxcrow
Copy link

@xxxcrow xxxcrow commented Oct 20, 2020

I'm up for git, git is essential, but it's hard to make it work 😑

@msfjarvis
Copy link
Member Author

@msfjarvis msfjarvis commented Oct 20, 2020

I'm up for git, git is essential, but it's hard to make it work 😑

Do you have any reason in particular to use Git but not let the app place the repository in its private directory?

@Holzhaus
Copy link

@Holzhaus Holzhaus commented Oct 21, 2020

This just applies to people who use external git repos on the SD card, right? Git support for repos cloned from within the app remains unaffected? Because the ability to sync my passwords using git is one of the key features for me.

@Skrilltrax
Copy link
Member

@Skrilltrax Skrilltrax commented Oct 21, 2020

Yes, this applies only to the external repos.

@msfjarvis msfjarvis unpinned this issue Oct 23, 2020
@ds6
Copy link

@ds6 ds6 commented Oct 24, 2020

Yes, this applies only to the external repos.

I completely missed that part. Well, it's nice to be able to access things via Termux and other solutions, but then you can always just push inside Termux and pull inside the app... I'm thinking this is an easily-adjusted-to change.

@benrhughes
Copy link

@benrhughes benrhughes commented Dec 10, 2020

This would break how I currently use pass, and unfortunately the legacy version of the app don't appear to work on Android 10.

My use-case may be somewhat out of the ordinary: I store some non-encrypted files in my pass repo and edit them in other apps. For whatever reason, your implementation of git syncing on Android is by far the most convenient to use, so I've been piggy-backing on it rather than using something like mgit.

Of course I understand if you need to pull this functionality for ongoing maintainability, and I'll just figure out another way to move my files around.

@msfjarvis
Copy link
Member Author

@msfjarvis msfjarvis commented Dec 10, 2020

This would break how I currently use pass, and unfortunately the legacy version of the app don't appear to work on Android 10.

My use-case may be somewhat out of the ordinary: I store some non-encrypted files in my pass repo and edit them in other apps. For whatever reason, your implementation of git syncing on Android is by far the most convenient to use, so I've been piggy-backing on it rather than using something like mgit.

Of course I understand if you need to pull this functionality for ongoing maintainability, and I'll just figure out another way to move my files around.

Thanks for your understanding, it is unfortunate but we really cannot support this specific use-case.

@Filip62
Copy link

@Filip62 Filip62 commented Dec 24, 2020

As long as the git functionality stays in the internal app storage, I'm totally fine with it.

@ds6
Copy link

@ds6 ds6 commented Jan 5, 2021

My use-case may be somewhat out of the ordinary: I store some non-encrypted files in my pass repo and edit them in other apps. For whatever reason, your implementation of git syncing on Android is by far the most convenient to use, so I've been piggy-backing on it rather than using something like mgit.

Off topic: You should really consider using https://github.com/Catfriend1/syncthing-android for your needs. If version control/file history is a concern, you can store old versions of synced files with Syncthing up to a user-defined limit; keep the whole history on your main device if storage there is sufficient, and keep a few past versions on the phone—that's what I do. It isn't as storage-efficient as Git is with text files since Git uses deltas, but it's about the same for binary files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
7 participants
You can’t perform that action at this time.