commit | 697d02bf8e7921715802b998435de382e1d69baa | [log] [tgz] |
---|---|---|
author | Han-Wen Nienhuys <hanwen@google.com> | Wed Jun 15 17:34:50 2016 +0100 |
committer | Han-Wen Nienhuys <hanwen@google.com> | Wed Jun 15 17:34:50 2016 +0100 |
tree | 42d35c3683fccb45e5bc0eaaca0f5c51a610f635 | |
parent | 30c3f16be74d2d771042cdaa7e29c9d127847aeb [diff] |
Mark all node types as non-deletable. Otherwise, under memory pressure, the kernel will issue FORGET messages causing the nodes to be removed. Change-Id: Id26000838393a7a809725ae3de5968bb84455a18
This is a FUSE filesystem that provides light-weight, read-only checkouts of Android.
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.
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}]
This is not an official Google product.