Simple version control via Fossil

Got an idea for enhancing PureBasic? New command(s) you'd like to see?
Flower
User
User
Posts: 22
Joined: Fri Jan 08, 2010 8:05 am
Location: United States

Simple version control via Fossil

Post by Flower »

Now PureBasic IDE has the project management feature, it would be nice if a lightweight version control system is also integrated.

The regular version control system is too bloated for PureBasic, but I came across Fossil.

Other than all the reasons listed below, Fossil uses BSD license, which could be another good reason to choose it.

http://www.fossil-scm.org/
(This site itself is running on Fossil, a good demonstration)
Bug Tracking And Wiki - In addition to doing distributed version control like Git and Mercurial, Fossil also supports distributed bug tracking and distributed wiki all in a single integrated package.

Web Interface - Fossil has a built-in and easy-to-use web interface that simplifies project tracking and promotes situational awareness. Simply type "fossil ui" from within any check-out and Fossil automatically opens your web browser in a page that gives detailed history and status information on that project.

Autosync - Fossil supports "autosync" mode which helps to keep projects moving forward by reducing the amount of needless forking and merging often associated with distributed projects.

Self-Contained - Fossil is a single stand-alone executable that contains everything needed to do configuration management. Installation is trivial: simply download a precompiled binary for Linux, Mac, or Windows and put it on your $PATH. Easy-to-compile source code is available for users on other platforms. Fossil sources are also mostly self-contained, requiring only the "zlib" library and the standard C library to build.

Simple Networking - Fossil uses plain old HTTP (with proxy support) for all network communications, meaning that it works fine from behind restrictive firewalls. The protocol is bandwidth efficient to the point that Fossil can be used comfortably over a dial-up internet connection.

CGI Enabled - No server is required to use fossil. But a server does make collaboration easier. Fossil supports three different yet simple server configurations. The most popular is a 2-line CGI script. This is the approach used by the self-hosting fossil repositories.

Robust & Reliable - Fossil stores content using an enduring file format in an SQLite database so that transactions are atomic even if interrupted by a power loss or system crash. Furthermore, automatic self-checks verify that all aspects of the repository are consistent prior to each commit. In over three years of operation, no work has ever been lost after having been committed to a Fossil repository.
Registered PureBasic user since 4.50
Christian Uceda
User
User
Posts: 67
Joined: Thu Jul 29, 2010 10:53 am

Re: Simple version control via Fossil

Post by Christian Uceda »

Intriguing, I never heard of this Fossil software before, I'm a SVN user since version 1. If you have experience on both, SVN and Fossil, how does this revision system compare against SVN?
User avatar
holzhacker
Enthusiast
Enthusiast
Posts: 125
Joined: Mon Mar 08, 2010 9:14 pm
Location: "Mens sana in corpore sano"
Contact:

Re: Simple version control via Fossil

Post by holzhacker »

Friends, will soon be providing a tool I'm developing called PureFossil, a GUI for Fossil done in PureBasic.

It is part of a set of tools that I am developing in his spare time and will be available for free collaboration of all the PB community and will be controlled by PureFossil.

I'm already using PureFossil internally but needs to mature a little more.

It is hosted in http://chiselapp.com a free repository for fossil and the project link is: http://chiselapp.com/user/holzhacker/re ... ssil/index

The files will only be available for cloning, collaboration and download after I become a little more stable.

Image
*PureFossil was inspired by FUEL.
Greetings and thanks!

Romerio Medeiros
romerio@gmail.com
User avatar
holzhacker
Enthusiast
Enthusiast
Posts: 125
Joined: Mon Mar 08, 2010 9:14 pm
Location: "Mens sana in corpore sano"
Contact:

Re: Simple version control via Fossil

Post by holzhacker »

Christian Uceda wrote:Intriguing, I never heard of this Fossil software before, I'm a SVN user since version 1. If you have experience on both, SVN and Fossil, how does this revision system compare against SVN?
See the comparison between Fossil and GIT: http://fossil-scm.org/index.html/doc/tr ... v-git.wiki
Greetings and thanks!

Romerio Medeiros
romerio@gmail.com
c4s
Addict
Addict
Posts: 1981
Joined: Thu Nov 01, 2007 5:37 pm
Location: Germany

Re: Simple version control via Fossil

Post by c4s »

PureFossil sounds interesting because I already tried using Fossil (with the Fuel GUI). So now I'm waiting for your version. 8)
If any of you native English speakers have any suggestions for the above text, please let me know (via PM). Thanks!
User avatar
skywalk
Addict
Addict
Posts: 4211
Joined: Wed Dec 23, 2009 10:14 pm
Location: Boston, MA

Re: Simple version control via Fossil

Post by skywalk »

Yes, looks good. I use Fossil now with RunProgram and parsing the return values. Since Fossil has its own web gui, there really is little to automate. But all automation is welcome. :wink:
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum
User avatar
holzhacker
Enthusiast
Enthusiast
Posts: 125
Joined: Mon Mar 08, 2010 9:14 pm
Location: "Mens sana in corpore sano"
Contact:

Re: Simple version control via Fossil

Post by holzhacker »

skywalk wrote:Yes, looks good. I use Fossil now with RunProgram and parsing the return values. Since Fossil has its own web gui, there really is little to automate. But all automation is welcome. :wink:
Then my friend, you are invited to join the project. I believe it starts a wave of collaborative projects in PB controlled by the fossil and distributed and supported here in the PB forums. :)

In fact you can even use as a tool of the IDE and in conjunction with a "PureBasic Project", but this will be future resources that each can contribute.
Soon I will be reviewing improving, stabilizing and providing on a topic here in the forum to clone the repository and collaboration of all.

Thanks for the support! :mrgreen:
Greetings and thanks!

Romerio Medeiros
romerio@gmail.com
User avatar
skywalk
Addict
Addict
Posts: 4211
Joined: Wed Dec 23, 2009 10:14 pm
Location: Boston, MA

Re: Simple version control via Fossil

Post by skywalk »

Sounds good.
The nice thing about standards is there are so many to choose from. ~ Andrew Tanenbaum
User avatar
Kukulkan
Addict
Addict
Posts: 1396
Joined: Mon Jun 06, 2005 2:35 pm
Location: germany
Contact:

Re: Simple version control via Fossil

Post by Kukulkan »

This is a nice find, thank you. We are still using GIT for our PureBasic and PHP/JS/HTML/CSS sources but Fossil is interesting. Especially for smaller teams, this seem to be a good alternative preventing you from some of the drawbacks of GIT.
User avatar
Tristano
Enthusiast
Enthusiast
Posts: 195
Joined: Thu Nov 26, 2015 6:52 pm
Location: Italy
Contact:

Re: Simple version control via Fossil

Post by Tristano »

holzhacker wrote:Then my friend, you are invited to join the project. I believe it starts a wave of collaborative projects in PB controlled by the fossil and distributed and supported here in the PB forums. :)

In fact you can even use as a tool of the IDE and in conjunction with a "PureBasic Project", but this will be future resources that each can contribute.
Soon I will be reviewing improving, stabilizing and providing on a topic here in the forum to clone the repository and collaboration of all.
Dear @holzhacker I've stumbled upon your PureFossil project quite a few months ago, but it doesn't seem like you've commited anything yet. I'd like to help, if I can, but so fare the project is empty.

Is the project stale, dead or alive? I really think you had a great idea here, and that Fossil is a great choice for PB.

How far did you get with the project?

Are you using libfossil to interface with Fossil? or are you parsing the CLI output?

Please, keep us updated on PureFossil status.
The PureBASIC Archives: FOSS Resources:
User avatar
Lunasole
Addict
Addict
Posts: 1091
Joined: Mon Oct 26, 2015 2:55 am
Location: UA
Contact:

Re: Simple version control via Fossil

Post by Lunasole »

That's "my version control" Image

Just a self-made tool archiving whole project (or only it's code files if another option) through Winrar, with an optional short brief remark (can be picked automatically). I'm running it not only to separate old version, but often before starting to do any changes which can break something, that's why it's called CodeAngel (I thought also about "CodeMonkey", but has concluded that "rather it is CodeAngel for CodeMonkey" ^^).

I know about version control systems for years, but still don't see any reason to use some of them. As for me using them just leads to doing additional stupid bureaucracy and "paper work", especially if you are only one who writes your code. If need to compare some changes it's much simpler and faster to extract required file from archive by drag&drop and open in another IDE tab or Notepad++ to find and CTRL+C interesting part, than launching whole external system and playing with it.
"W̷i̷s̷h̷i̷n̷g o̷n a s̷t̷a̷r"
User avatar
Tristano
Enthusiast
Enthusiast
Posts: 195
Joined: Thu Nov 26, 2015 6:52 pm
Location: Italy
Contact:

Re: Simple version control via Fossil

Post by Tristano »

Hi @Lunasole, thanks for your quick reply.

CodeAngel seems a very handy tool — I also resort to archiving work files under a single zip file with progressive numbering and/or dates, especially during draft work, and if I am working alone on a project. And I guess most programmers take this path, wether they use VCS or not.

Any chance of CodeAngel being publicly available for download?

That sayd, and agreeing with you that version control systems do bring into the workflow a lot of hassle (and often nightmares), I still feel that the benefits of massive user collaboration projects and platforms (like GitHub, Bitbucker) do bring advantages -- especially when ti comes to maintain forking versions of a project, where updates on the upstream can be (more or less) easily integrated into one's derivative work by merging in changes without breaking up the whole code.

But most of all, whenever ending up using version control with PB projects, it would be nice to have some tools which allow interfacing with the VCS directly from PB IDE (at least for the most common operations).
The PureBASIC Archives: FOSS Resources:
User avatar
Lunasole
Addict
Addict
Posts: 1091
Joined: Mon Oct 26, 2015 2:55 am
Location: UA
Contact:

Re: Simple version control via Fossil

Post by Lunasole »

Tristano wrote: Any chance of CodeAngel being publicly available for download?
I'd like to post it but it uses WinRar archiver which is proprietary and copyrighted, without it code is almost useless. That was just "another wheel-reinventing util for myself" and I didn't make it more common way.
Tristano wrote: But most of all, whenever ending up using version control with PB projects, it would be nice to have some tools which allow interfacing with the VCS directly from PB IDE (at least for the most common operations).
Yes, anyway it would be better for PB to have some SVN to be more "professional". PB currently has nice built-in util to diff 2 source files (or whole project folders), but it is made very unhandy as for me.
"W̷i̷s̷h̷i̷n̷g o̷n a s̷t̷a̷r"
User avatar
holzhacker
Enthusiast
Enthusiast
Posts: 125
Joined: Mon Mar 08, 2010 9:14 pm
Location: "Mens sana in corpore sano"
Contact:

Re: Simple version control via Fossil

Post by holzhacker »

Hello, Tristano,
Is the project stale, dead or alive? I really think you had a great idea here, and that Fossil is a great choice for PB.
Yes friend, this project is active in full use in the company's projects where I work.

I use it to manage a FOSSIL server on a Raspberry Pi 2 and SSD Card 64GB Class 10 with installed Flint (https://chiselapp.com/user/rkeene/repository/flint/). So I can have a more friendly management repositories.

It will be a pleasure to have collaborators for this and other projects that I have, I will open the code.

Things are very busy around here.
If you can wait a week or two so that I can prepare the code and a brief documentation I can upload the code and initially share PureFossil.
Are you using libfossil to interface with Fossil? or are you parsing the CLI output?
I'm currently using the communication CLI, there was a problem in the recovery of the first return line FOSSIL, but has been resolved and I will update this part to release.
Greetings and thanks!

Romerio Medeiros
romerio@gmail.com
User avatar
Tristano
Enthusiast
Enthusiast
Posts: 195
Joined: Thu Nov 26, 2015 6:52 pm
Location: Italy
Contact:

Re: Simple version control via Fossil

Post by Tristano »

Hi @holzhacker,

good to know the project is alive and kicking. I also noticed you'r personal website is reachable again (in the past it was blocked by some browsers).
If you can wait a week or two so that I can prepare the code and a brief documentation I can upload the code and initially share PureFossil.
Sure, no hurry. Hopefully if I can help in any way (from coding to testing, to documentation, ecc.) I'll be happy to.

I imagined you went for the CLI parsing approach -- libfossil seems still in a very experimental stage. Hopefully one day libfossil will reach a stable status, which would make binding fossil to PB a possibility -- but I guess it would still require quite a lot of work. Anyhow, parsing the CLI should be neater with Fossil than with Git, since Fossil is a single binary (and not a collection of tools), so there should be more consistency in its output.

And thanks @Lunasole for the clarifications. I actually haven't looked into PB's source diffing tool. But I'll definitely will.
The PureBASIC Archives: FOSS Resources:
Post Reply