git-annex/doc/design/assistant/android.mdwn
2012-05-28 14:29:21 -04:00

53 lines
1.6 KiB
Markdown

Porting git-annex to Android will use the Android native SDK.
A hopefully small Java app will be developed, which runs the webapp
daemon, and a web browser to display it.
### programs to port
These will probably need to be bundled into the Android app, unless already
available in the App Store.
* ssh (native ssh needed for scp, not a client like ConnectBot)
* rsync
* gpg
* git (not all git commands are needed,
but core plumbing and a few like `git-add` are.)
### FAT sucks
The main media partition will use some awful FAT filesystem format from
1982 that cannot support git-annex's symlinks. (Hopefully it can at least
handle all of git's filenames.) Possible approaches to this follow.
(May want to consider which of these would make a Windows port easier too.)
#### bare git repo with file browser
Keep only a bare git repo on Android. The app would then need to include
a file browser to access the files in there, and adding a file would move
it into the repo.
Not ideal.
#### implement git smudge filters
See [[smudge]].
Difficult. Would make git-annex generally better.
#### keep files outside bare git repo
Use a bare git repo but don't keep files in `annex/objects`, instead
leave them outside the repo, and add some local mapping to find them.
Problem: Would leave files unlocked to modification, which might lose a
version git-annex dependend upon existing on the phone. (Maybe the phone
would have to be always considered an untrusted repo, which probably
makes sense anyway.)
Problem:
#### crazy `LD_PRELOAD` wrapper
Need I say more? (Also, Android's linker may not even support it.)