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

Closed
msfjarvis opened this issue Sep 23, 2020 · 21 comments
Closed

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

msfjarvis opened this issue Sep 23, 2020 · 21 comments
Assignees
Labels
A-Git Area: Git C-tracking-issue Category: Tracking issue for a proposal or a category of bugs E-hard Effort: This will require a lot of work P-high Priority: high, must be resolved before next major release
Milestone

Comments

@msfjarvis
Copy link
Member

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 used the "hidden" option for the repository location, nothing changes for you.

  • If you used the "SD Card" option for the repository location, 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 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

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

Yes, this applies only to the external repos.

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

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.

@msfjarvis msfjarvis added C-tracking-issue Category: Tracking issue for a proposal or a category of bugs and removed meta: discussion labels Nov 5, 2020
@msfjarvis msfjarvis pinned this issue Dec 10, 2020
@benrhughes
Copy link

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

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 commented Dec 24, 2020

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

@sevmonster
Copy link

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.

@msfjarvis msfjarvis added A-Git Area: Git E-hard Effort: This will require a lot of work P-high Priority: high, must be resolved before next major release labels Jan 12, 2021
@indeedwatson
Copy link

I'm sorry if this is not the right place for this, but after having issues with open gpg I procrastinated setting up password-store. Today I opened the app and tried to set it up with git. I am reading this and it doesn't really clear anything up.

I have a git repo where I backup my pass directory. I have the app open. What do I do? Where do I go? Where am I supposed to read what to do? The wiki is outdated and the new documentation contains no information about this.

Am I meant to have a separate app on my phone for managing git repos and select that directory with password-store?

@msfjarvis
Copy link
Member Author

I'm sorry if this is not the right place for this, but after having issues with open gpg I procrastinated setting up password-store. Today I opened the app and tried to set it up with git. I am reading this and it doesn't really clear anything up.

Because it's not really related :)

I have a git repo where I backup my pass directory. I have the app open. What do I do? Where do I go? Where am I supposed to read what to do? The wiki is outdated and the new documentation contains no information about this.

Sorry about that, documentation's been a sore point for a while. When you first launch the app, select the "Clone Git repo" option which will lead you to the clone configuration screen. Enter your repository URL, pick how you want to authenticate and hit the clone button.

Am I meant to have a separate app on my phone for managing git repos and select that directory with password-store?

You certainly are not, but can elect to do it if you so desire. We don't personally recommend doing it unless you have a good reason to.

If you have any follow up questions, I'd encourage you to start a thread in the Discussions section rather than reply here since this issue is unrelated.

@fourstepper
Copy link

I think this is fine, as long as both git and external directory workflows work

@msfjarvis msfjarvis unpinned this issue Feb 24, 2021
@colonelpanic8
Copy link

I'm not sure what is meant by: "This is a discussion thread for users to comment on our proposal to remove support for Git features in external repositories"

Surely you're not talking about removing git support entirely right? This would be a huge step backwards and a terrible idea. If thats not what is meant I think you should clarify what "Git features in external repositories" means.

@Holzhaus
Copy link

Holzhaus commented Jul 5, 2021

I'm not sure what is meant by: "This is a discussion thread for users to comment on our proposal to remove support for Git features in external repositories"

Surely you're not talking about removing git support entirely right? This would be a huge step backwards and a terrible idea. If thats not what is meant I think you should clarify what "Git features in external repositories" means.

I wondered about the same thing, but this question is already answered in the thread above. It only refers to git repos cloned by another app. The built-in git support will stay unaffected.

@msfjarvis
Copy link
Member Author

I'm not sure what is meant by: "This is a discussion thread for users to comment on our proposal to remove support for Git features in external repositories"

Surely you're not talking about removing git support entirely right? This would be a huge step backwards and a terrible idea. If thats not what is meant I think you should clarify what "Git features in external repositories" means.

As Holzhaus mentioned, this has been clarified already but I've reworded the OP in terms of app settings anyways.

@oblitum
Copy link

oblitum commented Dec 14, 2021

Hi, just landed here out of this discussion #1406.

Just wanna say I'm looking forward for bare password store directory support without involvement of Git, personally I don't use Git for this, but seems the app requires it at the moment.

@msfjarvis
Copy link
Member Author

This issue is no longer relevant as we've had to make the decision to completely drop support for external storage to allow ourselves to actually be able to release the nearly two years of development work that's sitting in our develop branch. Context here: #1849

@oblitum
Copy link

oblitum commented Apr 24, 2022

Sad day...

@daraul
Copy link

daraul commented Apr 24, 2022

It is disappointing, but I've had luck using termux instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Git Area: Git C-tracking-issue Category: Tracking issue for a proposal or a category of bugs E-hard Effort: This will require a lot of work P-high Priority: high, must be resolved before next major release
Projects
None yet
Development

No branches or pull requests