Skip to content
manzur edited this page Sep 13, 2010 · 6 revisions
GitFS(4)

GitFS 4

Table of contents


gitfs – file server for git scm



gitfs
[
-m mountpoint

]
[
-c configfile
]
[
-h repository
]



gitfs

is a file server that represents git repository. Git commands are executed by writing them into the
ctl
file. Result of a command is stored in the
data
file.


There’s no "interactive" mode for
git-commit.
Commit message should be written to

ctl

file,
or another file.


git-add
command doesn’t have interactive mode yet.


Objects located in objects can be read as ordinary files. Results are the same
as
git-show
command is executed.



-m mountpoint

Mountpoint is point where to mount file server. By default it mounts to /n/git.

-c configfile

Config file that can contain settings for repository.

-h repository

Path to repository. By default it searches for .git directory in the path
from current directory upto the /.


/log

File that contains log. If you want to use options for git-log
you can write options to ctl file and get results from data file.
This file contains unfiltered log of the repository, i.e. it’s the same
what git-log does by default.

/tags

Directory, which contains tags.

/config

Repository specific configurations are stored in this file.

/exclude

File that contains patterns of file names to exclude from
git-add.

/objects/[0-9a-f][0-9a-f]

This directory object store associated with the repository. Each subdirectory contains objects(blobs, tags, trees, commits)
of the repository.

/ctl

File that’s used for operating with git. Commands can be send are: commit, gc, add, branch, reset, status, checkout, merge, rm.

/data

Results of executed commands in the
ctl
file are stored here.


Mount git repository and read the unfiltered log file.


mkdir git_repo
gitfs -m git_repo
cat git_repo/log
unmount git_repo

The same as above but with filtering and getting log for the last 2 weeks


echo ‘log —since=2 weeks ago’ > ctl
cat git_repo/data





Clone this wiki locally