GlassFS: plastic made transparent
Hi there!
Moths ago we introduced glassfs as a
prototype, but now I'm happy
to announce it has been included on the latest
4.1 release!
glassfs - the joke
First things first: what
glassfs means? Well, our motto during
development was "glass makes plastic transparent" and that's where the
name comes from.
glassfs - the story
Our first approach to
glassfs, a couple of years ago, was to make scm
operations as transparent as possible... at the end of the day the ideas
there got integrated in 4.0 in our "
transparent scm" initiative.
We always got inspired by "ClearCase dynamic views" and, know what,
developing in kernel mode on Windows was sort of a cool thing to do for
some team members.
After discarding some alternatives and after the final "transparent scm"
thing turned "precise move tracking using kernel stuff" almost
unnecessary (except for performance, but that's another story yet to be
completed), we decided to revamp the "
glass" project using the cool
"
dokan project" which is sort of a "
Fuse" for Windows.
What glassfs is about?
Suppose you're on baseline 137 but you need to take a look at the
sources back at baseline 130. In Plastic SCM you can go to the label, right
click and browse the sources, opening the files you need to check.
This is useful but sometimes you'll miss some sort of "grepping" on your
files, won't you? If that's the case, the "explore label" functionality
won't help, you'd have to open files one by one or simply switch your
workspace to the baseline 130 (which is fast, but sometimes you don't
feel like doing so).
Glassfs comes to the rescue: it mounts a virtual drive on windows with
the exact content of the branch, changeset or label you decide. And
then you can access the files as you'd if they were on a regular
directory... but without having to download everything to disk first.
The "
glassfs unit" is "
virtual" and hence it will only read from the
repository the files you really access.
Cool, isn't it?
It is some sort of read-only dynamic view. You can search text on the files using the tools you prefer...
How to use it
In this
demo you can learn how to use glassfs.
For example, if you run
glassfs on your command line, you will see something like this, how to use glassfs:
c:\ glassfs
Usage: glassfs drive client.conf selector
Example: glassfs z: c:\users\plastic\client\client.conf "rep 'codice' path
'/' branch '/main'"
Executing glassfs for first time, and may be you show this: you haven't got dokan.dll
c:\Program Files\PlasticSCM4\client> glassfs v: c:\Users\Administrator\AppData\L
ocal\plastic4 "rep 'codice' path '/' br '/main'"
Unable to load DLL 'dokan.dll': The specified module could not be found. (Except
ion from HRESULT: 0x8007007E)
glassfs is not able to find a dll, most likely Dokan.dll.
If that's the case download and install http://dokan-dev.net/wp-content/uploads
/DokanInstall_0.6.0.exe
If still it can't find it, maybe you need a reboot or place the dll together wit
h the glassfs binaries
If you're here it means you don't have the Dokan FS Driver installed
If that's the case download and install http://dokan-dev.net/wp-content/uploads
/DokanInstall_0.6.0.exe
Then, downloading and install dokan.dll. You can find
here, Dokan library.
And now, you can enjoy with glassfs, using your virtual unit :-)
Limitations and future work
Right now
glassfs is limited to readonly, which means you can't write
any files on that virtual drive. Practically it means if you open Visual
Studio and try to "browse symbols" it won't work since Visual Studio tries to
write temporary files on the paths where your project is.
"Find in files" will just work, but "go to definition" of a symbol
won't... yet! Yet, because we're working on a
new version with temporary
file support :)
0 comentarios: