RemObjects Software Gears
 
       

A First Look at RemObjects Floss

{#} by marc hoffman 12/22/07 12:30:10 am, 501 words, Categories: RemObjects, Oxygene, .NET, Visual Studio, ROFX, Delphi, Hydra, Mono, Mac

Recently, we've made the decision to switch version control systems here at RemObjects. In the past, we've been using a commercial system (i won't name any names) that has been working very well for us but - very unfortunately - has been much neglected by it's developers, with no major changes or improvements to the product in years, and even bug-fixes few and far between.

So we started looking around for alternatives, and of course Subversion was considered a good candidate - it's free, it's stable and well maintained, and it's being successfully used by many many software teams all around the globe, from major open source projects to corporate users.

The downside was that all available SVN clients were, well, let's just say pretty minimalistic, and did not really provide the necessary oomph we needed for our day-to-day work. Version control is an important part of the development cycle, and i've found that if your version control system is not a joy and easy to use, you wont use it properly. Yet, almost all version control systems i've ever come across seem to be designed to fight the developer every step of the way (and the main reason we got stuck with the current system was that it was about the only one that did not do that, but instead was actually fun to work with).

So, what to do? Simple - we decided that if we want to make the switch to SVN, there were a couple things we had to do. Firstly, we needed to create a tool that allowed us to automatically migrate our existing repository to the new system, without losing history, labels, or branching (done). Secondly, and a much bigger challenge, we decided to write our own front-end client, in order to give us with the best possible day-to-day experience in using SVN, but also to expose convenient ways to do those tasks we need that do not come as naturally in SVN as they should - such as for example the system we use for promotions.

The result (or at least our current state of it, as this will be a work in progress and see continued evolution over the next months) is what you see below: RemObjects Floss:

Floss
click image to view large version

Now, i know what your first question is gonna be: When can i download this? The answer is, you can't ;).

At this stage, Floss is an internal project, and we're developing it for internal use only. There is a big difference in effort in creating a tool vs. shipping a product, so for now, we're concentrating on getting something finished that we can use ourselves, when making the official VCS switch in January. But this is not to say that we won't reconsider making Floss available, in the future (and until then, you can always try to ask nicely for private beta access ;).

Let me know what you think, and what features you are missing in your SVN client...

Comments, Pingbacks:

Comment from: Ramsees [Visitor] Email
Is that DevExpress or DXperience?
PermalinkPermalink 12/22/07 @ 01:16
Comment from: Uwe Raabe [Visitor] Email
Looks very promising!
(Nice on)May I ask for a beta? And of course I'm very interested in your migration experiences!
I was able to do a basic migration of one of my projects, but actually that lost a lot of information.
PermalinkPermalink 12/22/07 @ 10:22
Comment from: David [Visitor] Email
Nice. I also use the same VCS as you and would love an easy way to import existing projects into SVN. The main thing I will miss in SVN is the ability to share individual files. SVN's externals doesn't come close IMO.
PermalinkPermalink 12/22/07 @ 11:15
Comment from: Shawn Oster [Visitor] Email · http://a-simian-mind.blogspot.com
It would be more helpful if you explained what your tool offers over TortoiseSVN or what you thought Tortoise was lacking. I use Tortoise every day and have never come across anything where I said, "Gee, I really wish it did this..."

One thing that is *very* important for a SVN client is that it is integrated into Explorer. I hated having to open a seperate application when we used PVCS or SourceSafe.

Your screenshot definitly looks pretty but I don't see it offering anything extra to the experience. In fact, having to open a client app just to get to those commands seem rather labour intensive compared to just right-clicking on a file in Explorer and getting to the exact same information, yet quicker and less key strokes.

I'm not trying to be critical, just curious where that actual added value is. Floss seems different, not better.
PermalinkPermalink 12/22/07 @ 21:52
Comment from: marc hoffman [Member] Email
@Ramsees: yes, this is .NET WinForms with DevExpress Ribbon and Treelist. Written entirely in Chrome, of course ;)

@Uwe: sure. please send me a mail

@David: i'm not sure exactly what you mean by sharing individual files?

@Shawn: there's already some extensive discussion about this in our non-tech newsgroups. But essentially, yes, if your core requirement if having SVN access within Explorer, the TortiseSVN is the way to go. Floss is targeted more at those that need to work extensively with their repository than those who mainly wanna commit a file or two, once in a while. Again, pls check & join the thread in non-tech, for more details on the different philosophies here...

thanx,
PermalinkPermalink 12/22/07 @ 23:16
Comment from: Patrick van de Pieterman [Visitor] Email
Although you don't mention the name of your old Version Control System, I guess the main Dev's (probably the only Dev) name is Ewan. If this is right then I'm very very interested in this product but especially in the tool that you made for exporting the sources to SVN. Will the tool be part of Floss, or can we buy it as a seperate tool...
PermalinkPermalink 12/23/07 @ 00:02
Comment from: marc hoffman [Member] Email
@Patrick: you are not wrong ;). i'm not sure what our plans for the migration tool are (matter of fact i don't even know how reusable or specific to our rep it is - i just know Carlo wrote it and it worked ;P). but why don't you drop me a mail and we'll see what we can do.

it won't be a part of Floss per se, i'd expect. but it might be in a state where we can pass it on. we'll need to see.
PermalinkPermalink 12/23/07 @ 00:23
Comment from: Shawn Oster [Visitor] Email · http://a-simian-mind.blogspot.com
@Marc: Thanks for the pointer to the forums but I wanted to correct your inaccurate assumption that I commit "a file or two, once in awhile". I commit, update, do diffs, handle branching & tagging and various merging of code branches often, on a weekly basis. I tend to commit 10 to 50 files a day, often 5 or 6 times a day. I just as often look at the revision history for a file or group or files and do it quite often to check the progress of a project, usually each morning to review the prior day's commits by my team and this is across 3 or 4 projects.

I'll check out the thread, I love svn and any exposure it gets is always great, and to be honest I know some managers that feel more comfortable inside a true client application and having something like Floss to help those types get over the hump would have been wonderful during our transition from the horrible SourceSafe.
PermalinkPermalink 12/23/07 @ 18:54
Comment from: David [Visitor] Email
>>David: i'm not sure exactly what you mean by sharing individual files?

Your old VCS had the ability to have a folder called (e.g.) 'Shared' into which you place all your common files. You could then share specific files amongst projects by ctrl+dragging a file, so that when you checked out that project it contained a copy of the shared file. i.e. you didn't have to also check that out from a shared '\lib' dir

SVN doesn't really have an equivalent, the nearest it has are externals but they only operate on a folder level.
PermalinkPermalink 12/24/07 @ 14:13
Comment from: marc hoffman [Member] Email
@David: ah, so this would basically act like a soft link, the file shows up in multiple locations, and as you keep updating the original file, the new revs will show everywhere?

That's pretty cool, i could have sued that quite well if i had know it could do that. I'm sure sure if there's a way to reproduce this in SVN, i'll check with Carlo (who knows much more about the itty-gritty details – i just create the facny UI ;)
PermalinkPermalink 12/24/07 @ 15:17
Comment from: David [Visitor] Email
Marc - that's right - it's a really good feature. The closest SVN gets to it is 'externals' which only operate at directory level. This is the one thing that has delayed me changing everything over from TC to svn.

To do it in TC, simple start to drag a file, then press ctrl and then drop it into a different folder.
PermalinkPermalink 01/02/08 @ 16:04
Comment from: Bernd Schulz [Visitor] Email · http://www.avasis.de
Hi We jumped to SVN as well but Tortoise and Delphi dont work tigether very well...
May i have the beta as well?!?
BYE BERND
PermalinkPermalink 03/06/08 @ 15:20
Comment from: marc hoffman [Member] Email
@Bernd: sure thing — just drop us a mail to info or support.
PermalinkPermalink 03/06/08 @ 15:26

Leave a comment:

Your email address will not be displayed on this site.
Your URL will be displayed.

Allowed XHTML tags: <p, ul, ol, li, dl, dt, dd, address, blockquote, ins, del, span, bdo, br, em, strong, dfn, code, samp, kdb, var, cite, abbr, acronym, q, sub, sup, tt, i, b, big, small>
(Line breaks become <br />)
(Set cookies for name, email and url)
(Allow users to contact you through a message form (your email will NOT be displayed.))
This is a captcha-picture. It is used to prevent mass-access by robots.
Please enter the characters from the image above. (case insensitive)

 

marc hoffman

Chief Software Architect &
Spare-time Photographer

mh

Links

Twitter

marc hoffman (follow)
    loading...
Mike Orriss (follow)
    loading...

Navigation

XML Feeds 

Who's Online?

  • Guest Users: 23