Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mariusae/gitfiles
Gitfiles provides support for browsing Git repositories inside Acme.
https://github.com/mariusae/gitfiles
Last synced: 2 months ago
JSON representation
Gitfiles provides support for browsing Git repositories inside Acme.
- Host: GitHub
- URL: https://github.com/mariusae/gitfiles
- Owner: mariusae
- License: other
- Created: 2015-01-01T19:57:28.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2016-09-12T05:00:53.000Z (over 8 years ago)
- Last Synced: 2024-11-04T10:44:07.337Z (3 months ago)
- Language: C
- Size: 10.7 KB
- Stars: 39
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README
- License: COPYING
Awesome Lists containing this project
- awesome-acme - gitfiles - Support for browsing Git repositories inside Acme (Programs)
README
Gitfiles provides support for browsing Git repositories inside Acme.
It works like, and is based on, Netfiles[1]. Gitfiles presents read-only
access to a fake filesystem of files stored in Git. Gitfiles accepts paths
of the form/path/to/repo@tree-ish/repository/path
Where /path/to/repo is a valid Git repository, and tree-ish[2] is a valid
tree, commit or tag object name.Gitfiles is best used with the following plumbing rules. The first rule
plumbs paths to Gitfiles; the second rule plumbs Git commits, formatted
so that their diff shows Gitfiles paths.kind is text
data matches '[a-zA-Z0-9_\-./~{}@]+('$addr')?'
data matches '((/[a-zA-Z0-9_\-./]+)@[a-zA-Z0-9_\-./~{}@]+)('$addr')?'
data set $1
arg isdir $2
attr add addr=$4
plumb to gitfileedit
plumb client Gitfiles
type is text
data matches '[a-zA-Z¡-0-9_\-./]+'
data matches '([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])[0-9a-f]*'
plumb start rc -c 'cd '''$wdir'''; root=`{git rev-parse --show-toplevel}; rev='''$1'''; {gitfileshow $rev} >[2=1] | nobs | plumb -i -d edit -a ''action=showdata filename=''$root/+$rev'Installation
Gitfiles is a plan9ports[3] program. Install with mk:
% mk install
which will build and then install the binaries into $PLAN9/bin.
[1] http://swtch.com/plan9port/man/man1/netfiles.html
[2] http://stackoverflow.com/questions/4044368/what-does-tree-ish-mean-in-git
[3] http://swtch.com/plan9port/