Fossil SCM Discussion in #NetBSD…

 2010-03-13 12:20:58  Selection of IRC discussion in #netbsd about Git, CVS, fossil, and distributed version control.

13:01 < happy> the whole cvs merging thing baffles me

13:01 < ASau> git merging isn't any better last time I heard about it.

13:02 < happy> work is hilarous as they use tortoise cvs on windows to access linux cvs server

13:02 < happy> what about fossil by the sqlite guy

13:02 < happy> or darcs

13:03 < sjamaan> yay for obscure software

13:03 < ASau> happy: I used darcs in past.

13:03 < ASau> happy: sorry, I don't want it anymore.

13:04 < happy> so simplicity is what you want and cvs does enough..

13:04 < happy> fair enuf

13:04 < ASau> NOT at all unless they port it to anything lighter than GHC.

13:04 < happy> each thing is like anther thing to worry about

13:04 -!- laclasse [~laclasse@94-194-203-7.zone8.bethere.co.uk] has quit [Quit: Leaving]

13:05 < ASau> I think that it is quite possible that SBCL is easier to fix than GHC.

13:06 < sjamaan> ghc is pain

13:06 < yukonbob> fossil ++

13:06 < ASau> What the hell "FOSSIL" are you talking about?

13:06 < sjamaan> ASau: Told you, obscure software :)

13:06 < ASau> FOSSIL -= 10000

13:06 < smtms> Plan 9 fossil?

13:06 < yukonbob> fossil-scm.org

13:06 < happy> http://www.fossil-scm.org/index.html/doc/tip/www/index.wiki

13:06 < phadthai> to accept ghc compile time you have to be immortal

13:07 < Dianora> I remember when fossil was a TSR serial port driver. *g*

13:07 < sjamaan> AFAIK fossil has almost no features and isn't a serious contender

13:07 < sjamaan> At least not for a team

13:07 < ASau> Dianora: I remember the same shit.

13:07 < phadthai> I only know about the serial fossil also

13:07 < ASau> Am I that old??

13:07 < sjamaan> _you_ are the fossil!

13:07 < happy> lol

13:07 < phadthai> heh

13:08 < Dianora> yeah ASau, we are old. Time to take us out back and make us into mucilage.

13:08 < yukonbob> sjamaan: what kind of features? Without implying suitabilty for anything, it's a solid dvcs, built-in wiki, built-in ticket-system

13:08 < happy> <----total fossil, doesn't like twilight, new star wars, miley cyrus, and thinks lazzie faire is nice

13:09 -!- dvx [~dvx@igw.obsm.cz] has quit [Quit: dvx]

13:09 < sjamaan> yukonbob: Is it really that solid? I thought it didn't make any guarantees about data being consistent and such

13:09 < sjamaan> Maybe I'm remembering something else then

13:10 < yukonbob> otherwise, it merges and sends/receives, gpg signs… etc, etc. Cross-platform (I've used windows, mac, linux, netbsd)

13:10 < yukonbob> sjamaan: in fact it _does_ guarantee data safety

13:10 < sjamaan> Then I apologize

13:10 < sjamaan> I must've remembered something else

13:10 < yukonbob> drh is the author, and with his experience w/ sqlite, I'm inclined to trust him…

13:10 < happy> :)

13:11 < happy> trust no one!

13:11 -!- Multichil [Multichill@nova.brewery.verymad.net] has quit [Quit: ZZZzzzzzz]

13:11 < yukonbob> ^--- is good point, but makes life difficult…

13:11 < ASau> yukonbob: any crash-course instructions?

13:11 < ASau> It just happens so that everything's nice before I come.

13:11 < ASau> I always find bugs…

13:11 < happy> http://www.fossil-scm.org/index.html/doc/tip/www/quickstart.wiki

13:12 < yukonbob> ASau: it's got built-in help… otherwise, grab a .zip from site, compile (use gmake currently -- I've got to fix/file a bug against not working w/ bsd make), then you've got the single binary that drives it all…

13:13 < yukonbob> I'd : cd /home/of/all/repositories; fossil new myproject.fsl

13:13 < yukonbob> : cd /some/working/dir; fossil open /home/of/all/repositories/myproject.fsl

13:13 < yukonbob> < hack , hack, hack>

13:14 < yukonbob> fossil add myfile.c myfile2.c myfile3.scm

13:14 < yukonbob> fossil commit…

13:14 < sjamaan> yukonbob: If it's really this good, it might be a good replacement for CVS in NetBSD

13:14 < yukonbob> lather, rinse, repeat

13:14 < yukonbob> sjamaan: /me has actually suggested it on ML

13:14 < ASau> I need someone to remind me of approaching dead lines for GSoC…

13:14 < sjamaan> Everybody's always complaining that the other VCSes are either big&bloated (requiring lots of dependencies) or GPLed

13:14 < sjamaan> yukonbob: Any response?

13:14 < yukonbob> …and have talked w/ drh (who has also participated in discussion) who is willing to help…

13:15 < yukonbob> … *and* he's also open to relicensing from GPL -> ???

13:15 < ASau> BSD or MIT.

13:15 < yukonbob> either or

13:15 < ASau> Any of the two.

13:15 < yukonbob> 2-clause BSD == current preference, I suppose.

13:16 < sjamaan> Wow

13:16 < yukonbob> sjamaan: mailing list did participate in discussion…

13:16 < ASau> yukonbob: yes.

13:16 < yukonbob> *IF* I had some cycles, I'd work on porting CVS repo -> fossil so ppl could play…

13:17 < yukonbob> there have been various CVS -> fossil conversions, but I haven't participated in them, and I don't know excactly what was preserved, etc.

13:17 < ASau> yukonbob: actually, I don't think anyone cares, provided it is really (i.e. non-imaginarily) better than CVS.

13:17 < yukonbob> SQLite code base went from CVS->fossil and drh did give me his scripts ( I think).

13:18 < yukonbob> ASau: well, my take is…

13:18 < yukonbob> dcvs is way to go.

13:18 < yukonbob> 1) dcvs is way to go

13:18 < yukonbob> 2) git is a mess ,and not portable (fwiw)

13:18 < yukonbob> 3) hg == python dependency

13:18 < yukonbob> 4) others… dunno

13:18 < ASau> ?- DCVS.

13:19 < phadthai> if you can easily mirror a repository, is dvcs really necessary?

13:19 < yukonbob> distributed version control, vs central (i.e. cvs, svn == central repo).

13:19 < phadthai> the mirror time must also be decent (I think that is/was a problem with git currently)

13:19 < yukonbob> phadthai: try hacking on a plane.

13:19 < sjamaan> phadthai: It's a useful thing to have for working on a local tree

13:19 < sjamaan> GSoC, for instance

13:19 < yukonbob> ^--- and what sjamaan says

13:20 < tonio> phadthai: you not only need mirror, but also some form of reconciliation between those mirrors

13:20 < yukonbob> it's *so* cool, but it's hard to describe until you've experienced it…

13:20 < phadthai> yes, merging… which is also done with cvs using vendor branches

13:20 < phadthai> although branching is slow with a huge project

13:20 < ASau> Merging and synchronizing are two different operations.

13:20 < yukonbob> the case *for* CVS is that it's battle-hardened like nothing else.

13:21 < sjamaan> phadthai: We had lots of issues trying to merge changes back from Valgrind while doing vg4nbsd

13:21 < phadthai> (with cvs I mean)

13:21 < sjamaan> With a dvcs, that would've been a breeze

13:21 < sjamaan> They kept developing at a more-or-less rapid pace

13:21 < yukonbob> 5) git depends on perl to a degree

13:21 < sjamaan> And we were developing much more slowly, and the code is not modular so we were hacking around in their code that kept changing under our feet, more or less

13:22 < sjamaan> yukonbob: 6) git's UI is a nuisance

13:23 -!- astra-x [~astra-x@ip34-198-20-64.metroe.ctsmail.net] has quit [Quit: 00FFCA/Kernel Panic]

13:24 -!- trusiad [~trusiad@41.61.72-86.rev.gaoland.net] has left #NetBSD []

13:24 < smtms> ASau, why are you interested in GSoC deadlines?

13:25 < ASau> smtms: I intend to mentor up to three projects, if happens.

13:25 < smtms> ASau, all pkgsrc related?

13:26 < ASau> smtms: some may involve userland.

13:26 < smtms> ASau, you don't do kernel?

13:26 < ASau> smtms: I shan't dig into kernel details.

13:26 < ASau> Yes, I don't.

13:27 < ASau> (Let's put it so…)

13:28 < ASau> I think that you have some understanding of what I may be interested in.

13:29 < ASau> If you can make your own proposal that I might be interested in, you may apply.

13:30 < smtms> I'm looking at the list of proposed ideas to see if there's some cool userland idea there

13:30 < ASau> You can even try smoothly splitting my original proposal into two equal parts.

13:31 < ASau> E.g. into backbone and mail/groupware parts.

13:34 < cberardi> which mailing-list was the fossil discussion on?

13:35 < yukonbob> cberardi: lemme check.

13:35 < cberardi> and is there a detailed comparision of cvs (and other vcs's) and fossil?

13:35 < yukonbob> heh… tech-repository … it's got it's own ml

13:36 < cberardi> ah, I don't think I'm on that one -- probably explains why I didn't recall seeing it before

13:37 < cberardi> it looks interesting though

13:37 < yukonbob> cberardi: there are some notes on fossil's own website about questions/criticisms directed @ fossil, and there are various pages on interwebs about fossil.

13:37 < yukonbob> cberardi: it truly is.

13:37 < yukonbob> and drh is a pleasure to work with.

13:37 < cberardi> and am I reading right…it is also a bug-tracking system?

13:37 < yukonbob> yup.

13:37 < yukonbob> drn is author of trac

13:38 < yukonbob> …and it makes sense to track bugs w/ the project their associated with, so one can enter tickets and they travel w/ the repo.

13:38 < yukonbob> s/trac/cvstrac/

13:38 < cberardi> cool, wasn't there talk here about possible gnats replacement a couple days ago

13:39 < cberardi> a twofer!

13:39 < yukonbob> tickets can have references to checkins, and vice versa… VERY handy.

13:40 < yukonbob> and in fact fossil is zero maintenance, so getting both those important systems solved with a single integrated tool is simply nice.

13:41 < cberardi> how is it zero maintenance?

13:41 < yukonbob> you just use it…

13:41 < yukonbob> no servers to setup, no databases to run

13:42 < yukonbob> it speaks http navtively, and has that basic server support built-in

13:42 < yukonbob> repo storage is integrated sqlite db. self-contained, no server required…

13:42 < cberardi> I'll have to read up more on dcvs vs cli-svr to understand better

13:43 < cberardi> can integrated sqlite db be used in other applications -- or an additional install of sqlite is needed?

13:43 < yukonbob> one can: ``fossil server'' and point web browser at port and get exactly what http://fossil-scm.org is showing… that's a fossil server

13:44 -!- winstonw [~winstonw@adsl-99-91-227-160.dsl.milwwi.sbcglobal.net] has joined #NetBSD

13:44 < yukonbob> well, sqlite can be built like a shared lib…but it's small enough that the design goal is to simply include it wholesale into whatever needs it. This is what fossil does.

13:44 -!- chilicuil1 [~chilicuil@189.145.50.157] has quit [Quit: Leaving.]

13:45 < ente> fossil?

13:45 < ente> http://en.wikipedia.org/wiki/Fossil_(file_system) <- that fossil?

13:45 < cberardi> ente: you've missed a fascinating discussion

13:45 < yukonbob> the db that fossil generates can be viewed as a ``regular'' sqlite db, though… so use sqlite3 commandline, or your Tcl lib, or perl, ruby, python, C, etc., etc.

13:46 < ente> cberardi: damn :(

13:46 < cberardi> that could come in handy

13:47 < yukonbob> sqlite has bindings for everything, and is used everywhere…

13:47 < cberardi> ente: we've been talking about the fossil version control system

13:47 < cberardi> yukonbob: what is the size of the base fossil system?

13:48 < yukonbob> bytesize

13:48 < yukonbob> ?

13:48 < yukonbob> Kitt:~ bch$ ls -dl `which fossil`

13:48 < yukonbob> -rwxr-xr-x 1 bch bch 2031496 Mar 10 10:35 /usr/local/bin/fossil

13:49 < yukonbob> it's single self-contained binary…

13:49 < yukonbob> above is on my PPC mac.

13:49 < ente> ah

13:49 < ente> oka

13:49 < ente> y

13:49 < cberardi> let's see -- I'm building it now from pkgsrc

13:50 < cberardi> my ls gives it a size of 720K

13:50 < cberardi> ^^on i386

13:52 < cberardi> no manpage? :(

13:55 < yukonbob> cberardi: fossil help

13:55 < yukonbob> , website

13:55 * yukonbob should take-on manpage project…

13:56 < yukonbob> cberardi: consider running: fossil clone http://fossil-scm.org fossil.fsl

13:56 < yukonbob> then go to some working dir, "fossil open /path/to/that/repo"

13:56 < yukonbob> and rebuilding…

13:57 < yukonbob> you get latest-greatest, and be able to track fossil… via fossil ;)

13:57 -!- smtms [~sometimes@client-33-134.speedy-net.bg] has quit [Quit: leaving]

13:57 < cberardi> that tracking … is it 'live'?

13:57 < yukonbob> from then on, you can: fossil pull; fossil co --latest; gmake and put that latest binary in /usr/local/bin, or whereever.

13:58 < yukonbob> cberardi: is development repo, if that's what you mean.

13:58 -!- MikeC [~MikeC@193.126.176.159] has quit [Quit: When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net]

13:58 < cberardi> you're last comment seems to answer the question -- there still seems to be a need to checkout the lastest changes

13:58 -!- MikeC [~MikeC@193.126.176.159] has joined #NetBSD

13:59 < cberardi> it isn't like open a file and it automagically is the latest version

13:59 -!- MikeC [~MikeC@193.126.176.159] has quit [Client Quit]

13:59 -!- MikeC [~MikeC@193.126.176.159] has joined #NetBSD

14:00 < yukonbob> cberardi: no -- it stays out of your way in that regard… it's not doing unexpected magic behind your back.

14:00 < yukonbob> pull, co (checkout) latest version, build.

14:00 < cberardi> ok

14:01 < cberardi> I'll have to spend sometime playing with it

14:01 < yukonbob> It was working w/ native BSD make until other day… I'll get that fixed soon, so use gmake in meantime.

14:01 < cberardi> I'm starting to have needs for my own vcs for my own projects

14:01 < yukonbob> cberardi: I hope you like it :)

14:01 < yukonbob> cberardi: I use it for projects that aren't planned to leave a single computer all the time…

14:02 < yukonbob> …and then when the unexpectedly need to leave that computer, you're laughing…

14:02 < cberardi> what about for a network of 2 computers?

14:02 < yukonbob> …and you can develop a project a bit more ``formally'' with rigour, if you're filing tickets for bugs and feature requests, and you can integrate documentation w/ the project…

14:03 < yukonbob> cberardi: re 2 computer network: I build ad-hoc servers often.

14:03 < yukonbob> on comp1: fossil server

14:03 < yukonbob> on comp2: fossil clone http://comp1:8080 firstcopyofrepo.fsl

14:03 < cberardi> I'm right at the stage on some projects where manually versioned backups are getting annoying

14:04 -!- boogeyman [~boogeyman@unaffiliated/boogeyman] has quit [Ping timeout: 260 seconds]

14:04 < yukonbob> …or simply ``fossil pull'' or ``fossil sync'' if you're only dealing w/ same two computers and repo is already on both…

14:04 < yukonbob> "sync" == push/pull

14:05 -!- boogeyman [~boogeyman@unaffiliated/boogeyman] has joined #NetBSD

14:05 < yukonbob> cberardi: play with it, and you'll surely get handle on it quickly…

14:06 < cberardi> hmmm…trying to find a way to copy the last hour of this channel from ircII

14:06 < cberardi> to file

14:06 < happy> I think this channel is logged somewhere

14:07 -!- MikeC [~MikeC@193.126.176.159] has quit [Quit: When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net]

14:07 < happy> is ethernet trunking / bonding supported in netbsd?

14:07 < happy> liek taking two gig nics and combining them?

14:07 -!- Timmerman [~timm@189.27.119.9.dynamic.adsl.gvt.net.br] has joined #NetBSD

14:07 -!- Syllopsium [~Peter@blears.syllopsium.com] has joined #NetBSD

14:08 -!- MikeC [~MikeC@193.126.176.159] has joined #NetBSD

14:08 < happy> and then setting the switch to ether channel group the two ports

14:08 < happy> so 1 nice big pile, or redundancy?

14:08 < happy> s/pile/pipe/

14:08 < mbowie> happy: agr(4)

14:09 < winstonw> fossil looks amazingly fun

14:10 < happy> :)

14:10 < happy> I happened upon it while doing a search for the plan 9 thing of the same name.

14:16 -!- psychicist [~psychicis@j0175.upc-j.chello.nl] has quit [Quit: leaving]

14:18 -!- chaz [~chaz@unaffiliated/chaz] has joined #NetBSD

14:18 -!- bizarrefish [~lee@host86-160-44-109.range86-160.btcentralplus.com] has quit [Quit: leaving]

14:27 < bILLY\\PIQ\\BRB> gowedo shte te razbiq :D

14:27 -!- bILLY\\PIQ\\BRB is now known as Byulent

14:27 -!- kaizoku [kaizoku@unaffiliated/kaizoku] has left #NetBSD []

14:28 -!- Beket [~sadasd@adsl-250-225.diodos.auth.gr] has quit [Ping timeout: 245 seconds]

14:29 -!- andreas_dr [~Miranda@p57A2238D.dip0.t-ipconnect.de] has quit [Read error: Connection reset by peer]

14:30 -!- tonio [~tonio@put92-6-88-165-39-232.fbx.proxad.net] has quit [Ping timeout: 240 seconds]

14:31 -!- Nozy [~Nozy@202.164.202.99] has joined #NetBSD

14:31 < winstonw> I found it when I was looking for a versoining system in C that was not a GNU license (i can't remember if this was one of the canidates)

14:32 -!- gasbag [~gasbag@68.116.196.58] has joined #NetBSD

14:34 < yukonbob> winstonw: cannonical fossil is GPL, but drh (principle developer) has re-licensed in past, and I've chatted w/ him about same.

14:38 < winstonw> ah thats why i was looking at it

Syndication


MLD on Twitter