Zim

[Feature request] Support of Fossil version control system

Bug #1172051 reported by virens
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Zim
Fix Released
Wishlist
Unassigned

Bug Description

Fossil is simple, high-reliability, distributed software configuration management: http://fossil-scm.org/index.html/doc/trunk/www/index.wiki
It's main feature is storing everying in one database file, which is beneficial for people who need to store files on FAT filesystems.

The syntax of Fossil is very similar to the one of Mercurial (except for the deletion of files), and I think it would be not very difficult to implement.

Revision history for this message
Jaap Karssenberg (jaap.karssenberg) wrote : Re: [Bug 1172051] [NEW] [Feature request] Support of Fossil version control system

If you know a little bit of python or are not afraid of editing python
files regardless, I can guide you how to hack this with minimal
effort.

The version control plugin has separate python modules for each
backend and abstracts most of the usage such that adding a new backend
it quite easy.

Starting from a zim source directory
Step 1: copy zim/plugins/versioncontrol/hg.py to ..../fossil.py
Step 2: in fossil.py search for "hg" and replace accoringly
Step 3: in fossil.py search for all calls to run() or pipe() - these
are commandline calls, check the parameters
--> now you have a sub module to handle the fossil command, next step
is to let the plugin know this module exists
Step 4: open op zim/plugins/versioncontrol/__init__.py and look for
"HG", add lines for "FOSSIL" below
Step 5: modify the method "_detect_in_folder()" and add lines for
detecting fossil

Now start zim ("python ./zim.py -D" from source folder) and test it
with a fossil controlled notebook

Please attach the resulting files here so I can add them to the main source.

Regards,

Jaap

On Wed, Apr 24, 2013 at 12:29 AM, virens <email address hidden> wrote:
> Public bug reported:
>
> Fossil is simple, high-reliability, distributed software configuration management: http://fossil-scm.org/index.html/doc/trunk/www/index.wiki
> It's main feature is storing everying in one database file, which is beneficial for people who need to store files on FAT filesystems.
>
> The syntax of Fossil is very similar to the one of Mercurial (except for
> the deletion of files), and I think it would be not very difficult to
> implement.
>
> ** Affects: zim
> Importance: Undecided
> Status: New
>
> --
> You received this bug notification because you are subscribed to Zim.
> https://bugs.launchpad.net/bugs/1172051
>
> Title:
> [Feature request] Support of Fossil version control system
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/zim/+bug/1172051/+subscriptions

Changed in zim:
status: New → Confirmed
importance: Undecided → Wishlist
Revision history for this message
Stas Bushuev (xitsalarauko) wrote :

plugin for fossil scm

Revision history for this message
Jaap Karssenberg (jaap.karssenberg) wrote : Re: [Bug 1172051] Re: [Feature request] Support of Fossil version control system

Hi Stas,

Your patch looks good to me. Only thing I miss is a test case that I can
run to make sure I don't break anything when modifying code. Please have a
look at "tests/versioncontrol.py" probably you can copy-paste one of the
other tests and modify to fit fossil.

Also a small update is required for the manual page
"data/manual/Plugins/Version_Control.txt" but that is trivial.

Thanks!

Jaap

On Fri, Apr 10, 2015 at 4:16 PM, Stas Bushuev <email address hidden>
wrote:

> plugin for fossil scm
>
> ** Patch added: "fossil-scm-plugin.patch"
>
> https://bugs.launchpad.net/zim/+bug/1172051/+attachment/4371601/+files/fossil-scm-plugin.patch
>
> --
> You received this bug notification because you are subscribed to Zim.
> https://bugs.launchpad.net/bugs/1172051
>
> Title:
> [Feature request] Support of Fossil version control system
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/zim/+bug/1172051/+subscriptions
>

Revision history for this message
Stas Bushuev (xitsalarauko) wrote :

Added some tests and notes in help.

Revision history for this message
Jaap Karssenberg (jaap.karssenberg) wrote :

Merged plugin

Made two fixes while merging:
- renamed test case from "TestGit" to "TestFossil"
- removed the "--width 0" option in the log() function, made test cases fail on my system

Changed in zim:
status: Confirmed → Fix Committed
Changed in zim:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.