Fossil Forum

Proposed: A Virtual Conference for Fossil Users and Developers
Login

Proposed: A Virtual Conference for Fossil Users and Developers

(1) By Richard Hipp (drh) on 2020-10-20 01:39:51 [link] [source]

What if we set up a virtual conference for Fossil users and developers? The conference would be on-line only - no travel involved. Who would be interested?

Purpose:

  1. Provide an opportunity to meet and interact with other Fossil users and developers. (Do we dare call such people "paleontologists"?)

  2. Share ideas and tips for making maximal use of Fossil.

  3. Identify areas of Fossil that need improvement and come up with a roadmap for making those improvements.

Proposed Topics:

  1. Novel uses of Fossil

  2. Extensions and enhancements

  3. Success stories - real-world problems solved using Fossil

  4. Benefits and problems when moving to Fossil from other version control systems. Tips and hints for people making the switch.

  5. Areas in need of improvement, with suggestions on how to go about making those improvements and what the end result should look like.

  6. New skins and/or ticket configurations

  7. Innovative uses for unversioned files

  8. Best practices for security

  9. Best practices for performance

  10. Stupid Fossil Tricks

  11. Tips and hints for newbies.

Suggested Format:

  • Talks can be of any length form 10 minutes to 45 minutes, though speakers are are encouraged to strive for shorter talks.

  • No slides. Presentation notes should be in Markdown and will be uploaded to a Fossil repository established for this purpose prior to the presentation.

  • Each talk followed by a question and answer time.

  • This will be a one-day event.

  • No cost (or perhaps a token payment of $5 just so that everybody has skin in the same).

  • Advance registration requested.

  • All talks will be approved and scheduled in advance and the schedule will be published. Each talk must include an abstract, speaker bio, and speaker publicity photo.

Questions:

  • Will you participate? Will you present? If so, post a follow-up comment or send private email to drh@sqlite.org.

  • What day and over what hours should the event occur? A weekend or weekday? When suggesting times, please use UTC. I propose a date in December, but I am open to alternative suggestions.

  • What video-conference technology to use? I propose Jitsi, but I'm also willing to pay for a Zoom conference if people think Zoom will work better. Is there some other platform that should be considered?

  • Who has experience with this sort of thing and would be willing to help me select and set up the appropriate technology?

  • How can this proposal be improved.

(2) By Scott Robison (sdr) on 2020-10-20 02:10:47 in reply to 1 [link] [source]

I would love to attend. I like the idea of December, especially anytime after December 16 (that is my last day of university at which point I'll finally be finished with a degree).

I don't know that I have enough cred to contribute on the talk front as my contributions have been minimal, but I would be happy to help with tech setup / configuration in as much as is necessary.

(3) By Stephan Beal (stephan) on 2020-10-20 03:12:38 in reply to 1 [link] [source]

Each talk must include ... speaker publicity photo.

Keeping in mind that 2020 is the Year of Uncut Hair (or, in my case, the Year of the Return of the Mullet, as i can't cut the back myself).

Will you participate?

Count me in.

Will you present?

Suggestions from the general public for talk(s) welcomed - just please keep suggestions to topics i've posted about before (e.g. nothing SSL/ngix/Windows-related, as those are all completely foreign to me!). Feel free to contact me off-list (if preferred) with suggestions.

What day and over what hours should the event occur?

Internationally, Sunday is largely still a day off of in many countries, and would be my personal preference (but not a strong one).

Aside from (as of this week) about 01:30-05:30 CET (yes, A.M.!) Monday-Saturday i'm generally always available. My largest contiguous free block is from Saturday about 6am CET until midnight-ish Sunday, barring obligatory sleep breaks and dog walks.

What video-conference technology to use? I propose Jitsi,

FWIW, my experiences with Jitsi have all been positive and i've read tons of bad press about Zoom (but have not looked into whether it's justified).

(56.1) By Stephan Beal (stephan) on 2020-11-18 22:20:43 edited from 56.0 in reply to 3 [link] [source]

Suggestions from the general public for talk(s) welcomed...

Barring any better/more popular suggestions, the one which keeps coming to mind for me to cover is "the fossil file format." In short: it's a natural for people, when they hear that fossil is built on sqlite, to assume that the underlying data model is db-friendly and that the SCM history can be manipulated via queries, but the truth is much stranger than that.

Topics would include:

  • Not-in-gross-detail overview of the "artifact" terminology, the low-level data format, and its major properties: simplicity (able, in principle, to be easily re-implemented in arbitrary other systems, independent of any given storage mechanism/engine), immutability (and the pieces used to guaranty that), durability (a basic data format intended to last for generations, as opposed to a markup flavor of the decade).

  • "Crosslinking": one-way transformation of low-level artifacts into (transient!) high-level relational db structures.

  • Demonstrate how those concepts apply to various common fossil operations, like checkin, tagging, and rebuild.

  • Maybe quickly contrast baseline vs delta manifests, and the pros and cons of delta manifests.

  • Maybe even something else. (Suggestions are welcomed.)

  • Q&A, of course.

That said, i'm open to other topics if that one seems too dry.

(57) By Warren Young (wyoung) on 2020-11-19 16:26:34 in reply to 56.1 [link] [source]

Maybe even something else. (Suggestions are welcomed.)

The mapping of artifact card values to index tables is fairly opaque. The "event" and "mlink" tables are important, for example, but how does one work out how to query them? How do you map hashes to RIDs and back? Etc.

I'm less interested in specific answers than in a presentation that breaks conceptual barriers, so that after one watches the video, they know enough of the concepts that they can begin answering such questions for themselves.

(60) By Stephan Beal (stephan) on 2020-11-19 17:00:32 in reply to 57 [link] [source]

The mapping of artifact card values to index tables is fairly opaque. The "event" and "mlink" tables are important, for example, but how does one work out how to query them?

Not only do i not know the answers off-hand, but i consider those topics to mostly be too in-depth for the scope of this presentation. Maybe the topic of a workshop or a deep-dive talk, but my intent is/was to cover it at a higher level so that listeners/readers understand, more or less, the distinction between fossil's underlying app-agnostic data format and the "concrete implementation" which is the rest of the SCM. e.g. to explain what cross-linking is without walking through the whole cross-linking process to demonstrate where each piece of a manifest ends up in the db and which auxiliary info is derived from that (e.g. mlink, though touching on some of that certainly couldn't hurt).

How do you map hashes to RIDs and back? Etc.

Answering that would probably be necessary (or implicit) in the process of explaining the blob table's central role.

I'm less interested in specific answers than in a presentation that breaks conceptual barriers, so that after one watches the video, they know enough of the concepts that they can begin answering such questions for themselves.

i will keep that angle in mind while figuring out what to present. i'll certainly run any drafts by the forum, rather than dumping it all on everyone for the first time in the conference, in the interest of improving the coverage, focus, and organization.

(58) By Dan Shearer (danshearer) on 2020-11-19 16:49:53 in reply to 56.1 [link] [source]

Stephan Beal (stephan) said on 2020-11-18 22:20:43:

Maybe even something else. (Suggestions are welcomed.)

Databases are built around mathematical principles. So is an SCM.

How does mathematics bear on Fossil?

Dan

(59) By Stephan Beal (stephan) on 2020-11-19 16:52:30 in reply to 58 [link] [source]

How does mathematics bear on Fossil?

i'm one of those rare career programmers who struggles with any math beyond multiplication. (To balance that out, though, i'm also one of the equally rare ones who writes documentation.)

(4) By jam on 2020-10-20 03:39:54 in reply to 1 [link] [source]

I would be down. I personally am not interested in talking but more of just looking for dialogue on how to improve my usage & understanding of Fossil. We've been on it for about 8 years now and I don't feel like I'm really maximizing my use.

Definitely interested in some demos of less-used features, things that aren't available unless you build Fossil yourself.

(5.2) By Warren Young (wyoung) on 2020-10-20 11:42:16 edited from 5.1 in reply to 1 [link] [source]

Do we dare call such people "paleontologists"?

Given the SQLite license, I propose "paleodeontologists". 😉

Novel uses of Fossil / Stupid Fossil Tricks

How would I know if I had one of these? I mean, I think of everything I do with Fossil as "normal," but perhaps some of it is surprising to someone who doesn't possess my mazy brain. (And you can't have it; I'm still using it.)

Instead of asking us to compute the set difference between what local experts know about Fossil and what the general Fossil-using audience is expected to collectively know, then presenting on the remaining topics, I propose that we come up with a list of questions that don't have a simple "read this document right here" type of answer.

Readers: List the things you think Fossil can't do. We may then come up with some surprising answers for you. Or, repost a question you got an answer to, which you think isn't as well-appreciated as it should be, so would benefit from being represented at the conference.

Ideally, we'd mine one of the old Usenet-style FAQs for this, the ones that grew to the point where they were answering "rarely-asked questions" as well. Our FAQ is pretty sparse, in that sense. (I used to maintain a FAQ so big it required that I break it up into several sections! It wasn't a FAQ so much as a small book; 44k words.)

To seed this project, has anyone taken my Image Format vs Fossil Repo Size conclusions and constructed a workflow that puts the ideas into practice? For historical reasons, I can't do that with any of my repos, but if I were starting a new project from scratch, I would do just as I recommended there.

ticket configurations

The most I've done is adjust the stock categories in the Common section of the Ticket configuration screen, and make some trivially-adjusted clones of the stock ticket reports.

I suspect there are several people who've gone much farther, and we don't know it because it's quietly running on private Fossil servers. I would indeed like to see some of that.

Best practices for security

I suspect you've got some tricks behind the scenes, drh. Blocking spammers hard, etc.

Here's an open question: has anyone bothered teaching fail2ban how to recognize when a Fossil repo is under attack and shut that down? I'm thinking of a script that occasionally scans repository.admin_log for suspicious activity, or similar.

Will you participate? Will you present?

Pretty much everything I have along these lines goes into the Fossil docs already. I could read one of those to y'all, but that's not a good use of conference time.

(6.2) By Warren Young (wyoung) on 2020-10-20 11:37:11 edited from 6.1 in reply to 5.0 [link] [source]

Proposal: "Thinking in Pikchrs"

Presenter: Someone who actually understands PIC. (i.e. Not me. :) )

Seriously, my most impressive effort so far is this, but I suspect there are diagrams more interesting for people to see constructed from scratch, and people more interesting to watch constructing them.

...But if someone wants to see me puzzle out how to construct enough pidgin PIC to reproduce that thing, I could. I suppose it would have value in beginner perspective. "Out of the fingers of baby programmers" kind of thing.

(9) By Phil Maker (pjm) on 2020-10-21 09:28:22 in reply to 6.2 [link] [source]

Warren,

I'd be happy to review and give you a hand reviewing stuff for this noting that most of my diagrams look something like the following. ...

Network IoT... SCADA Ethernet Outside Laot Filter Fix/Find Ethernet Inside Device Under Protection History Versions, Logs Append Only Operator What has changed? Why? How to make it safe!
# top level context for laot
scale=1.0
boxrad = 10px

Main: [
 ellipse  "Network" "IoT..." "SCADA" fit dashed fill 0xD0B0B0
 line <-> "Ethernet" above "Outside" below
 box "Laot" "Filter" "Fix/Find" fit
 line <-> "Ethernet" above "Inside" below
 ellipse "Device" "Under" "Protection" dashed fit fill 0x00B000 
]

Watchers: [
 box "History" "Versions, Logs" "Append Only" fit
 line ->
 box "Operator" "What has changed?" "Why? How to make it safe!" dashed fit fill 0xF0F0F0
] with .n at Main.Laot.s -(0.0, 0.5)

line <-> from Main.Laot.s to Watchers.Operator.n
arrow from Main.Laot.s to Watchers.History.n

drh mentioned adding url or http attributes a while back (and mentioned the problems) but with that you could have the diagram link to the project wiki, timeline, diff, etc which would IMHO be way cool. For example "What has changed?" would link to the correct page for the device we are running, "Device ..." might link to the web server on the device, ... Drawings, ..., Logs to the device log server, Operator to the operators phone # :-).

So to be clear:

  1. If you need a few examples (of the simplest kind) happy to help.
  2. I'll try to get around to doing the url= code if people think its worthwhile.
  3. If/when it does it do I'll do up a couple of industrial control examples for a pikchr talk by whoever wants to do it.

See https://eds.power.on.net/laot-pub for the context.

(10) By John Rouillard (rouilj) on 2020-10-21 15:36:46 in reply to 9 [link] [source]

I think adding URL support (including interwiki link support) would be a good addition.

Maybe start with supporing text only anchors so extend:

  box "foo"

or

  "foo"

to support:

  box "[foo](interwiki:foo)"

or

   "[foo](https://google.com/?q=foo)"

This will only expose a little of the svg a tag but it would be a good (and hopefully easy) first step.

Maybe also support <http:/this.is.a.link/> if in a markdown document and hyperlink bare url's if in a fossil wiki document. IIRC Richard expressed concerns about supporting extensive markup in text elements so maybe only supporting one alternative would be good enough.

Clicking anywhere on a shape may need an addition to the grammar. Maybe:

   box "foo" url https://google.com/?q=foo

would put the a link around the entire box shape. I realize the text inside the box are separate elements, so this may be problematic in that the text would not be clickable. I am not quite sure how the a tag that would be added to the svg is scoped and how things bubble.

Lines and arrows are difficult to make into links because of their (usual) small size. But text around the lines could be turned into links. Again arranging the location of the a tag in the svg could solve this issue making the line and all its text into a single link.

(11) By Stephan Beal (stephan) on 2020-10-21 16:30:34 in reply to 10 [link] [source]

Maybe start with supporing text only anchors so extend:

The problem theree is that pikchr is ostensibly 100% independent of fossil. Adding support for any sort of fossil links would require an expanded pikchr interface with hooks for transforming links, a dependence on fossil, or some such.

(13.1) By Phil Maker (pjm) on 2020-10-23 03:59:31 edited from 13.0 in reply to 9 [link] [source]

G'day,

I mentioned adding url linking to pikchr and have looked at writing 
a proper version. The real version might be a while :-) but a mocked up version using a TCL script (see below) looks worthwhile, at least IMHO. See:

[https://eds.power.on.net/EDS/file?name=photos/pikchr-url.png&ci=tip]

I'll post all further progress on the pikchr forum but observations on the
following are welcome.

urls are added to text items (not boxes or ...) so the proposed syntax is to 
add links to text labels using:


[url|text]

as in fossil wiki and provide a way to prefix the url, e.g.

urlprefix="https://.../"

box "[operators.wiki|Contact Operator]" "[operator-phone.wiki|Phone]" 

We're just stealing the fossil wiki syntax, no other markup would happen so 
I think its ok :-). 

There are a few gotchas:

1. fit needs to be updated to avoid calculating the size of the URL
2. the underline doesn't look perfect?
3. The code below overrides attributes rather than doing it properly.

The image was generated with the following TCL filter which might be
useful for other mangling tasks, at least anti-prototyping.


#! /bin/sh
# -*-tcl-*- \
	exec tclsh "$0" "$@"
#
# addurl.tcl - add url to the pikchr output on stdin
#
# addurl.tcl -
array set options {
  -prefix ""
  -fill "blue"
}
array set options $::argv

set texturl {^<text ([^>]*)>\[(.*)\|(.*)\]</text>$}

while {[gets stdin line] >= 0} {
  if {[regexp $texturl $line -> texta url label end]} {
    puts -nonewline "<a href=\"$options(-prefix)$url\">"
    puts -nonewline "<text fill=\"$::options(-fill)\" $texta textdecoration=\"underline\">"
    puts "$label</text></a>"
  } else {
    puts $line
  }
}

# fit - breaks this since the URL is too long but
#   you could use the -prefix to make the URL short enough
# 

Thanks, enjoy the conference.

(19) By Dan Shearer (danshearer) on 2020-10-30 20:03:00 in reply to 5.2 [link] [source]

Warren Young (wyoung) on 2020-10-20 11:42:16:

Instead of asking us to compute the set difference between what local experts know about Fossil and what the general Fossil-using audience is expected to collectively know, then presenting on the remaining topics, I propose that we come up with a list of questions that don't have a simple "read this document right here" type of answer.

Readers: List the things you think Fossil can't do. We may then come up with some surprising answers for you. Or, repost a question you got an answer to, which you think isn't as well-appreciated as it should be, so would benefit from being represented at the conference.

Ok Warren, challenge accepted. I've been adding to this as I notice things, pasted in haste so I hope it makes sense.

Dan Shearer


Infrequently Asked Fossil Questions

Q: What are the commands to edit contact info in an automated way?

The command:

fossil user new ?USERNAME? ?CONTACT-INFO? ?PASSWORD?

lets us supply contact info of blah@example.org. There is also a web page /setup_uedit that allows it to be edited in a field.

But can people please help me find: * a command to set contact info * or even a web command that can be called by the likes of curl?

This seems worse in the case of "fossil init --admin-user" because contacts cannot be specified at all.

We can solve this by poking the database directly like this:

fossil sql "update user set info='beep@burp.example.com' where login='beepnburp' ;" -R yawn.fossil

Q: How can I deduce the canonical page for setup items?

I suppose I'm looking in the wrong source file... but it should be possible to work out what the correct setup page is by looking at the configuration sets in src/configure.c .

Let's say I'm looking for the setup page for tickets or skins. configure.c offers /ticket (which is the non-setup ticket page) and /skin (which ought to be /skin_setup) .

There is also the command fossil help -w which is great and (possibily??) exhaustive, so by studying this I found I was looking for pages that started with "tkt". Perhaps this is where I should have started.

Q: Can users be deleted? Code and docs say both definitely yes and definitely no.

Or at least I think they do.

The recent drh checkin https://fossil-scm.org/home/info/4b57bec5a10cdc04 provides for deleting users in https://fossil-scm.org/home/file?name=src/setupuser.c . That code is definitely doing a DELETE FROM user WHERE uid= , not just DELETE FROM subscription.

However according to https://www.fossil-scm.org/home/help?cmd=user "Users can never be deleted", evidently other than in the case of "fossil scrub". Also the help for "fossil settings self-register" says "On the other hand users can not be deleted."

Given that there is probably little-to-no GDPR-type sensitivity with exposing login names on the internet forever, why the ability to delete names, potentially blowing a hole in the Merkle tree?

Anyway, these statements contradict each other.

Q: What is a 1st and 2nd tier command?

in All Help commands are described with tiers. However both tiers appear as the first command selector, eg "fossil clone" is 1st tier and "fossil login-group" is 2nd tier. OTOH "praise" is also a second tier command, and it is a subordinate command as well: "fossil annotate praise".

Does Fossil end in tiers?

Q: Can we configure timeline offer praise rather than blame?

The two appear to be functionally equivalent(?) so is there way for me to be kinder and offer praise by default?

At least there is a --limit to blame.

Q: Has it been thought about/are patches smiled upon bringing the web to the command line?

One of the reasons Fossil is great is because it can be driven from the command line, from authentication to tree operations to meta-operations including configuration. I have interacted quite a bit with github's command line team, and Fossil's technical approach is a pleasant contrast.

Here is one example of many where Fossil functionality is only exposed via the web when it could also be from the commandline or even a curl command: the web page /artifact_stats . This page is really helpful. Perhaps we can get some part of it from other commands including "fossil rebuild --stats", but it's not the same. There are several reasons why the web interface is not necessarily easy or even possible to access.

In other words, say looking at the output of help -a and help -w, do we expect that over time more of the -w (sub)features will appear in -a commands? Or are they expected to be quite different worlds?

Q: Is it possible to clone metadata for similar-but-different repositories?

If I want to establish 4 repos with initially quite similar but not identical setups, then the only option appears to be to write and test a script that will only be used once, or perhaps once again if an additional family repo member turns up.

But fossil init --template doesn't copy users+passwords and their permissions, so that doesn't help if the same core team is needed for all the repos. If there isn't a command I have overlooked, then perhaps we need --template-users.

I posted some of my thinking and attempts.

Where is the Secret Store?

For example "fossil clean" keeps a backup. This backup could get big. Where is it... in fslckout? Same for the stash?

Removing [brackets] from fossil forum link shorthand?

In https://sqlite.org/forum/forumpost/98107670e6 I used

[has some strange problems](1772cb4a37) 

This was correctly picked up and linked, but still has square brackets and I can't seem to get rid of them.

I played around with other syntax but can't seem to fix it.

A Wishlist Item/Question: Audit and Automagic Listing of Personal Data

Richard Hipp (drh) on 2020-10-28 17:29:08:

An independent audit of the "fossil scrub" command, to make sure it isn't missing anything, would be a good idea.

There is no substitute for manual codechecking for this. Yes, it needs to be done.

What would be really good though is if the to-be-scrubbed details could be listed programmatically. That means the personal data that has been manually identified (and I'm carefully not using the term PII) can be listed. This would then make one of the more annoying and fraught parts of privacy really easy - that of listing all the personal data you process.

Presumably this could be implemented as a table that listed schema element names that need to be zeroed out. Perhaps it already exists and I haven't seen it.

Other Minor Wishlist Items

  • user-level login groups, not just repo-level. This would be great for when multiple repos share admins, but not necessarily users. But not as far-reaching as introducing full user+group permissions everywhere.
  • can't say "fossil help -a --single-column" for parsing or ease of reviewing. I've looked at the code, this could be my own wish fulfillment :)
  • no command line equivalent to https://fossil-scm.org/home/test-all-help which would be great for searching with grep/less
  • Fossil has no "reset password by mail" option.

(23) By Dan Shearer (danshearer) on 2020-10-31 07:09:18 in reply to 19 [link] [source]

Dan Shearer (danshearer) on 2020-10-30 20:03:00:

This question:

Where is the Secret Store?

Is answered in Hints For Users With Prior Git Experience:

Git users may be initially confused by the .fslckout file at the root of a check-out directory. This is not the same thing as .git. It’s a per-checkout SQLite database that keeps track of local state such as what version you have checked out, the contents of the stash for that working directory, the undo buffers, per-checkout settings, and so forth. Largely what Fossil does when you ask it to close a check-out is to remove this file after making certain safety checks.

I started using Fossil by reading the tech overview which also clearly explains this and many other things that I may eventually remember. Such as the presence of Fossil three databases, two of which are invisible in ordinary operation.

Dan Shearer

(36) By Dan Shearer (danshearer) on 2020-11-03 08:43:44 in reply to 5.2 [link] [source]

Warren Young (wyoung) on 2020-10-20 11:42:16:

Ideally, we'd mine one of the old Usenet-style FAQs for this, the ones that grew to the point where they were answering "rarely-asked questions" as well. Our FAQ is pretty sparse

Approximate (mis-)understandings and chicken-scratchings follow...

Infrequently Asked Questions

How Does Search Work on a Fossil Repo?

There are two search pages: /docsrch and /search, both of which are enabled by clicking on settings in /srchsetup . Both pages behave in much the same way (identically??) (at least if you tick all of the search index items?), because the definition of "documents" is very broad. The glob definition of '*' includes all checkins when FTS is enabled, and although the dropdown search menu doesn't give the option of 'files' or 'source code' source artifacts are included. Which is great because that's one of the first things a lot of people want.

How do I have a search bar at the top of the home page?

You can't (?). The forum has a search bar at the top by default, but there isn't an equivalent way of doing this for everything on the home page in the default skin anyway. It would be good if it could.

How Can I View Uncommitted Files?

(I learned this a few minutes ago from the opinionated TCL-ers page of highly useful Fossil flow). It is clearly covered in the "Fossil embedded documentation" documentation, but it's hard to retain a single reference to one feature when you just want to use Fossil, not study it. So, ++this_forum_subthread because it's addressing a big problem for potential Fossil users.

...we will not see any changes in it until we commit, but committing what we have not seen is ridiculous. And here Fossil comes to the rescue: it is enough to replace trunk with ckout, i.e.

http://localhost:8080/doc/ckout/embedded/www/toc.html

and we will see the current uncommitted changes immediately (or after the generation of html).

How Can I View a Single Ticket from the Commandline?

I was expecting there to be a command something like: "fossil ticket export TICKET-ID" to match "fossil wiki export..."

but the "ticket" command seems more about meta-ticket operations or reports that are not range-limited.

Why Isn't "ticket" in the Commandline Reference?

https://www.fossil-scm.org/index.html/doc/2010-01-01/www/reference.wiki seems probably autogenerated. Is "ticket" a special command category, or is this a bug?

(37) By ravbc on 2020-11-03 09:28:55 in reply to 36 [link] [source]

Why Isn't "ticket" in the Commandline Reference?

https://www.fossil-scm.org/index.html/doc/2010-01-01/www/reference.wiki seems probably autogenerated. Is "ticket" a special command category, or is this a bug?

I don't know how you find it, but that's not the current doc (a date in the url sugessts that it is from 2010).

The current one isn't very easy to find (as its link name don't mention commandline), but it's the second link on the Docs page

BTW: I would really appreciate a more prominent link to the CLI command list. Preferably on the front page, but maybe a different name for the link on docs page will suffice (maybe: "CLI commands and webpages reference"?). For readability of this page it might also be helpful to move the "Settings" section above the "Unsupported commands" section

(38) By Stephan Beal (stephan) on 2020-11-03 09:35:41 in reply to 37 [link] [source]

BTW: I would really appreciate a more prominent link to the CLI command list.

It's simply /help, optionally followed by a command or setting name. (Pardon brevity - typing from a phone in the rain.)

(39) By ravbc on 2020-11-03 09:46:49 in reply to 38 [link] [source]

It's simply /help, optionally followed by a command or setting name.

:-) But how to find it without prior knowing it?

And by "more prominent link" I meant the anchored text as seen on fossil site, not necessary the url itself.

(42) By Stephan Beal (stephan) on 2020-11-03 15:05:54 in reply to 39 [link] [source]

:-) But how to find it without prior knowing it?

The /help page has limited day-to-day utility - we use it here in the forums to direct people to commands they're looking for, but for day-to-day use the exact same help is at your fingertips via fossil help on the CLI, which is more likely where a user is at when they want a list of commands.

And by "more prominent link" I meant the anchored text as seen on fossil site, not necessary the url itself.

Hundreds of things should arguably be prominent on the site, but if that many are prominent then none of them are prominent - they're instead lost in the noise. To the best of my recollection, you're the first person to request that the command help be linked prominently, which argues against it needing a front-row seat on the website. Having it prominently linked to on the main fossil site, which is not the repository you're using most of the time, doesn't seem terribly useful to me. If you think it's helpful in your own repositories, simply add a link to it in the skin.

IMHO, 0.02€, and all that.

(45) By ravbc on 2020-11-03 15:35:47 in reply to 42 [link] [source]

Hundreds of things should arguably be prominent on the site, but if that many are prominent then none of them are prominent - they're instead lost in the noise.

:-) You're of course right. But that's not what I really wanted to express (and failed as it seems). What I wanted to say is that a link to the help page (an entry page for description of all the fossil commands and pages) could be named better than "Built-in help for commands and webpages". What I proposed was "CLI commands and webpages reference", but I admit this too isn't clearly better.

As for the front page: although there is no mention of fossil cli, I admit one can actually expect any vcs to have some form of cli and so listing it as one of the advantages or key functionalities would be a little exaggeration. ;-)

(43) By sean (jungleboogie) on 2020-11-03 15:19:59 in reply to 39 [link] [source]

:-) But how to find it without prior knowing it?

The help menu is in the hamburger menu.

(44) By Warren Young (wyoung) on 2020-11-03 15:27:11 in reply to 43 [link] [source]

…because the default skin's main menu bar doesn't wrap nicely, so its large buttons are a problem on narrow screens unless we length-limit it rather severely.

Other skins put Help unconditionally on the main menu bar.

(46) By ravbc on 2020-11-03 15:49:50 in reply to 44 [link] [source]

I'm probably weird, but I didn't associate the "Help" link on main fossil site with the fossil features description/reference, but rather I was subconsciously expecting some form of a FAQ or a page like the Wikipedia help. In fact, that's a slight surprise even for me... ;-)

(40) By Dan Shearer (danshearer) on 2020-11-03 09:51:19 in reply to 37 [link] [source]

ravbc on 2020-11-03 09:28:55:

... that is not the current doc

You are quite right, however, this illustrates another thing related to search. It currently feels better to use a search engine to find things on the Fossil site than the built-in search. This was an example. From what I see from my part of the Internet right now, results in decreasing quality for searching "fossil ticket" are:

  1. Google site:fossil-scm.org fossil ticket
  2. duckduckgo site:fossil-scm.org fossil ticket
  3. fossil-scm.org/home/search "fossil ticket"

But I pasted an outdated webpage from the search engine, as you pointed out, which is not a good result either. Search engines are not ideal.

My original question still stands, as the full help text shows. https://www.fossil-scm.org/index.html/help?cmd=ticket

(41) By Daniel Dumitriu (danield) on 2020-11-03 14:46:43 in reply to 40 [link] [source]

Should we maybe take over these very interesting use cases, dos, don'ts, and documentation improvements to one (or even several) dedicated thread(s)?

(47) By ravbc on 2020-11-03 15:59:10 in reply to 41 [link] [source]

A feature request I once posted would probably help in this situation, but I'm not skilled enough to implement it I'm afraid. ;-)

(7) By sean (jungleboogie) on 2020-10-20 14:42:33 in reply to 1 [link] [source]

Take our money!!

How do we send it to you?

I think this virtual conference is a great idea. I know in years past you've presented at various Linux conferences (I only know because of what's turned up on YT), but it's probably been several years since your last talk. Since then, not only has Fossil gained so much in terms of usability, but the userbase seems to have increased quite a bit as well.

As far as the tech...I don't remember if jitsi has the capability to mute participants or if it counts on the participant doing that on their own. I THINK Jitsi streams and/or records to youtube, which would be great for preserving the conference.

I've never used Zoom so I have no opinion on it.

There are other webRTC based options, but Jitsi is pretty well known and feature rich.

(14.1) By Offray (offray) on 2020-10-30 21:46:00 edited from 14.0 in reply to 7 [link] [source]

I don't remember if jitsi has the capability to mute participants or if it counts on the participant doing that on their own. I THINK Jitsi streams and/or records to youtube, which would be great for preserving the conference.

Yes, you can mute/kick other participants, and password protect the meeting room/url.

I've never used Zoom so I have no opinion on it.

There are other webRTC based options, but Jitsi is pretty well known and feature rich.

We have been using Jitsi since several years ago I I would prefer it over "panoptic technologies" like the ones provided by Zoom, Google, Facebook and similar ones.

(8) By skywalk on 2020-10-20 14:49:51 in reply to 1 [link] [source]

Yayy, another great opportunity to learn!

This guy has a head start on presentation material. :)

(12) By Johan Kuuse (kuuse) on 2020-10-22 05:44:41 in reply to 1 [link] [source]

Hi,

Definitely interested in a conference.
Besides listening to others, I could contribute with a short presentation about how organize my Fossil repositories (if anyone is interested, that is).

Best Regards, Johan

(15) By Ogun (OgunFossil) on 2020-10-25 15:15:08 in reply to 1 [link] [source]

I can't offer to help/contribute but this is a +1/upvote for users. It would be great to be in the audience for this, the list of proposed topics looks really good.

(16.1) By Offray (offray) on 2020-10-30 21:54:46 edited from 16.0 in reply to 1 [link] [source]

Is really nice to see this happening,

I think that I would be able to showcase/contribute something in the points 1, 3 and maybe 5, as I have been using Fossil in tandem with Pharo to create what I call "pocket infrastructures" for reproducible research and publishing and we have migrated works like the Data Journalism Handbook (in Spanish) or the Data Feminism Book to our pocket infrastructures. Recently we, at the local hackerspace, are using Fossil as a distributed storage back-end and web frontend for the Brea decoupled CMS and we have created a Fossil powered IndieWeb site (in Spanish) as an explainer and example of what can be done, with simpler tech stacks, aligned with the IndieWeb movement.

In all the previous cases the "pocket infrastructures" approach, where Fossil is a key component, have demonstrated to be an agile alternative to over-complex infrastructures. Such overcomplication can be exclusionary via hardware, time, and/or the knowledge you need to be able to develop, deploy and/or use the tools arrangements to publish, explore, reproduce or compute data stories, books, or just websites and blogs. The usual alternative is to rely on external parties to deal with such complexities, giving up our data and agency to big oligopolies (ie. GitHub/Microsoft, Facebook etc). But Fossil (and Pharo) are a breadth of fresh air and a demonstration (as I said) that a more including computing culture is possible, if we simplify the tools to amplify/diversify broader and deepper participation (BTW, this is the hypothesis behind another Fossil/Pharo powered site called Minipedia.

On the presentation materials I would like to propose to open it a bit, as have been ages since I used slides to present (yep, we have another silently accepted monoculture there). Could we have also mind maps like the Freeplane ones?

We have been using the free Jitsi instance at meet.jit.si pretty well for our workshops, but I think that could work for 20 to 30 participants and you can have streaming issues after that. I participated in a Jitsi powered teleconference, but the panelist where the only ones at the Jitsi instance and it was streamed to YouTube for viewers with a CodiMD instance for questions and notes for those of us who don't have/use any Google/YouTube account. I don't know it that is too much of a setup or if we have the resources to pay for them. There is also Jami which is totally distributed and depends on the hardware of the one hosting the meeting, but I have not direct experience there. So it depends on how many people is going to assist.

Finally on the 5 USD symbolic payment, that would be fine if we can have some kind of solidarity entrances (for example for each paid entrance means a free one available for those in economic difficulties). When you earn in Pesos or Rupee instead of Dolars or Euros that cost can be less symbolic and those of us who can pay could help to those who don't.

Cheers,

(17.1) By mucholove on 2020-10-30 19:14:32 edited from 17.0 in reply to 1 [link] [source]

This sounds like a lot of fun!

For some reason today I took a second look at Fossil because I'm frustrated by one git feature on my computer: which of my repositories has local-only changes that I have yet to push?

In doing so—I took a more serious look at Fossil and discovered the `all` command. What a joy. On the command line I don't even think it needs to be modified for my use case—though I would like to work on the ui/server homepage so that the ALL-page can have a more verbose view which satisfies me.

Not sure where y'all stand on making Fossil easier to use for Fossil noobs but I would love to work on explaining given that I just grokked it. 

In case you are interested—my talk would be titled something like: 

       "Switching to Fossil: How to become a Paleontologist"

OR
  
     "Making the switch easy: Selling Fossil to Git-only developers"

Below are two proposals for Fossil to consider which I would use as the outline for my talk.

The 2 proposals:

       1 - Create a focused page to "Switch from Git" for fossil-src. 

Ideally, there would be a button that advertises this page on the home-page. This is really important because most developers like me (late 20s) have only seen Git. To find this info I did the following clicks
    1++ (Hamburger Button->get lost in the documentation)
    2 - Back to home
    3 - `Fossil VS Git`
    4 - Quick-Start` 
    5 - (Scroll halfway down)
    6 - Click on "Import from an exisiting version control system"
    7 - Thank my lucky stars that I did read: "A Technical Overview of Fossil" and I didn't get lost like the first time when I didn't really know what to do with the `fossil` file and what it meant that this file was in my working directory because I just tried to use the tool without reading the documentation.
      
         That was way too much work. A "Switch from Git" page could really increase conversions. And I only really did this because I had a dull hour in my workday.
         Now—what could this look like?

     2 - Highlight and create a new Fossil one-liner

On this "Switch to Git" page—the main element should feature a command which does the following 4 things in just one line:

               fossil clone <url>
               mkdir <working-directory>
               cd <working-directory>
               fossil open ../<fossil-file>
  
      This command could be:

               fossil clone <fossil-file> --workdir <working-directory>

      This proposal is based on the `--workdir` option is already available to the `open` command:
                fossil open <fossil-file> --workdir <working-directory>
     
       This would make it similar to git while also exposing the strength of Fossil's designs.
   
       Most readers in this group might not see this as a big deal—but some of us (like me) have used git since the very first day we started coding. Because of this—we have accepted git as orthodoxy. 
       It is near impossible for us to imagine something different because `git` is so ingrained in everyday developer culture that the first class or tutorial generally had us type `git init` or `git clone` as our very first item on the command line.
       The proposed command is similar enough for Git monogamists to wrap their heads around—but also different enough for us to start appreciating Fossil. The fact that the user is left with a file and a directory would be a great way to expose the amazing "multiple work directories" feature of Fossil.

If you've read this far...I hope you're sold on the talk!

As an aside—I do have one request. How can you set up an environment which does code completion when you don't have header files? This is a small niggle—but I am activley thinking about it given that my hands are dirty at the moment trying to figure out what I need to change in the source to make the `clone --workdir` option possible. (in addition to a verbose version of the `all repos` webpage.)

Cheers :)

(18) By Richard Hipp (drh) on 2020-10-30 19:26:34 in reply to 17.1 [link] [source]

I would like to see a talk, and have additional documentation, for helping people to change from Git to Fossil. This is not a marketing push. I'm not trying to evangelize Git users into Fossil. I just think there are a lot of Git users that want to switch to Fossil but just don't know how. I don't know how to help them because I don't know how the minds of long-term Git users work.

So I'm depending on the community to provide this resource.

To answer the question: I don't know how to set up an environment to do code completion when there are no header files, because I don't know how to set up an environment to do code completion with header files. I've never done that. I don't feel the need to have my text header (which is home-grown, of course) autocomplete for me.

That said, adding a --workdir option to "fossil clone" shouldn't be that hard. I'll do that, after the 2.13 release.

(20) By Warren Young (wyoung) on 2020-10-31 00:54:50 in reply to 18 [link] [source]

I would like to see a talk, and have additional documentation, for helping people to change from Git to Fossil.

I recently did a fair bit of work on the "Hints For Users With Prior Git Experience" doc, mainly to fill in the "…and how does that work on the Fossil side?" bits, leaving the Git bits mostly as they were.

I don't claim any "ownership" over this doc for the purposes of this thread: if someone wants to take the doc's material and use it as the basis of their talk, please do, because I certainly cannot credibly do so, lacking the day-to-day Git experience I'd need to do so.

I invite others with Git experience to read through that doc and either add or comment elsewhere (not in this thread) with ideas for extending this. This may then feed back in to the prior idea for a conference talk, depending on how much improvement we can get into this doc before this proposed conference.

I did add substantially to the doc, primarily the Fossil-vs-Git "multiple origins/remotes" comparison at the end. I wrote the Fossil part from personal experience, then tried to translate that into Git-speak as best as I could given only other docs on the web, not from experience.

The "Git Method" section therefore needs vetting by someone who's done multiple-origin syncing with Git. That would make another good seed for a talk: rather than have me talk about the Fossil-only way of doing multiple remotes, contrast that with the Git method, from experience.

(21) By mucholove on 2020-10-31 01:15:55 in reply to 18 [link] [source]

Yes. Thank you so much Richard.

I am one of those who has tried Git to Fossil and only succeeded today. TODAY! Not kidding about it.

Since I watched your "Git: Just Say No"1 talk in January—the idea of switching to Fossil has been nagging at me. What really sold me was your notion that we needed "Situational Awareness". This need became apparent today because I lost track of which repos I had pushed to the server and so, I tried Fossil once more in the hopes that I would understand it.

What I was first looking for was that "one command to repo" one-liner. I wanted to see the code ASAP. Git makes this real easy because you arrive in the working directory at one—and GitHub makes it real easy to clone because it's only green button at the top of the repo. You can't miss it.

My hope was that in being precise about every single click I made until I "grokked" Fossil would clarify some steps that could be taken to make it easier to switch.

Hopefully my story can be that talk! :)


FYI—my first interaction with Fossil was a few months ago. I wanted to write SQL that was compatible between Postgres and SQLite so I took the SQLite tokenizer / parser and modfified it for my purposes.

My first interaction was a bit unpleasant. After I ran the open command, it was a HUGE surprise to see all these files "pollute" the "~/Code" folder in which I keep all my repos.

To bring my house back in order, I then had to delete all of these files one by one. Eventually I just copy pasted what I needed into my Git repo and went on with my day.

Very happy to be trying Fossil out again and getting somewhere. Let me know if this story sounds compelling to you. I for one, would love people to use so that the "Situational Awareness" concept gets highlighted.

Very excited :)

Thank you for making a commitment to the command! I think it will make a meaningful difference to first time users. G

(22) By Warren Young (wyoung) on 2020-10-31 02:24:08 in reply to 21 [link] [source]

"one command to repo" one-liner

It's 2 commands, not 1 with git: clone and cd.

As of Fossil 2.12, you have a 3-command alternative with fossil open URI, documented at the top of the doc I just linked. The third command is a mkdir, which directly addresses one of your complaints below. The doc also explains why fossil open URI doesn't create the directory for you.

green button at the top of the repo. You can't miss it.

I suppose we could add a "Download" link to the default skin pointing at /tarball/trunk/$PRJNAME.tar.gz. ($PRJNAME is somehow set in TH1 from the short-project-name repo property.)

I don't know about coloring it green, though. 😝

it was a HUGE surprise to see all these files "pollute" the "~/Code" folder in which I keep all my repos.

Fossil doesn't do that any more, not since early August. You have to say fossil open --force to make that happen now. That feature is in the current stable release.

(24) By Richard Hipp (drh) on 2020-11-01 20:46:46 in reply to 17.1 [link] [source]

Now on trunk, if you use the "clone" command with only the remote URL and without the local repository filename argument, or if you include the --workdir DIR option, and if you omit --no-open, then the repository is opened after it is cloned.

Thus if you say:

    fossil clone https://wapp.tcl.tk/

The following will happen:

  1. The Wapp repo is cloned into a file named "wapp.fossil"
  2. A new directory is created called "./wapp"
  3. The newly cloned repo is opened in "./wapp".

The added behavior of doing an "open" after the clone only occurs if the "--no-open" open is omitted and at least one of the following is true:

  • The FILENAME argument to "clone" is omitted
  • The "--workdir DIR" option is included

Since the legacy "clone" command always required the FILENAME option, the enhanced "clone" command is fully backwards compatible. But now, if you omit the FILENAME option, the clone does a clone+open just like Git.

This is a little confusing because "clone" now operates in two different ways, depending on command-line arguments and options. It might just clone, or it might clone and then open. But in view of the vast numbers of people who have no prior VCS experience apart from Git, it seems to make sense to provide this slightly confused, but now more Git-like syntax.

(25) By Warren Young (wyoung) on 2020-11-01 22:27:59 in reply to 24 [link] [source]

Hallelujah!

I'm updating the gitusers doc to cover this now.

Meantime, I've discovered a minor flaw: it should chase URI redirects before giving up:

$ fossil clone https://fossil-scm.org
unable to guess a repository name from the url "https://fossil-scm.org".
give the repository filename as an additional argument.

Adding /fossil to the URL fixes it.

Oddly, adding /home gives the same symptom. Why? Surely under the new code this should give me a home.fossil and a home/ subdir?

Adding /xfer solves it again, but now you've got an ugly repo name and workdir. Wouldn't it be better to clone to a temporary location and then rename the repo to $short-project-name.fossil before opening it under $short-project-name/?

(26) By Warren Young (wyoung) on 2020-11-01 22:42:44 in reply to 25 [link] [source]

Hmmm...this happens in less complicated cases as well:

$ fossil clone https://libtabula.org 
unable to guess a repository name from the url "https://libtabula.org".
give the repository filename as an additional argument.

…and managed to stumble across a workaround: add /repo/NAME to the URL to get NAME.fossil checked out into NAME/.

(27) By Warren Young (wyoung) on 2020-11-01 22:55:01 in reply to 26 [link] [source]

Should we also change fossil open to store repo.fossil alongside repo/ to match the behavior? It would allow removing the exception from fossil clean to avoid nuking the repo DB.

(28) By sean (jungleboogie) on 2020-11-01 23:25:40 in reply to 24 [link] [source]

if you use the "clone" command with only the remote URL and without the local repository filename argument

This is awesome! It'll probably take me a few clones of a repo to break my muscle memory of doing it the old way.

Post 2.14 release, the quickstart.wiki page could be cleaned up for the simplicity with cloning.

Thanks for this improvement.

Since we're in the virtual conference thread, anymore thought as to when it would happen?

(29) By jamsek on 2020-11-02 06:37:32 in reply to 24 [source]

This is great! Thanks for introducing this, Richard. I think it's one
thing Git got just right.

I'm encountering some unexpected, albeit inconsistent errors, though. On
some occasions, it works as expected. While on others the exact same
command errors:

Working:

 √ bench → fossil clone https://mark@cvs.bsdbox.org/netcalc
password for mark:
remember password (Y/n)?
Round-trips: 2   Artifacts sent: 0  received: 25
Clone done, sent: 596  received: 36205  ip: 45.76.197.39
Rebuilding repository meta-data...
  100.0% complete...
Extra delta compression...
Vacuuming the database...
project-id: 0434951a8c64a0511aba7553a0a6d24f9ac0a532
server-id:  21af3c2f75ffb2b72b7e34bde389f4be81e7fc56
admin-user: mark (password is "F3CDiWJTdS")
opening the new ./netcalc.fossil repository in directory ./netcalc...
<snip>
 √ bench → fossil version
This is fossil version 2.14 [f378f5dc5b] 2020-11-02 05:20:03 UTC

Error:

 √ bench → fossil clone https://mark@cvs.bsdbox.org/netcalc
unable to guess a repository name from the url "https://mark@cvs.bsdbox.org/netcalc".
give the repository filename as an additional argument.
 λ1 bench → fossil version
This is fossil version 2.14 [f378f5dc5b] 2020-11-02 05:20:03 UTC

On the other hand, omitting the $USER@ component in the URL always
works as expected.

(31.1) By Richard Hipp (drh) on 2020-11-02 15:05:31 edited from 31.0 in reply to 29 [link] [source]

I'm unable to reproduce the error.

There were multiple check-ins related to this new functionality. Are you sure you tried the most recent?

Edit: I now see that you were (apparently) using a recent version. But I also see that the same URL worked once and failed the second time. In both cases the command was:

   fossil clone fossil clone https://mark@cvs.bsdbox.org/netcalc

So what command fails, exactly?

This morning, I added a new test command named "test-url-basename". You can use it to verify the repository name guesser. Please recompile the latest trunk and let me know what the following command returns for you:

   fossil test-url-basename https://mark@cvs.bsdbox.org/netcalc

When I run this, I (correctly) get the guess of "netcalc".

(32) By Warren Young (wyoung) on 2020-11-02 17:54:06 in reply to 31.1 [link] [source]

On a Linux box, it's working, but ASAN flagged an error in that on my macOS 10.15 box. The fix is:

Index: src/url.c
==================================================================
--- src/url.c
+++ src/url.c
@@ -653,11 +653,10 @@
     if( zUrl[i]=='?' ) break;
     if( zUrl[i]=='/' && zUrl[i+1]!=0 ) zTail = &zUrl[i+1];
   }
   if( zTail==0 ) return 0;
   if( sqlite3_strnicmp(zTail, "www.", 4)==0 ) zTail += 4;
-  if( zTail[i]==0 ) return 0;
   for(i=0; zTail[i] && zTail[i]!='.' && zTail[i]!='?'; i++){}
   if( i==0 ) return 0;
   return mprintf("%.*s", i, zTail);
 }

zTail[i] is entirely bogus: i indexes into zUrl, not zTail.

This fixes my libtabula test case, too.

(33) By Martin Gagnon (mgagnon) on 2020-11-02 19:17:51 in reply to 32 [link] [source]

zTail[i] is entirely bogus: i indexes into zUrl, not zTail.

I didn't analyse this part of the code, but on the next line zTail[i] is also used more than once.

for(i=0; zTail[i] && zTail[i]!='.' && zTail[i]!='?'; i++){}
               ^           ^                ^

(34) By Warren Young (wyoung) on 2020-11-02 21:11:48 in reply to 33 [link] [source]

No, that's fine: i is reinitialized to 0 on entering that loop.

The error I pointed out was in using i to index into zUrl then using it to index into zTail without adjusting for the difference between zTail and zUrl first.

drh's solution handles this differently, but it also works.

(35) By jamsek on 2020-11-03 03:44:42 in reply to 31.1 [link] [source]

Yes, that's the mystery: on some instances fossil clone would return
the unable to guess a repository name response. Whereas the exact same
command would work as expected on other occasions. This was observed for
another repository too. In fact, it first failed when issuing
fossil clone https://mark@cvs.bsdbox.org/acme-renew, and I thought the
hyphen might be an issue, so I tried cloning netcalc, which returned
the same error. Then I removed the $USER@ component, thinking that
might be the problem, and it worked. But after retrying the full
user@url argument several times, it would seemingly work and fail at
random. It was strange to have such indeterminate behaviour so I thought
it worth sharing.

However, since building from [23679d720d], the test-url-basename has
so far always returned the correct repository name, and clone has
likewise worked as expected. Whatever the problem—it's solved! Thank you.

 √ bench → fossil test-url-basename https://mark@cvs.bsdbox.org/netcalc
https://mark@cvs.bsdbox.org/netcalc -> netcalc
 √ bench → fossil version
This is fossil version 2.14 [23679d720d] 2020-11-02 18:11:16 UTC

(30) By mucholove on 2020-11-02 14:43:00 in reply to 24 [link] [source]

This is GREAT.

It's going to be a lot easier to explain this to many people I know now :)

Thank you.

(48) By anonymous on 2020-11-17 07:46:11 in reply to 1 [link] [source]

I would attend a virtual fossil conference (a "dig?) as an onlooker, and happily pay $5 for a spot to throw a blanket, sit and listen.

I've been looking in on Fossil every so many months for years but have not yet engaged with it for more than a spin or three around the block. I have two restraints, both personal:

a) most of the projects I am engaged with are in GitHub. My meagre brain does not do well with using one tool for there and another for myself. (For a couple years I tried to stay with Mercurial.) I rely on GUIs such as Git Extensions or TortoiseHg to keep me more or less on track. I don't like Git much at all, but GitHub is very useful.

b) I'm visually oriented and make heavy use of headings, bold, italics, tables, screenshots, and diagrams. So here again, it's GitHub not git that has me in its velvet chains.

My problems are not Fossil's problems. I wrote and almost deleted the above several times. In the end I let stand because, well, because maybe someone with the right combination of itch and ability to do something about it will read and find it fans their spark.

I am enchanted by what Fossil demonstrates, no, proves, proves is possible: A single self-contained executable and database and file-store, with a built-in website and ticketing system. Oh and cross-platform too.

(49) By holycow on 2020-11-17 12:47:35 in reply to 1 [link] [source]

I am interested. My vote if for Jitsi, I do not trust Zoom.

(50) By Marcelo Huerta (richieadler) on 2020-11-17 13:11:12 in reply to 49 [link] [source]

+1 for Jitsi for trustworthiness. If you expect a high attendance, however, it's probably best to set the conference as a Live Stream via YouTube.

(51) By Richard Hipp (drh) on 2020-11-17 13:28:41 in reply to 50 [link] [source]

How many attendees can Jitsi handle? Anybody have any experience with that? I don't think I've ever had more than 5 people in a Jitsi room at once. Is there an upper limit? A practical limit?

(52) By Marcelo Huerta (richieadler) on 2020-11-17 13:34:44 in reply to 51 [link] [source]

A recent answer in a Jitsi forum:

Currently you cannot create a meeting with 200 people. We have a hard limit of 75 participants, but even more than 35, the experience will suffer. But we are working on adding big meetings with more participants (more than 100).

For such big audiences we recommend livestreaming the meeting and let the rest of the participants watch it on youtube where you can have even millions participants.

Hence my suggestion about live streaming, above.

(53) By Offray (offray) on 2020-11-17 16:04:36 in reply to 51 [link] [source]

We have been using Jitsi consistently for our workshops (which BTW include teaching Fossil to non-tech users and where now, with the IndieWeb workshops, it is getting a more visible place). I have also used it in classes with my students when pandemic started. Jitsi have been able to mange up to 30 simultaneous attendees without problems, if they don't have the webcam active at the same time. The more people activate the camera, the more unreliable becomes the streaming, but I don't think will be the case for us. Also I have been in Jitsi meetings streamed to YouTube and we could manage 75 to 90 attendees in the streaming while the Jitsi room have 5 o 6.

Cheers,

(54) By anonymous on 2020-11-18 20:01:30 in reply to 1 [link] [source]

If you are searching for interesting Fossil use cases, poking around on chiselapp.com would be instructive. Using one example, I found one repo--script-fu--that only had a single file in it as almost all content was contained in the wiki. Looking through that repo, it occurred to me that fossil's wiki capability might be the most important thing for a subset of users. Likewise, I could see someone using the ticketing system in the same way.

(55) By Scott Robison (sdr) on 2020-11-18 21:32:35 in reply to 54 [link] [source]

I do have one repo that exists just as a ticketing system for me to add todo items for around the house or ideas I'd like to pursue, but that aren't (yet) worthy of an independent repo.

(61) By Stephan Beal (stephan) on 2020-11-19 17:07:07 in reply to 1 [link] [source]

Regarding this point:

No slides. Presentation notes should be in Markdown and will be uploaded to a Fossil repository established for this purpose prior to the presentation.

Do we already have an as-yet-unpublicized place to drop these, or should we perhaps instead add a www/conference-2020 directory (perhaps in a new branch, to be merged before the conference) and work on them there?

Does working on them in public spoil their value for later use in a presentation? Is any hypothetical spoilage countered by the ability to improve them in advance of the presentation via forum feedback?

(62) By sean (jungleboogie) on 2020-11-19 17:48:20 in reply to 61 [link] [source]

Does working on them in public spoil their value for later use in a presentation?

I don't have an answer about spoiling it, but I'd ask another (follow up) question: When drh is preparing a talk for SQLite, are the slides publicly available before the presentation, either the repo or the finished slides themselves.