| |
| This is a FUSE filesystem that provides light-weight, read-only checkouts of |
| Android. |
| |
| |
| How to use |
| ========== |
| |
| To start, |
| |
| go install github.com/google/gitfs/cmd/gitfs-{multifs,expand-manifest} |
| gitfs-expand-manifest --gitiles https://android.googlesource.com/ \ |
| > /tmp/m.xml |
| mkdir /tmp/mnt |
| gitfs-multifs -cache /tmp/cache -gitiles https://android.googlesource.com/ /tmp/mnt & |
| |
| then, in another terminal, execute |
| |
| ln -s /tmp/m.xml /tmp/mnt/config/ws |
| |
| To create a workspace "ws" corresponding to the manifest in m.xml. |
| |
| |
| Configuring |
| =========== |
| |
| The FUSE file system clones repositories on-demand. You can avoid cloning |
| altogether for repositories you know you don't need. This is configured through |
| a JSON file. |
| |
| For example, if you work on Android, and build on a Linux machine, you will |
| never need the Darwin related prebuilts. You can avoid a costly clone for those |
| by doing: |
| |
| {"Repo": ".*darwin.*", "Clone": false} |
| |
| Similarly, the build system system will read files (typically called '*.mk') |
| across the entire tree. When any .mk file is opened, this should not trigger a |
| clone. This is achieved with the following entry |
| |
| {"File": ".*mk$", "Clone": false} |
| |
| Together, the following `config.json` file is a good start for working on |
| android: |
| |
| [{"Repo": ".*darwin.*", "Clone": false}, |
| {"File": ".*mk$", "Clone": true}] |
| |
| |
| DISCLAIMER |
| ========== |
| |
| This is not an official Google product. |