GUI for Fossil SCM - user-interface

Are there any GUIs for fossil?
I've been getting used to the idea of source control for solo projects, and having an interface for the commands in fossil would help.
Something simple that helps browse for files, or open + close. Google has turned up nothing except the web GUI that works within the projects themselves.

Now there IS a Fossil GUI.
At the moment it has really basic functionality, but it is free and open source:
http://code.google.com/p/jurassic-fossil/

There is a Windows GUI for fossil at http://repository.mobile-developers.de/cgi-bin/ikoch/sharpfossil
It is not yet complete, but usable and has some features fossil doesn't have.

I think you'll find the web interface, launched by the command "fossil ui" is the only user interface (graphical or otherwise) apart from a few command line commands.
What would a GUI have that couldn't be done via the web interface?

I discovered several new options for Fossil GUI recently:
Fuel - cross-platform GUI written on Qt;
QLFossil - Mac OS X helper for these, who uses Fossil.
Build-in web-interface become more usable on Windows. At the moment you can setup fossil to run on background, so you won't need type fossil ui in command line anytime you need to view history, or changes. By the way, web-interface now features a new eye-candy theme and side-by-side diffs.

There is now a GUI for Fossil on Mac, sort of... I have been working on a simple GUI which, while not a Finder plugin like Tortoise{CVS,SVN,GIT,...}, works together with Finder.
The project can be found at http://chiselapp.com/user/sti/repository/fossil-gui/home

Personally, the built-in fossil ui has been all the GUI I need for small projects.
After fossil new and fossil open, the only real interaction with a repository for a personal project is the occasional fossil changed and fossil extra to make sure I didn't change anything I didn't intend to change, and naturally fossil ci to check in those changes.
For browsing the repository fossil ui does everything I need. It is hard to beat the Timeline view, from which you can get to the files changed by that check in. There is also the Files view, from which you can see each file and inspect that file's timeline.
There is also a project in progress to write an introductory book for fossil. The current draft is well worth reading.

The ramdebugger TKL IDE has support for fossil built in, although the fact is a bit hidden on the changes changes page.

There is a built-in web interface.
If you have an open repository
i.e.
fossil open myProject.fossil
then run fossil with the ui command:
fossil ui
fossil will run a webserver providing gui access to the currently opened repository and it will start your browser pointing to http://localhost:8080 (or some previously unused port).

There are no platform ui clients for Fossil on Windows Explorer or Mac OS X Finder.
There are no IDE extensions for eclipse, netbeans, emacs or the Microsoft/Apple tool chains that I can find, but there is one for a TCL IDE:
RamDebugger has some support for GUI commit & add & update with Fossil. It is an IDE & debugger for TCL.
http://www.compassis.com/ramdebugger
http://www.compassis.com/c/ramdebugger/index
courtesy Ramon Ribó, fossil-users mailing list 1 July 2010
Sorry the answer is mostly 'no', but this response should change soon as fossil seems to be attracting a lot of attention.

Related

Mercurial on Mac and Windows - without admin?

My workflow includes having to develop at work (a University) where I don't have admin/install rights on a Macintosh OSX workstation. Right now I just use a USB stick to carry the code around, but this is so very old fashioned and makes no good use of source control principles.
I want to start using Mercurial (and/or Kiln) for my work, but is there anyway I can do so in this environment? I'm willing to use GUIs, command line, workarounds like using any weird free portable IDE configuration solely for use of a portable Mercurial plugin, etc.
I can find plenty of links for doing this on Windows, but not Mac. At the very minimum I need to be able to commit and update my local code. Everything else would be icing on the cake, but I'd settle for really minimal functionality on Mac. If need be I can do more intensive operations on own windows laptop where I can install anything I want, but without commit in a locked-down Mac environment it'll be nearly useless in my work.
Added Detail: My work is mainly web development, most recently jQuery/HTML5. My workflow mainly uses Dreamweaver for code editing and design, which is pleasantly available on all Mac workstations at my University.
Yes. Use of Mercurial does not require admin rights. It does seem that the official Mercurial installer requires admin rights (because it wants to put things in /usr/local/bin), though, which is a shame.
If you look round for graphical Mercurial clients, you will find that some of those do not require admin rights to install or use. MacHg doesn't seem to, for example. Download, unzip, run, enjoy. Murky also has a zip download, so i'd guess that was the same. SourceTree has a .dmg which opens to reveal a copyable application, so that also shouldn't need admin rights - it suggests you copy it to the Applications folder, but you can put it anywhere.
I would imagine that all of these programs include a copy of the actual Mercurial somewhere. In MacHg's case, it's at MacHg.app/Contents/Resources/localhg. You can use that from the command-line as usual.

Is there an GUI for Mercurial that makes my life really easy?

Can you recommend one over another?
For Windows and Linux (It also partially work on Mac, look at the comment of Nicholas Riley to this answer) there is TortoiseHG clone of the excelent TortoiseSVN
The great thing about theses two is that they are integrated in the shell (Windows Explorer or Nautilus). You see small icons over your files and folder that inform you about the status of your file in regards to the repository and you have a collection of commands/tools accessible from the context menu on theses files.
I like Murky. There is another that's okay but not quite as good called SourceTree.
There's also MacHg, which I was introduced to recently.
Take a look at mercurial page for GUI tools and integrations to IDE: https://www.mercurial-scm.org/wiki/OtherTools
For Windows I use HgWin tool (http://www.newsupaplex.pp.ru/hgwin_news_eng.html), which provide a GUI for the most of mercurial commands. It is similar to hgtk, but uses mercurial command line client (hg.exe) as backend.

File changed watcher Tool

I have recently begun a new project which runs on remote computer. I usually remote debug the application. I have setup microsoft sync toy to "echo" the built exe,dll,pdb and configs to the remote computer.
However, i cant add synctoy to my visual studio build events because it might disturb some of the other programmers in my team. I was wondering, which (free) tool would you guys use to watch a folder of files and kick off synctoy when a change is detected.
I can write a simple file watcher, but rather than reinvent the wheel, i would rather just use an existing tool. Searching on google yields so many tools, i wouldn't want to try them out just to find a good one.
It may fall under the banner of reinventing the wheel, but if you are using .NET, the FileSystemWatcher class, albeit without a UI, is pretty much as comprehensive as you can get, out of the box.
I'm sure you could knock something up with it in a very short time.
What about using Robocopy with the /MON or /MOT options? See http://ss64.com/nt/robocopy.html for more details.

Is there a free/open source wget-like Windows program with graphical progress?

I am writing a WiX-based installer for our software. I need to download some non-trivial dependencies (like Sql Server Express 2008), then install them.
I could just use wget, but having the console open to show progress could be very confusing for non-technical people. Instead, I have been looking for a program that works just like wget, but shows its progress in a very simple window with the name of the file and the progress.
If I could show a small message that would be fantastic, but just having the GUI progress is the main thing.
I would even be interested in an existing program that almost does this, which I could recompile to add whatever I need. Since this is in an installer, it can't depend on .Net or anything else that needs installing to work.
Is anyone aware of such a program?
Why not to get wget sources and remove console output from there?
Since I did not find such a program, I wrote one. I used the latest libcurl available for Windows.
The code is not beautiful, and the program is not feature-complete, but it does what I need it to do: download from http:// while displaying a simple, attractive Window.
The titlebar is customizeable on the command-line, and I intend to allow window positioning too.
The project is hosted on google code: http://code.google.com/p/installerget/

Which SCM system for Xcode?

I am developing an application for the Mac as a small team (me + another person) effort. We are located in different cities, and have started to see the need for solid source control management.
None of us have any experience with this, and both of us are relatively new to Cocoa/Obj-C/Xcode (but do have C knowledge).
Does anyone have any recommendations as to which SCM system to choose? I understand that a lot of people are using Subversion, which is also supported in Xcode 3.1. Does anyone have experience with using Subversion through Xcode? Or is it a better option to chose a stand alone GUI alternative, such as Versions?
Grateful for any input on this.
Gregor Tomasevic,
Sweden
Update/personal experiences:
Since this post, we have tried Versions and Cornerstone (both of which are SVN GUI-clients), as well as Xcodes built-in support for SVN. We were not particularly pleased with Versions, which seemed to have some problems with committing unversioned files/build files. The built-in SVN support in Xcode works quite well, although it probably has limitations that we have still not run into. Cornerstone is both simple to use and powerful, and does not seem to suffer from the problems we encountered with Versions.
So far, we have just tried committing, updating repo, checking out latest/previous versions of our files and worked some with file comparison. It might be a whole different ball game once you start working extensively with branching, an area which we have been told both these GUI clients might have some weaknesses in.
For what it's worth (and with only days of evaluation) Cornerstone seems to be a somewhat better alternative, although for simpler SCM, Xcode works well too.
Thanks for all the comments.
Xcode only supports Subversion, Perforce, and CVS. However, there are also distributed version control systems out there, such as Mercurial, Bazaar, and Git. These have no Mac-native GUIs, but you should still consider them. Personally, I love managing my projects in Mercurial repositories.
[Added 2011-03-10] Xcode 4 adds support for Git. Several of us have filed requests for Mercurial support; you should, too, if you want it.
There is a nice GUI frontend for Mercurial on Mac called MacHG: http://jasonfharris.com/machg/
It is free and very nice IMHO.
You can't really go wrong with using Subversion.
If, like me, you don't like Xcode's SVN integration too much you can always choose to use the command-line tools, or one of the several GUI apps like Versions, CornerStone or SvnX. Most of these tools work together pretty well, so you're not necessarily tied in to the tool you start out with.
I personally do most of my work with Versions, and use the command-line tools with the same working copies every once in a while.
If you're comfortable working with command-line tools exclusively until someone creates a good GUI app around it, git is a pretty viable option too.
disclosure: I'm one of the people who work on Versions, so I might be slightly biased ;)
Xcode's Subversion support is pretty good. 90% of the SVN activities I perform are easily doable from Xcode. For the other few things I just fire up Terminal.
There are a couple things in their SVN client implementation that are annoying:
The code that checks to see which local files have been modified seems to run on a background timer, and its pretty latent. Sometime it takes 5 minutes for Xcode to show a file as modified. The same thing is even more exaggerated w/r/t remote modifications.
Sometimes when you rename or delete a file that isn't under source control, a dialog will appear, asking "Do you wish to [rename/delete] this file in SVN as well?" And the options are "Yes" or "Cancel." You choose Yes out of desperation only to be presented with a well-deserved SVN error.
Overall, I'd recommend it.
Caveat: If you simply tell XCode to add a project to a repository by giving it the top-level dir, it WILL add the build directory to the repository, which of course is a terrible thing to do.
In order to get around this you have to move the build dir to another location so that XCode won't try to import it, or manually add the discrete folders of a project one by one.
Subversion is the traditional OS X source control solution, in Leopard it's supported in Xcode and OS X, not to mention the third party GUI apps (a few of which look very slick). Despite all of this though, a lot of the independent OS X developers have switched to Git over the past year or two. As a single developer I can tell you Git has turned out to be a very good solution for me, and along with Github it makes a great solution for a small team effort.
If you're interested in using Mercurial on OS X, try SourceTree, it's not free but it's competitively priced and has a very polished Mac OS feel. I've been using it for personal projects for the last few months on and off and find it intuitive and reasonably robust.
It's available through the Mac App Store and supports Git and Mercurial. They have a website at http://www.sourcetreeapp.com/ with more information.
If your going for subversion, I've heard good things said about Springloops. I code together with some friends too in a similar fashion and we use Github. Git is such a wonderful experience. I don't use any GUI for it since I'm much more efficient with a shell prompt. But of course, I'd welcome if Xcode had support for Git repos.
Mercurial (like git) is "distributed" and perhaps regarded as more modern and up-and-coming than svn (but less established). If you want to auto-checkin using mercurial, you can add the line:
hg commit -m "Xcode auto commit"
as part of a "Run Script" stage of the XCode build, as found in:
Project > New Build Phase > New Run Script BUild Phase
I use : https://bitbucket.org/hsivank/xcode4-with-mercurial/wiki/Home

Resources