-
Notifications
You must be signed in to change notification settings - Fork 5
Home
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
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