Giter Club home page Giter Club logo

svnfs's Introduction

svnfs

FUSE-filesystem over Subversion repository.

svnfs provides virtual filesytem over Subversion tree for specific revision or for all revisions.

Usage

svnfs runs on GNU/Linux with Python 2.7 with Subversion and FUSE ctypes bindings.

# Share all revisions under /mnt
$ ./svnfs.py /var/lib/svn/somerepo /mnt -o cache_dir=/tmp/svnfs_cache

# Now all repository revisions are available under /mnt
$ tree /mnt
/mnt
├── 1
│   └── test.txt
├── 2
│   └── test.txt
├── 3
│   ├── a
│   │   ├── b
│   │   │   └── c
│   │   └── b1
│   │       └── c1
│   └── test.txt
...
# To unmount file system use fusermount:
$ fusermount -u /mnt

Specific revision can be mounted by specifying "-o revision=REV" option.

Try "./svnfs.py -h" for more information about available options.

Limitations

svnfs requires access to Subversion repository raw files, which is not always available.

Alternatives

I haven't found any implementation that supports mounting of all revisions in same tree with effective caching of duplicate between revision files. But if you need to mount only signle specific revision I found following alternatives (also they don't require direct access to raw repository files):

  1. Subversion's WebDAV

    Subversion provides remote access to repository tree through WebDAV protocol, so specific revision can be mounted to local directory by using for example davfs.

  2. FUSE-based implementation by John Madden: http://www.jmadden.eu/index.php/svnfs/

    And it's forks:

License

svnfs distributed under terms of GNU General Public License v3.

Copyright (C) 2001 Jeff Epler [email protected]

Copyright (C) 2005 Daniel Patterson [email protected]

Copyright (C) 2013 Vladimir Rutsky [email protected]

svnfs's People

Contributors

rutsky avatar teh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.