Agit is a Git client for Android devices, allowing you to checkout the entire history of a Git repository while on the move, review changes and store for full offline access.
• Clone remote Git repositories onto your phone!
• Just like regular Git, the full history is stored for offline access.
• Animated Diffs - Watch diffs smoothly transition from Before to After - and back again. I'm using 'smooth' figuratively here. It's still pretty cool.
• Supports git, http, https, ssh protocols:
- see https://github.com/rtyley/agit/wiki/HTTP for details about HTTP authentication
- see https://github.com/rtyley/agit/wiki/SSH or watch http://youtu.be/6YXR-ZhZ1Qk for SSH setup instructions
• Pull-to-refresh fetching
• Currently this is a 'read-only' client. You can clone & fetch, but not commit and push. I haven't yet had time to build all the user interface around that - but I reckon implementing pinch-gesture-branch-merge would be fun.
• Periodic sync enabled on Android 2.2 and later - latest commits fetched quarter-hourly.
• Cloning substantial projects (eg Mongo, JQuery) will take a few minutes to perform - fortunately subsequent fetches will be much faster.
• Due to limitations in Java/JGit (the underlying library used by Agit for Git support) the following features are unfortunately unsupported: submodules, symbolic links.
Android devices have limited memory, and due to the nature of Git delta-packing individual large files in your repo (eg around 5MB or above) can cause unavoidable out-of-memory errors, even on modern devices. This doesn't constrain overall repository size - which can be much bigger - it only constrains the *largest files* you can have in your repository's history. More information here:
To help users fix the large-file repos that Agit has trouble with, I've developed a The BFG, a command line tool purpose-built for slimming down Git repositories:
The BFG is a much simpler and faster alternative to using git-filter-branch, and makes it easy to clean up repositories so that they can be read by Agit.
v1.39 sets the 'largeHeap' option in the AndroidManifest.xml to true, which on devices running Android v3.0+ (Honeycomb) may increase the chances of cloning repos which contain large (>5MB) files (Thanks to Patrick Moor for pointing this option out!).
This release also drops support for Android v2.2 (Froyo) and will be the last release to support pre-4.0 (Ice-Cream Sandwich) devices.