Login
Changes To home
Login

Changes to "home" between 2013-08-01 18:15:14 and 2013-08-01 18:59:55

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36


37
38
39
40
41
42
43
1
2
3
4
5
6
7
8
9
10
















11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29










-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-










+
+







<h1>Fossil Library API Scratchpad</h1>

See also: [download]


This source code repository houses experimentation for a potential library API for the [http://fossil-scm.org|Fossil SCM]. The primary goal is to port existing behaviour into a library form (the v1 app is extremely monolithic in nature). While it has been informally dubbed "v2", so far no format-breaking changes are planned so it might turn out to provide an alternative to fossil v1, as opposed to a replacement.


This code currently doesn't do much - it is intended for those interested in following or participating in the design of libfossil. All current Fossil committers (those who have a signed a license waiver on file with DRH) are welcomed contributors - email me your preferred user name to get access: sgbeal@googlemail.com.

<nowiki><pre>
[stephan@host:~/cvs/fossil/f2/th1ish]$ ./th1ish -f test-001.th1ish -- -c -r=../../whio.fsl 
This script's name: test-001.th1ish ==canonical==> /home/stephan/cvs/fossil/f2/th1ish/test-001.th1ish
test-001.th1ish:38:15 Repo db: Db@AA7D70
test-001.th1ish:41:11 f = FossilContext@A8B200
test-001.th1ish:50:19 Db details: repo Db@AA7D70
	Opened repo: /home/stephan/cvs/fossil/whio.fsl
	Size of repo: 3922944
	mtime of repo: Sun Jul 28 10:49:41 2013
test-001.th1ish:50:19 Db details: checkout Db@AA86F0
	Opened repo: /home/stephan/cvs/fossil/f2/.fslckout
	Size of repo: 136192
	mtime of repo: Sun Jul 28 16:47:25 2013
...
</pre></nowiki>


<h2>Status, TODOs, and Whatnot</h2>

All of this code is an <em>experiment</em>, and it does not represent a commitment by anyone that any of this code wll some day end up living under the umbrella of the larger Fossil SCM project. If all goes well, that's the eventual goal, though. It is pre-alpha quality. What's there works but there is still a a great deal of the SCM-specific infrastructure left to port in and refactor to make it usable via library-style interfaces. Anyone looking for a timeline is asked respectfully to look elsewhere - there is no timebox on nor schedule for this project/experiment.

The current public (and documented) API can be found in [http://fossil.wanderinghorse.net/repos/f2/index.cgi/finfo?name=include/fossil/fossil2.h|fossil2.h] (name subject to change)

TODOs... you might want to get a coffee/tee/beer before starting through [https://docs.google.com/document/d/12g0s5A2TPX7-y47Nsw235rvsjcuh49TnHfMDB4ASvlo/view|the list].

A list of recent notable changes is maintained below.

An experimental [th1ish|script engine binding] is being created in parallel with the library.

<h2>"Rules" for Code Contributors</h2>

   *  All code contributors must have a license waiver on file with DRH, as the hope is to eventually release this code as the next generation of Fossil. Non-code contributions are happily accepted from anyone.
   *  When working on bits which themselves write to the repository, e.g. creating checkins, please be exceedingly careful not to corrupt the db :-D.
   *  Please try to conform to the overall coding style (as laid out by Fossil v1).
   *  Don't bother using branches unless you really want to - the trunk has no stability guarantees and is very much in flux, so feel free to work there instead of a branch.