Re: [fossil-users] Perception of Fossil

2018-06-17 Thread Eduardo Morras
On Sun, 17 Jun 2018 04:06:50 +
Chad Perrin  wrote:

> On Sat, Jun 16, 2018 at 05:05:48PM +0200, Eduardo Morras wrote:
> > 
> > I partially disagree. If you allow anonymous people to pull /
> > commit / merge data to your 'central repository', you can get
> > easily spammed. If I pull-request 100 images of 10MB your system
> > will go down. Multiply it by several 'funny guys' on more than one
> > repository and fossil credibility / reputation will be -1. 
> > 
> > People that could pull anything to any repository must be trust
> > people. (Don't know if it's correct phrase)
> 
> I think that's a matter for configuration, just like whether to allow
> people to self-register through the web UI and what initial
> permissions a registered user should have.  It is not, in my
> estimation, a matter of whether or not this is a desirable feature
> *at all*.

I'm not against the feature, I was pointing security defects that Dr.
Hipps didn't describe in his feature description and could end being a
bad implementation. Discovering them after or by third persons could
destroy fossil credibility.
 
> This could, in fact, be a very important feature for some team
> workflows where there may be some devs who are allowed to do this,
> and others who are allowed to commit/push directly (and given the
> ability to handle a contributed branch like this, to merge or
> otherwise accept).

Yes, the concept of core developers with commit bit and developers that
submit patches to pr or bugtrack system for commit aproval is common in
opensource projects. I'm a freebsd / openbsd fan and it's how those
projects work. As fossil has the bug tracking inside it's logical to
add this feature.


> -- 
> Chad Perrin [ original content licensed OWL: http://owl.apotheon.org ]


---   ---
Eduardo Morras 
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Perception of Fossil

2018-06-16 Thread Eduardo Morras
On Fri, 15 Jun 2018 13:35:13 -0400
Richard Hipp  wrote:

> On 6/15/18, David Mason  wrote:
> > I heartily agree with this... A flag to allow a person (including
> > Anonymous) to make a commit that would automatically go into a new
> > branch like "Patch-1" (each one incrementing the branch number) is
> > (a) better than emailed patches, and (b) better than pull
> > requests. Primarily because it puts it into Fossil so you can use
> > all your standard workflows.
> >
> > The "Patch-?" branches should not be automatically synced, and if
> > you do a sync with some special flag, it should offer each of the
> > existing patch branches and allow you to agree to sync it, or not.
> > Then there needs to be a way to delete the patch branches (whether
> > included into the trunk or not)
> 
> An alternative design sketch:
> 
> (1) Anonymous clones repo CoolApp
> 
> (2) Anonymous makes changes to CoolApp and checks those changes into a
> branch named "anon-patch" on her private clone.  Repeat this step as
> necessary to get anon-patch working.
> 
> (3) Anonymous runs the command "fossil pullrequest anon-patch"
> 
> (4) The pullrequest command creates a "bundle" out of the "anon-patch"
> branch and then transmits that bundle back to the server from which
> the clone originated.
> 
> (5) The server accepts the bundle and parks it in a separate holding
> table, but does not merge it or otherwise make it available to average
> passers by.  The server then sends email notifications to developers
> with appropriate privileges to let them know that a pull request has
> arrived.
> 
> (6) Developers who receive notification of the pull request can run a
> command that pulls down the bundle and applies it as a private branch
> on their own personal clones of the repo.  Developers can then either
> approve of the pull request by publishing it (marking it non-private)
> and pushing it back to the server.  Or they can reject the pull
> request which erases it from their clone.  They might also cause the
> pull request to be erased from the holding table on the server.
> 
> Additional notes:
> 
> Prior to step (3), Fossil might require Anonymous to provide contact
> information so that developers can get in touch in case there are
> questions or requests for clarification.  Anonymous might also be
> asked to sign a contributors agreement to be included in the bundle
> (as an entry in the bconfig table).

I partially disagree. If you allow anonymous people to pull / commit /
merge data to your 'central repository', you can get easily spammed. If
I pull-request 100 images of 10MB your system will go down. Multiply it
by several 'funny guys' on more than one repository and fossil
credibility / reputation will be -1. 

People that could pull anything to any repository must be trust people. (Don't 
know if it's correct phrase)

 
> -- 
> D. Richard Hipp
> d...@sqlite.org


---   ---
Eduardo Morras 
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Fossil performance and optimisation

2017-08-17 Thread Eduardo Morras
On Fri, 11 Aug 2017 14:10:32 +0100
"Damien Sykes-Lindley" <dam...@dcpendleton.plus.com> wrote:

> Hi,
> I was introduced to Fossil about three years ago. It is the first VCS
> I have actually used extensively for my own work and as such I
> haven't really had much to compare it with. However, now I'm in the
> realm of contributing code I am having to learn how to make use of
> other systems as well. For the purposes of my experiments, I have
> been comparing Fossil alongside Git, as this seems to be the popular
> alternative and there is a comparison sheet describing many areas of
> difference between Fossil and Git. For the most part, Fossil has many
> advantages over Git. Though I couldn't help noticing there seemed to
> be a silence on speed comparisons. There is a separate article on
> performance statistics that again doesn't even mention speed.

> Are there any configurations I may have
> missed that may help to optimise Fossil in these areas? If not, are
> there any plans to optimise Fossil in the future? Cheers. Damien.

For big repositories, you should increase the sqlite cache. Don't know
if today fossil 2.3 honors the deprecated default_cache_size
pragma/header option, but on Admin tab you can run pragma
default_cache_size=2147483648 to set it to 2GB always (afai understand
it doesn't use negative values to set cache size in number of pages). 

I used to "hack" fossil source code to always use big caches for import
git or svn repositories.

Don't know if there are other ways to execute pragmas before the
import, each fossil invocation is independent so setting it as pragma
cache_size won't work.

HTH

---   ---
Eduardo Morras <emorr...@yahoo.es>
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Progress report of Fossil 2.x

2017-03-01 Thread Eduardo Morras
On Tue, 28 Feb 2017 21:24:42 -0500
Richard Hipp <d...@sqlite.org> wrote:

> 
> (9) Your feedback is encouraged and appreciated.

Could Fossil 2.0 change from page model to widget model?

If I want to create a new page, for example a project current status, where I 
want to show open branchs, future events, last five commit tree graph, number 
of "fossil clone/pull/push/sync" received, etc..; I create a new 
current_status.c file and copy paste the code from other pages that implement 
those widgets, doubling (or worse) the code, bugs and maintenance work.

Thanks for your work

---   ---
Eduardo Morras <emorr...@yahoo.es>
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Repo Checksum Speedup Idea: flaw in my comment

2016-12-06 Thread Eduardo Morras
On Mon, 5 Dec 2016 20:23:50 +0200
Martin Vahi <martin.v...@softf1.com> wrote:

> As it turns out, I already made a mistake
> at the tree based algorithm.
> 
> The old, proposed, flawed version:
> > ...
> > array_of_nodes_with_wrong_x_node_hash=unique_by_node_ID(
> >   clone(
> >   ob_AVL_tree.array_of_nodes_that_had_changes_on_path_2_root
> >   ).concat(clone(
> >   ob_AVL_tree.array_of_nodes_that_have_changed_children
> >   // change within children means that any
> >   // of the children changed during the insertion
> >   // or removal of nodes to/from the ob_AVL_tree
> >   // after the AVL-tree got (automatically) rebalanced.
> >   // A change between null and an existing child is
> >   // also considered a change.
> >   ))
> >   ).sort_by_path_length_from_node_to_root_node
> > 
> > ...
> 
> A newer version looks only the changes within
> children:
> 
> array_of_nodes_with_wrong_x_node_hash=unique_by_node_ID(
>   clone(
>   ob_AVL_tree.array_of_nodes_that_have_changed_children
>   )).sort_by_path_length_from_node_to_root_node

Do you mean a Tree Hash like in dc/adc, bittorrent, emule/edonkey ?  They use 
TTH (Tiger Tree Hash), computing hashs of chunks/flie parts, and from them 
calculates hash of groups of hashes. This way they know in logN steps what 
chunk is corrupted, and download again. 

If yes, I don't think it could replace current checksum. It solves a different 
problem.

If no, I'll reread your mails.

> Thank You.


---   ---
Eduardo Morras <emorr...@yahoo.es>
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] disabled due to excessive bounces (again?)

2016-10-17 Thread Eduardo Morras
On Sun, 16 Oct 2016 08:08:46 -0400
Steven Gawroriski <ste...@multiphasicapps.net> wrote:

> On Sun, 16 Oct 2016 03:27:02 + (UTC)
> "K. Fossil user" <ticketpersonnal-fos...@yahoo.fr> wrote:
> 
> > Hi again,
> > Ah I forgot something like this :
> > "Your membership in the mailing list fossil-users has been disabled
> > due to excessive bounces The last bounce received from you was dated
> > 16-Oct-2016.  You will not get any more messages from this list
> > until you re-enable your membership.  You will receive 3 more
> > reminders like this before your membership in the list is deleted.
> > "
> 
> I would check all of the e-mails you have received and compare them
> with the archive on the mailing list site. It is possible that Yahoo
> is blocking the e-mails due to much mail (anyone from a Yahoo address
> will get a copy of the mails).

I have a similar problem from time to time on some lists. Note that my email is 
from yahoo too. 

On some lists I don't get my own messages, having "receive own messages" in 
mail list configuration set to yes.

Yahoo is slowing falling down...


---   ---
Eduardo Morras <emorr...@yahoo.es>
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Files named "AUX" on Windows

2016-10-05 Thread Eduardo Morras
On Wed, 5 Oct 2016 09:37:23 -0600
Warren Young <w...@etr-usa.com> wrote:

> Windows actually has a whole pile of limitations on file names, all
> of which you could warn about in Fossil under the same argument:

Some years ago in Sqlite mailing list (2007?) there was a problem
naming Sqlite DataBases with .sdb extension under Windows, system makes
a backup of the db file each time it's modified . 

There are lots of restricted extensions on Windows too, not only on the
name.

---   ---
Eduardo Morras <emorr...@yahoo.es>
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] fossil-scm as an SQLite db with schema/data revision control

2016-07-24 Thread Eduardo Morras
On Thu, 14 Jul 2016 14:31:46 -0400
Adam Jensen <han...@riseup.net> wrote:

> I sent a message last night before joining the mailing list (today)
> and I'm not certain if it (last night's post) was distributed to the
> list or not. It's not displayed in the list archive yet. Just in
> case, here it is:
> 
> On 07/13/2016 06:18 PM, Adam Jensen wrote:
> > This might be a bit convoluted but is it possible to use fossil-scm
> > as an SQLite db with the schema/data under revision control? If this
> > functionality doesn't already exist in fossil, would it be
> > difficult, awkward, or crazy to try to implement it?
> > 
> > It seems like such an obvious thing to do that I guess it either
> > already exists or it's so technically twisted that it's virtually
> > impossible.
> > 
> > If this functionality doesn't exist, how would you do it?
> 
> After thinking a little more about this, it seems like maybe this
> isn't something that should be incorporated into Fossil [or SQLite]
> but rather this could be a third system that is based on the other
> two.
> 
> To add a little more verbiage and description to the basic idea, what
> I am imagining is (I'm going to assume that in this new system a
> single db file can support multiple databases) an SQLite database
> with version control on the schema and data. This might be
> accomplished in a fashion similar to the original SCCS - every SQL
> command that causes changes to the [working copy] database is saved
> in the version history (a fossil-like database in this common db
> file). With this, any version of the database could be recreated by
> replaying the history. This process could be sped up by saving or
> creating snapshots of the database at various moments in its history
> (all in the common db file (and, perhaps, read-only)) and then a
> specific version can be created by replaying the relevant set of SQL
> changes made after the snapshot. (This description is just to get the
> idea across; there are probably more clever ways to implement it).

You can use the Sqlite session extension to produce patch files between
db file versions. It has some restrictions on schema and documentation
is scarce, but if I had the same goal as you, I'll try that way.

To use it you need Sqlite version >= 3.13.0

www.sqlite.org/sessionintro.html
 
> Another aspect of this third system is the typical fossil-like data
> sharing. So basically, this could be a distributed, multi-user
> database. Each user would have a local copy (fast access) with their
> own branches (write control) but there could be data sharing through
> merges. (This probably sounds obvious to fossil users but think about
> it from the perspective of sharing database content rather than
> sharing a pile of files (source code).
> 
> For fun, and somewhat whimsically, a name for this Fossil/SQLite
> hybrid might be DVCSQLite .


---   ---
Eduardo Morras <emorr...@yahoo.es>
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Compiling and running Fossil on old hardware

2016-02-15 Thread Eduardo Morras
On Sat, 13 Feb 2016 22:41:33 -0700
Scott Robison <sc...@casaderobison.com> wrote:

> I wonder if I could build fossil for my old Commodore 64. It would
> certainly require a lot of disk swapping. Not virtual memory paging,
> literal "Please insert Disk 43" type disk swapping. :)

(I know it's a joke but..)

A modern OS that works on Commodore64 and other nano/microdevices is Contiki, 
may a port to run it on an intelligent li-fi lightbulb work?



---   ---
Eduardo Morras <emorr...@yahoo.es>
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


[fossil-users] Error in search FTS repository

2015-10-31 Thread Eduardo Morras


Hello, I tried to search on sqlite.org repository for 'mmap', it showed too 
many results so I re-searched with 'mmap(' because I wanted the function call 
(note the additional '('). 

https://www.sqlite.org/src/search?s=mmap%28=all

SQLITE_ERROR: statement aborts at 8: [INSERT INTO 
x(label,url,score,id,date,snip) SELECT ftsdocs.label, ftsdocs.url, 
rank(matchinfo(ftsidx,'pcsx')), ftsdocs.type || ftsdocs.rid, datetime(ftsdocs
Database Error

malformed MATCH expression: [mmap(]: {INSERT INTO 
x(label,url,score,id,date,snip) SELECT ftsdocs.label, ftsdocs.url, 
rank(matchinfo(ftsidx,'pcsx')), ftsdocs.type || ftsdocs.rid, 
datetime(ftsdocs.mtime), snippet(ftsidx,'','',' ... ',-1,35) FROM 
ftsidx CROSS JOIN ftsdocs WHERE ftsidx MATCH 'mmap(' AND 
ftsdocs.rowid=ftsidx.docid}

Retried on fossil repository, and get similar errors.


Thanks 


---   ---
Eduardo Morras <emorr...@yahoo.es>
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


[fossil-users] Css not loading when adding a '/' to url

2015-10-03 Thread Eduardo Morras

Hello, 

When I go to http://www.sqlite.org//src/doc/trunk/README.md instead of 
http://www.sqlite.org/src/doc/trunk/README.md, the page loads without css and 
link I follow don't load it neither and the additional '/' is not corrected.

Note the second '/' on 'org//src'

Tried with '//' and get the same problem.

---   ---
Eduardo Morras <emorr...@yahoo.es>
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Fossil 2.0 (reprise)

2015-02-23 Thread Eduardo Morras
On Sun, 15 Feb 2015 23:49:42 -0500
Richard Hipp d...@sqlite.org wrote:

 Please continue to offer suggestions for improvement.

Adding support for plugins/addons, using TH1, TCL, Lua or other embeddable 
language. Plugin code and data should reside on specific table for each plugin, 
and passed on push/pull/sync/clone.

Examples of plugins/addons:

- Project Management (Burnout graphs, TODO lists/check lists, time cost 
measurements, project statistics, etc...),
- Bridges to non-http protocols (mail, p2p, nntp, ...),
- Calendar, alarms, notices, 
- Compilation and test status, import these and other information from other 
developer tools,
- Project specific needs
- Cron automatizations, f.ex. deferring hash (md5) or other calculations to 
idle time.

Not everyone will need them and their development can be parallel to 
fossil-scm, these means that plugins/addons code should not reside inside 
fossil-scm c code.

 -- 
 D. Richard Hipp
 d...@sqlite.org

---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Examples of public Fossil repositories

2015-01-02 Thread Eduardo Morras
On Fri, 2 Jan 2015 09:34:00 -0500
Richard Hipp d...@sqlite.org wrote:

 I'm trying to compile a list of interesting public Fossil
 repositories.  My list currently includes:
 
 http://www.fossli-scm.org/fossil/
 http://www.sqlite.org/src/
 http://www.eagle.to/cgi-bin/eagle/timeline
 http://core.tcl.tk/tcl/timeline
 http://www.androwish.org/
 http://netbsd.sonnenberger.org/

Natacha's public fossil repositories:

http://fossil.instinctive.eu/

 And, of course, all of the repos on http://chiselapp.com/
 
 Are there any others that I should add to the list?
 
 -- 
 D. Richard Hipp
 d...@sqlite.org


---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Receiving old versions

2014-09-01 Thread Eduardo Morras
On Sat, 30 Aug 2014 15:03:32 -0500
Andy Goth andrew.m.g...@gmail.com wrote:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 On 8/30/2014 2:40 PM, Andy Goth wrote:
  Now I have been given a few older versions.  What's the best way to
  go about putting them into the repository?
  
  I know I can check them in with --allow-older and the
  --date-override options, though this will produce a very funky
  timeline display.  Is there a better way?
 
 I cloned my repository and did the above as a test just to see how bad
 it comes out.  Well, it's pretty bad.  Not only is the timeline
 bizarre, the default diffs are unhelpful too.  Diffs are typically
 against the predecessor version, but in this situation, Fossil's
 concept of predecessor doesn't match the naïve user expectation.
 Surprise notwithstanding, this is correct behavior in face of the
 time paradox.
 
 I think my best course of action is to not try to put the old code
 into the repository unless I am given a more complete archive of
 historical versions, at which time it might be worthwhile to rebuild
 the repository with everything put in the right sequence.  Of course
 this blows away all the artifact IDs, but that would be acceptable at
 this stage.
 
 Let's say I do this, using the oldest known version as the initial
 commit, and everything seems good for a while.  But then someone finds
 an in-between version thought to have been lost.  I would update to
 its predecessor version then check it in with the date override,
 either allowing the fork or putting it on an branch.  The timeline
 would look mostly good, but only because the predecessor version
 already existed. Diffs surrounding the newfound would have to be done
 with explicitly selected from and to versions, but that's a small
 price to pay for not having to rebuild the repository and trash the
 artifact IDs.
 
 Then a version older than the previously oldest known version is
 found. Now we're in trouble again.
 
 Maybe I could have prevented that last problem by making the initial
 empty check-in be dated before the project was known to have started,
 so there would never be anything older than it.
 
 Thoughts?

Can you try to do it backwards? (don't know if backwards is the rigth word). 
Create a new repository, import the older source files, pull from your 
repository. Don't sync or your repository will become fluffed.

 
 - -- 
 Andy Goth | andrew.m.goth/at/gmail/dot/com
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v2.0.22 (MingW32)


---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Working with large repository

2014-06-17 Thread Eduardo Morras
On Mon, 16 Jun 2014 23:08:22 +0200
Baptiste Daroussin baptiste.darous...@gmail.com wrote:

 Hi,
 
 I just want to share some feedback, for fun I tried to convert some of
 the FreeBSD repositories to fossil to see how it performs
 
 I first tried the FreeBSD Documentation repository, to go the easy way
 I took the FreeBSD git mirror (https://github.com/freebsd/freebsd-doc
 and run
 git fast-export --full-tree --all | fossil import --git ../doc.fossil
 
 The worked pretty well, and I manage to convert in a few hour the
 repo, the result it very usable (that wasn't the case a few years ago,
 some operations where slow)
 
 Result is available here: https://fossil.etoilebsd.net/doc if some
 want to play.
 
 At the same time I decided to try with ports and base repository which
 I would have expected to be a bit more complicated I cloned:
 https://github.com/freebsd/freebsd and
 https://github.com/freebsd/freebsd-ports
 
 I run the same command for the conversion git fast-export --full-tree
 --all | fossil import --git ../ports.fossil
 
 both are now running for more than 70H and still not finished!!!
 consuming 100% CPU
 
 This is running on pretty descent hardware.
 hw.model: Intel(R) Xeon(R) CPU E3-1225 V2 @ 3.20GHz
 
 I guess I would have to run a svndump imported manually if I want a
 slightly faster conversion to happen, and given how the incremental
 import works with fossil import --git I cannot imagine running a
 fossil mirror using that tool.
 
 If anyone has ideas on how I can maintain a mirror more easily, tips
 welcome

I tried the same in 2012 an early 2013 without --full-tree, the worse problem I 
had wasn't the time expended but the size of fossil file while importing.

I tweaked fossil import to use 512MB-2GB of sqlite3 cache making it faster. I 
didn't import from git directly, I splitted it in 2 phases:

git fast-export   xz -vv --lzma2=preset3,dict=256MiB git.xz
xzcat -vv git.xz  fossil import git.fossil

This way I'm less IO and CPU bounded, 

Check my email on this list 1st of July 2013.

 
 Bapt

---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Working with large repository

2014-06-17 Thread Eduardo Morras
On Tue, 17 Jun 2014 17:39:45 +0200
Stephan Beal sgb...@googlemail.com wrote:

 On Tue, Jun 17, 2014 at 5:30 PM, Eduardo Morras emorr...@yahoo.es
 wrote:
 
  git fast-export   xz -vv --lzma2=preset3,dict=256MiB git.xz
  xzcat -vv git.xz  fossil import git.fossil
 
 
 That is a _very_ interesting trick.

You can pause it, view % of work done, etc...

 
 Question to you both: do you know if fossil has generated any delta
 manifests in the import? By default fossil does not generate delta
 manifests, but they can potentially save space for large repos. Once
 fossil has generated _one_ delta, it will allow itself to generate
 more, but by default it will never generate any. A delta can be
 forced at commit time with --delta, but i don't know if the git
 import feature (never needed it) supports something like that.

Fossil rebuilds repository after the import and file size shrinks a lot, don't 
know if it's because delta encoding or something else. The openbsd import to 
fossil file has +300GB, and shrinks to 1.5GB after rebuild. Didn't have more 
time to dive in it. 

A final note, the import is one big transaction.

 
 -- 
 - stephan beal

---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] strcpy() vs strlcpy()?

2014-04-23 Thread Eduardo Morras
On 22 Apr 2014 21:35:39 -0600
Andy Bradford amb-fos...@bradfords.org wrote:

 Hello,
 
 As of [2aaae64a59] compiling Fossil on OpenBSD results in a warning:
 
 bld/name.o(.text+0x11a): In function `test_ambiguous_cmd':
 ./src/name.c:742: warning: strcpy() is almost always misused, please
 use strlcpy()
 
 Is this  something to be  concerned about for  Fossil? I know  there
 are other parts of the Fossil build that  use strcpy() but this is
 the first time Fossil proper has used it. Would it be better to use
 strlcpy()?  

Don't know, but strlcpy() exists only in *BSD libc, but no in GNU/Linux glibc 
or Windows. 

 Thanks,
 
 Andy


---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Fossil CGI trick: extensionless CGIs under Apache

2014-04-11 Thread Eduardo Morras
On Fri, 11 Apr 2014 12:54:22 -0400
Ron Wilson ronw.m...@gmail.com wrote:

 
 Still fails under IE, but I only tried it as an additional data point.
 (Normally I only use IE to access certain company internal websites
 that aggressively refuse to work with anything other than IE (any
 version of IE).)

Check this addon for firefox 
https://addons.mozilla.org/en-US/firefox/addon/user-agent-switcher/

It allows change the user-agent and identify firefox as a IE.

HTH

---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] New release supporting ssh access?

2013-12-13 Thread Eduardo Morras
On Fri, 13 Dec 2013 13:37:40 -0500
David Mason dma...@ryerson.ca wrote:

 I am really looking forward to the release that includes the proper
 ssh remote repositories.
 
 I can build it for my environment, but I am teaching a course in
 January and I want the students to submit assignments using their own
 repositories (and encourage them to use fossil (and SCMs in general),
 and they use Windows and Linux, so it would be much easier if I could
 simply point them at the fossil-scm.org site!
 
 (If anyone's interested in the details, I'm going to set up accounts
 that can only run fossil, and give them each their own fossil with
 them, me, and the TA having access to the repository.  Then they can
 do/submit assignments and the TA or I can mark them, leaving
 annotation files, mark files, etc.)
 
 I love everything I've seen about fossil, but have been waiting for
 this before using it in production.

I don't use fossil through ssh, but a sshfs may do what you want. See 
http://fuse.sourceforge.net/sshfs.html

Don't know if works on MS-Windows.

 
 Thanks   ../Dave
 ___
 fossil-users mailing list
 fossil-users@lists.fossil-scm.org
 http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Can I push changed authentication data? c...@apotheon.net exclusive)

2013-08-15 Thread Eduardo Morras
On Wed, 14 Aug 2013 16:57:53 -0600
Chad Perrin c...@apotheon.net wrote:

 On Wed, Aug 14, 2013 at 04:31:46PM -0600, Andy Bradford wrote:
  Thus said Chad Perrin on Wed, 14 Aug 2013 16:07:02 -0600:
  
   Is there another option for this when developers basically do not have
   access to the  server where the main Fossil repo  is located except by
   way of clone/pull/push/sync?
  
  Well, technically  speaking, they  *do* have access  to the  main Fossil
  repo via the tunnel.
  
  Have them point their browser to http://localhost:/
  
  As long  as they have the  capability to reset their  own password, they
  can do this on their own.
 
 I guess I should consider running the web interface too, then, if that's
 the only way to let them change their Fossil passwords.

Perhaps there's other way to do that using ldap. This ticket 
http://www.fossil-scm.org/index.html/tktview?name=ec667f74f8 describes current 
(2010) status about it.


 
 -- 
 Chad Perrin [ original content licensed OWL: http://owl.apotheon.org ]
 ___
 fossil-users mailing list
 fossil-users@lists.fossil-scm.org
 http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] self-hosted Fossil for a team

2013-08-11 Thread Eduardo Morras
On Sat, 10 Aug 2013 20:07:41 -0600
Chad Perrin c...@apotheon.net wrote:

 Dr. Hipp's series of suggestions have, of course, also been informative
 for me, and while I do intend to expand capabilities to the point where
 a separate webserver (probably nginx) is involved for some purposes as
 described in one of his replies, for now I just need something quick,
 effective, and secure to get some projects underway.

Nginx doesn't support cgi, and as its developers says, it will never have cgi 
support.

---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Single sign-on (Login Group) configuration?

2013-08-11 Thread Eduardo Morras
On 10 Aug 2013 21:54:59 -0600
Andy Bradford amb-fos...@bradfords.org wrote:

 Hello,
 
 After  having  recently  discovered  the  single  sign-on  functionality
 provided by  the Login Groups configuration,  I've started experimenting
 with it.  I must  be doing  something wrong because  it doesn't  seem to
 work:
 
 I started a fossil  server on port  serving fossils  out of /tmp. In
 /tmp I have 3 fossils (new.fossil,one.fossil,two.fossil).
 
 I added them all to the same  Login Group and added a user to new.fossil
 named someone. Then I tried to clone two.clone:
 
 $ fossil clone http://someone@remote:/two twoclone.fossil
 Password for Fossil user someone: 
 remember password (Y/n)? y
 Round-trips: 2   Artifacts sent: 0  received: 1
 Error: login failed
 missing or incorrect password for user someone
 
 What have I missed? I googled and couldn't really find any documentation
 for how this is  supposed to work, and I even  grep'ed the www directory
 in the fossil repository to no avail (next step sources).
 
 Here's some data from the config table in the two.fossil DB:
 
 project-code|f2b6f81f58bff6b8e6b8be1a5c1a679d7402351b|1376190998
 project-name|Two|1376191759
 peer-repo-3aeaa6385a3e39cf|/tmp/new.fossil|
 peer-name-3aeaa6385a3e39cf|New|
 peer-name-7844a4a7c15dad42|One|
 peer-repo-7844a4a7c15dad42|/tmp/one.fossil|
 login-group-code|03c19721921c03aa|
 login-group-name|Team1|
 
 And new.fossil:
 
 project-code|3aeaa6385a3e39cf1f654e4ab54f3ecd36ed1e6b|1376152719
 peer-repo-7844a4a7c15dad42|/tmp/one.fossil|
 peer-name-7844a4a7c15dad42|One|
 login-group-code|03c19721921c03aa|
 login-group-name|Team1|
 peer-name-f2b6f81f58bff6b8|Two|1376191901
 peer-repo-f2b6f81f58bff6b8|/tmp/two.fossil|1376191901
 
 Thanks,

User information is not cloned. If you want clone it from original server to 
cloned one you must use :

fossil configuration pull user --overwrite original_repo_url

HTH

---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Random thoughts on Fossil v2

2013-07-26 Thread Eduardo Morras
On Thu, 25 Jul 2013 08:34:02 -0700
Andreas Kupries andre...@activestate.com wrote:

I'm on it now, writing a minimal png with 32bit ARGB color and a minimal 
  graph lib.
 
 Link ?

Not for now sorry.

 Do you know
 
 lodepng / picopng ?
 
 http://lodev.org/lodepng/

I didn't know about it, but I use zlib included in fossil for other purpouses 
instead of developing one myself, and only implement one mode, 32 bit argb, not 
full png to keep source code size an complexity as minimal as I can.



---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Random thoughts on Fossil v2

2013-07-23 Thread Eduardo Morras
On Mon, 22 Jul 2013 13:36:37 +0200
Stephan Beal sgb...@googlemail.com wrote:

 On Mon, Jul 22, 2013 at 1:30 PM, Eduardo Morras emorr...@yahoo.es wrote:
 
  Xcb uses an async mechanism, it creates a cookie, sends it and data to the
  external code, keep working. External code calls xcb, sends the cookie with
  the answer. Data and cookie can be exchanged through sql table.
 
 
 Then it starts looking like a message queue, and i personally have no
 intention of seeing fossil grow into such a creature.

And fossil is single thread single process app and can't do any other thing 
while waiting. I applaud the single thread, I dislike threads too, don't 
understand why it must be single process.
 
  That's why I said I confused user with role. The role owns the files, not
  the user. Currently, a user without wiki role capabilities can't modify the
  wiki files.
 
 
 Yes he can - he simply needs to clone it. At that point any access rights
 fly out the window.
  
  Similar, a C developer role can modify /src dir but not /documentation or
  /sql, the DBA role can change /sql but not /src and similar. Role info is
  already exchanged in pull/push/sync, user info not. So in your scenary, a
  user can get the role capabilities and access them.
 
 
 So what happens when i (as a wiki editor) make a change to src/foo.c,
 commit it to  my local copy (because locally i have admin access) and then
 try to push? i can't, and my repo then gets (permanently) out of sync. i
 don't think this model is possible in a DVCS.

Yes it is. There's a big difference between Project and Repository. There's the 
fossil project, only one, but there are lots of repositories and fossil project 
forks that aren't the main 'Fossil Project'. I don't want to restrict what you 
do with your repository or your project fork, I want to restrict what you can 
do to main Project.

  The problem is that a user is admin of his own repository file and can set
  whatever s/he wants and access everything. A global dvcs role and user data
  can solve this, not allowing this user make changes in public branches or
  trunk directories of central repo (or other users repos) if s/he has no
  privileges to do so.
 
 
 Once i clone it, the central repository has NO say-so in what i can and
 cannot check out. It can only control what i check IN, or (more correctly),
 what i try to push to the central server. If it will not let me push the
 changes i have already committed to my local repo then i have a serious
 problem.

No, I sync with fossil main repository each week, but I don't have permission 
to push my changes. That's because my user (anonymous) don't have the role to 
do so. If I want to push my changes I must convince someone who has the correct 
role to do so. I want to restrict that a developer user, with a defined role, 
can push changes only to certains files/directories of main repository and not 
others. For example, in Fossil, sqlite3.c, sqlite3.h, copyright file, makefile, 
etc... should be changed only by user drh, at least in trunk, because he is the 
project architect. It's true that 'it shouldn't happen if everyone follow the 
manual and touch the files he owns', but there are sometimes, specially with 
newbies, that the repository becomes unusable because they touch a file they 
shouldn't.


---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Random thoughts on Fossil v2

2013-07-23 Thread Eduardo Morras
On Tue, 23 Jul 2013 13:17:47 +0200
Stephan Beal sgb...@googlemail.com wrote:

 On Tue, Jul 23, 2013 at 1:04 PM, Eduardo Morras emorr...@yahoo.es wrote:
 
  Yes it is. There's a big difference between Project and Repository.
  There's the fossil project, only one, but there are lots of repositories
  and fossil project forks that aren't the main 'Fossil Project'. I don't
  want to restrict what you do with your repository or your project fork, I
  want to restrict what you can do to main Project.
 
 
 That's the problem: my clone of your project is a first-class copy of your
 project. There is essentially no distinction. If you copy goes up in flames
 me can drop in my copy, re-add the users, and we're done. So here's what
 happens with user restrictions:
 
 - i clone your repo
 - i edit some dir which you have restricted.
 - i check it in locally (offline)
 - Later i try to push to your repo and it fails. My repo is now in a state
 where i can _never_ push my copy to yours ever again because pushing to
 yours will fail as long as i have no access (on your side) for that file.


I must insist here ;) There's a distinction, your repository is not the 
official Project repository, mine, the central one, yes. You can fork and 
create a new project and name it as you wish and change what you want. If you 
want to merge with the Only and Real True Project, your changes must be 
approved by the person that has the permission to do that, that's me. 


  No, I sync with fossil main repository each week, but I don't have
  permission to push my changes. That's because my user (anonymous) don't
  have the role to do so. If I want to push my changes I must convince
  someone who has the correct role to do so.
 
 
 But for partial access ALL pushes from me to you will fail if i have
 edited a file to which i cannot push. There is no partial push in fossil
 - you can push everything or nothing. Fossil, as a piece of software, could
 not possibly decide which parts of my commits are safe to push, and
 Fossil _MUST_ fail if _any_ part of my push/sync fails because it has no
 heuristic which can say, oh, that was just that file under /noaccess/...
 which you edited 3 weeks ago and is still not writable for you (and if it
 could decide that, then failing is still the proper response). The only
 reasonable action Fossil can take there is to fail. How could it possibly
 know which parts are okay and which not? How can i possibly ever recover
 my repo to a sane state if you refuse to give me write access to changes i
 have already made locally (but not cannot commit, leaving my repo in an
 unclean/divergent state).
 
 
 -- 
 - stephan beal
 http://wanderinghorse.net/home/stephan/
 http://gplus.to/sgbeal


---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Random thoughts on Fossil v2

2013-07-22 Thread Eduardo Morras
On Sun, 21 Jul 2013 21:15:56 +0200
Stephan Beal sgb...@googlemail.com wrote:
a) when a user sync/merge to trunk in central server, it compile/test
  the code, after receive but before merge, and if compile/test fails reject
  sync/merge.
b) project management features, global gant graphs, percentage of work
  done,
c) source code parser, to find where a function, macro, etc... is
  declared
d) fts of documentation
 
 
 If we don't want to write such hooks in C (which might not be practical)
 then a a scripting engine is implied. IMO the right choice, given fossil's
 history, would be TCL, but any option we choose brings with it long-term
 dependencies or maintenance (if we embed a small interpreter like jimtcl or
 lua). To me jimtcl would be the obvious candidate, but i was told at some
 point that it has too many incompatibilities with standard TCL to be of
 interest to the harder-code TCLers.

No, not as hooks, but as plugins. I think that include a scripting engine is 
great, I'm a lua user, but force to use only one not. Allowing to call external 
have this advantages:

a) Not tied to one scripting language
b) In smp environments, the script will run on other processor (or even 
remotely)
c) It can work asyncronous, fossil may not wait the script ends
d) If script fails, fossil will not hang or crash or silently quit
e) Fossil size keeps tiny
f) Scripts can be persistent
g) Update/Bug fix script engine without recompile fossil or wait for a new 
fossil release

Of course, with security at first.

About hooks, thinking more about it, perhaps something more like a trigger. For 
example, in our c projects, we have this on the central repositories:

1) a user syncs to central
2) after sync, we must run a script manually that
3) checkout last trunk version
4) compare trunk with trunk
5) if some change is detected, compile with clang static analyzer, it has an 
option to make an html report
6) add the report directory to reports branch
7) copy the new trunk to old trunk dir and rm everything else
8) close the checkout

It will be great if fossil shoots the script each time trunk is modified, 

  d) extend user capabilities
 
Some superuser can own/lock some files in central repository or at
  least, in trunk. For example makefiles, binary files, project
  configuration, etc...
 
 
 i was thinking about that as well, but IMO the current system works
 remarkably well. It effectively offers up to 26 (or 52) roles, which is far
 more than projects of fossil's scale need. We could perhaps add a mechanism
 to allow clients to add letters to the permissions alphabet. Or toss out
 the mechanism and do something new. i think a full-fledged role management
 system would be way overkill, but if we're starting from scratch anyway...

Perhaps I mixed the concept of user and role. I thought more about the concept 
of file owner. By default all users owns all files, but some roles, like 
superuser or project architect, own some files or dirs and only him/her/it can 
modify them.


---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Random thoughts on Fossil v2

2013-07-22 Thread Eduardo Morras
On Mon, 22 Jul 2013 12:20:44 +0200
Stephan Beal sgb...@googlemail.com wrote:

 On Mon, Jul 22, 2013 at 12:09 PM, Eduardo Morras emorr...@yahoo.es wrote:
 
  ...No, not as hooks, but as plugins. I think that include a scripting
  engine is great, I'm a lua user, but force to use only one not. Allowing to
  call external have this advantages:
 
  a) Not tied to one scripting language
  b) In smp environments, the script will run on other processor (or even
  remotely)
  c) It can work asyncronous, fossil may not wait the script ends
 
 
 For some checks Fossil _must_ wait on the script to end. How can it do a
 commit confirmation check if it doesn't wait on the results?

Xcb uses an async mechanism, it creates a cookie, sends it and data to the 
external code, keep working. External code calls xcb, sends the cookie with the 
answer. Data and cookie can be exchanged through sql table.

 To be clear, i often use the words hook/plugin/trigger interchangeably.

They are different. A hook is capability we add to a function, as a anonymous 
function pointer. This way we can hook the any function to program flow, 
changing it. A plugin is a module that adds capabilities to program. For 
example Sqlite3 has plugin mechanism to add external aggreagate calculations. A 
trigger is code that executes other code when some conditions met. 

So the difference is that a hook allows a plugin work when the trigger wants.

  Perhaps I mixed the concept of user and role. I thought more about the
  concept of file owner. By default all users owns all files, but some roles,
  like superuser or project architect, own some files or dirs and only
  him/her/it can modify them.
 
 
 i think that would be impossible to implement properly in a DVCS (it would
 be possible in a centralized SCM). When i clone your repo, i need access to
 ALL of the files i cloned. If i cannot check out or modify certain files
 just because you own them, the repo is useless to me. It means that if a
 developer dies (as they occasionally do) then all of his locks are there
 forever. This doesn't sound realistic to me. One of the things fossil
 promises which other SCMs do not is forever - it's data format is
 designed to outlive the software, which means that in 200 years someone
 could read the fossil data format, import an ancient sqlite3 fossil DB into
 his sqlite27 db, and get back to work. Except that now he can't make
 changes because the files in the repo belong to another user ;).

That's why I said I confused user with role. The role owns the files, not the 
user. Currently, a user without wiki role capabilities can't modify the wiki 
files. Similar, a C developer role can modify /src dir but not /documentation 
or /sql, the DBA role can change /sql but not /src and similar. Role info is 
already exchanged in pull/push/sync, user info not. So in your scenary, a user 
can get the role capabilities and access them. 

The problem is that a user is admin of his own repository file and can set 
whatever s/he wants and access everything. A global dvcs role and user data can 
solve this, not allowing this user make changes in public branches or trunk 
directories of central repo (or other users repos) if s/he has no privileges to 
do so.


---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] cloning / opening fails on WinXP SP3

2013-06-19 Thread Eduardo Morras
On Wed, 19 Jun 2013 01:25:30 -0700
Edward Berner e...@bernerfam.com wrote:

 I'm surprised, but yeah, its looking that way.  I just ran the test 
 again using the same fossil binary on XP and Windows 7.  The clone 
 failed on XP but succeeded on (64 bit) Windows 7.  It also succeeds on 
 32 bit Vista but fails on Windows 2000 (I had to use a different binary 
 on Windows 2000).
 
 As a sanity check I served up a copy of Fossil's own repository in the 
 same way as my test repository.  All systems were able to successfully 
 clone it.

Some shoots in the dark... 

a) Can you try with antivirus disabled?
b) Can you try fossil clone URL_REPO repo.fsl ? (Note that repo.fos fits in 8+3 
filename)

 -- 
 Edward Berner
 


---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] cloning / opening fails on WinXP SP3

2013-06-17 Thread Eduardo Morras
On Mon, 17 Jun 2013 15:20:34 +0200
Michai Ramakers m.ramak...@gmail.com wrote:

 Hello,
 
 this is the first time I try Fossil on a Win32 system, so I'm guessing
 I do something wrong. Here is what I did, and what fails:
 
 1) download fossil executable from fossil-scm.org; this is 1.25 [d2e07756d9]
 2) in dir '\some_where\repo', clone
 http://michai@otherhost_on_lan/my_fossil my_fossil.fossil
 
 (otherhost_on_LAN is running fossil 1.25 [c7133bd79d], amd64 netbsd)
 
 3) notice the cloned repo is too small; roughly 19 MB instead of
 expected 311 MB as on the http host (this may be irrelevant - no
 idea.)
 4) in dir '\some_where\src', try to open the cloned repo anyway
 5) notice only a _FOSSIL_ file is created, nothing else
 6) 'fossil stat' in 'src' shows '[f34e9990ce] initial empty check-in
 (user: michai, tags: trunk)' (which corresponds to the oldest timeline
 entry of that repo)
 
 I tried cloning another repo from the same host, which went fine.
 
 Fossil as http server is running from inetd on 'other_host_on_LAN'.
 
 The Win32 host is running Windows XP pro SP3.
 
 Running 'fossil clone' locally on 'other_host_on_LAN' works fine for
 the same repo (with cloned repo being around 466 MB, fwiw).
 
 Running 'fossil clone' on another amd64 netbsd, cloning the same repo
 on 'other_host_on_LAN' works too; the fossil version on that host
 happened to be  1.24 [8d758d3715] .
 
 Perhaps worth knowing, or not: while working on 'other_host_on_LAN', I
 had trouble adding or checking in (cannot remember) files with strange
 characters in them - somehow managed anyway, but later removed these
 files again ('fossil addremove'). In between the initial checkin I saw
 cloned on the Win32 host and the moment of adding these files, a few
 other checking had happened (which perhaps means these are 2 unrelated
 things - no idea).
 
 So... that's all; any ideas are welcome. I don't currently have a
 mingw32/cygwin/whatever native build environment on the Win32 host; if
 it's relevant, I could install it and try new fossil-versions from
 source.

Did you rebuild after clone? Try fossil rebuild my_fossil.fossil --analyze

Note that clone doesn't copy user information. I think, correct me if I'm 
wrong, it doesn't copy information that can be rebuild from artifacts, like 
indexes.

 Michai

---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


[fossil-users] 2 possible bugs?

2013-05-29 Thread Eduardo Morras


Hi, revising fossil code with clan analyzer, 2 possible bugs where found, from 
last trunk ( 4175c90f9522299c07ae4da5d19b93a50ce5f74c 
http://www.fossil-scm.org/xfer/info/4175c90f95):

a) src/file.c line 197-201

197 if( zName!=zBuf ) free(zName);

if( symlink(zTargetFile, zName)!=0 ){
  fossil_fatal_recursive(unable to create symlink \%s\, zName);
201 }

So zName may be used after free.

b) src/attach.c line 490 


490 free(zDate);
@ trthUser:/thtd
492 hyperlink_to_user(pAttach-zUser, zDate, /td/tr);

Similar, zDate is used after the free.

HTH

---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


[fossil-users] Limiting committers directories

2013-05-20 Thread Eduardo Morras

Hi,

How can I limit/prevent the directories where a developer/commiter can make 
changes? For example, if I have this directory structure:

/project
  /src
/c
/php
/javascript
  /doc
/en
/sp
  /tools
  /bin
  /stats

How can I limit/prevent the C developer to make changes in doc/en or src/php? 
Or modify the embedded documentation?

Thanks

---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Repo activity stats over time

2013-05-07 Thread Eduardo Morras
On Mon, 6 May 2013 10:59:26 +0200
Stephan Beal sgb...@googlemail.com wrote:

 On Mon, May 6, 2013 at 8:59 AM, Eduardo Morras emorr...@yahoo.es wrote:
 
  You can use javascript library Raphael (MIT Licence, similar to BSD) to
  draw svg graphics. It's 221KB uncompressed, 31KB gzipped and is HTML4-safe.
 
  http://raphaeljs.com/
 
  Other drawing js libraries needs a HTML5 capable browser, but IE=8 aren't.
 
 
 i looked at Raphael a couple years ago and it looked pretty nice - i can
 only assume it's gotten better since then. However, Fossil doesn't
 need/want any depedencies on specific 3rd-party code. A Raphael-based
 solution can be done client-side, but for that to work the user would need
 to include Raphael in his skin and get access to the reporting data via
 JavaScript. At the moment the reporting data is only available in raw HTML
 form. It would be a trivial matter to embed it in JSON form in script tags
 but the JSON bits are off by default, so this would not help most users.
 Once time allows, and we decide on what data to show via the statistics
 reports, i'll add an equivalent JSON API which will allow JSON-using users
 to fetch it and render with their preferred graphics API. The timeline
 view, interestingly, is drawn with DIVs - there is no canvas there (i only
 recently figured that out). Even the arrows are just a series of tiny DIVs.

... Thinking more about including complex graphs (more that can done with 
divs), If javascript, ajax or similar ways are closed, Is develop a graph.c 
that builds graphs on server side the way to do so?

If output is done to image it will add fossil dependencies to libjpeg, or 
libpng or others image formats, if output to svg, gzip and svgc is needed. 

Images are not scalable, svg yes...

Note that IE8 and below don't support svg natively, they must install Adobe SVG 
Viewer.

It looks like i'm going to shake fossil's code this weekend. 

---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] fossil 1.25 Windows XP - open command 'fails'

2013-04-05 Thread Eduardo Morras
On Fri, 05 Apr 2013 10:57:42 +0200
Jan janus...@gmx.net wrote:

 Am 05.04.2013 09:41, schrieb Jan Nijtmans:
  What's the (error-)message immediately before the Rolling back... line?
  That
  should give a clue about what's really going on here.
 
 It says
 
 fossil: unable to open file  file.pdf for writing
 Rolling back ...
 
 
 This is the file name:
 
 Delagarde 2010 GrazeIn a model of herbage intake and milk production for 
 grazing dairy cows. 2. Prediction of intake under rotational and 
 continuously stocked grazing management.pdf
 
 Something wrong with that on XP? Seems to work on Win7 though.
 

Max Path size is 260 chararacters under WindowsXP, the filename has 181, 
perhaps full path is bigger. Check 
http://msdn.microsoft.com/en-us/library/aa365247.aspx#maxpath

 Jan
 
 ___
 fossil-users mailing list
 fossil-users@lists.fossil-scm.org
 http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Whether or not this function examines the entire contents of the blob is officially unspecified.

2013-03-20 Thread Eduardo Morras
On Tue, 19 Mar 2013 16:28:08 +0100
Jan Nijtmans jan.nijtm...@gmail.com wrote:

 This line can be found twice in the fossil source code,
 and it refers to the functions looks_like_utf8() and
 looks_like_utf16() (src/diff.c lines 233 and 336).
 
 In Fossil 1.25 and earlier,  looks_like_utf8/16 bailed out as soon
 as either a NUL byte or a long line was encountered. Stopping
 at long lines is a bad idea, because a following NUL byte might
 not be detected. In commit [13fac7f74a]:
 https://www.fossil-scm.org/index.html/info/13fac7f74a
 this is fixed. Both NUL-bytes and long lines no longer
 abort the function. This has the adverse effect that even
 binary files containing NUL bytes are always scanned
 completely, even though we know already that the file
 is binary.
 
 So, I would like to suggest to change looks_like_utf8/16() such
 that NUL-bytes mean that scanning the remaing bytes/chars
 of the blob is aborted, but not for long lines. This has no
 effect on fossil: LOOK_NUL has the highest priority
 of all flags, it should always be checked first by all
 calling code. All other flags are meaningless whenever
 LOOK_NUL is iset.
 
 Any objections?

It's a work around the real problem, that there are binary and nonbinary/text 
files that should be treated/used/modified in different way. A solution like 
mime or file extension check, can give enough information about the file, an 
image file shouldn't call looks_like_utf8/16() f.ex.

 
 Regards,
Jan Nijtmans

---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Good repository to test scalability of fossil

2013-03-09 Thread Eduardo Morras
On Fri, 8 Mar 2013 09:09:56 -0500
Martin Gagnon eme...@gmail.com wrote:

 Hi,
 
 I found a git repository of the full openbsd src tree here:
http://anoncvs.estpak.ee/cgi-bin/cgit/openbsd-src/
 
 I think this repository is good to test scalability of fossil, since it's
 contain not only the kernel source of openbsd, but also all the userland of
 the base system.
 
 I know someone recently test with the NetBSD port tree, but port tree is a
 bit less realistic since it contain a incredible huge number of small files
 with an incredible number of commits.
 
 I've clone the repo and start an fossil import of it.. I Start the import 2
 days ago and now it is at the final step, rebuilding of meta-data is
 finished and it's doing Vacuuming since a while..
 
 Here some statistics:
- Gzipped git fast-export file:
  2.58 GB
- Time for the import (before rebuilding meta-data):
  22 hours
- rebuilding meta-data + Vacuuming:
   18 hours
- Fossil memory usage during import:
   Always increasing, up to: approx: 730MB during vacuuming.
 
 Actually, right now during vacuuming, CPU usage of the fossil process is
 about 3% and there's no progress printout during vacuuming, so I don't know
 if it will finish soon...
 
 I'll give more news when I'll try to use the repository under fossil
 compared with git for the speed.

I'm doing the same experiment with it now. I clone the openbsd repository and 
fast export to a file. It's 12 GB size and wc -l shows 430.083.609 lines.

I have modified fossil to know in what line is it working. I have no a diff but 
its trivial,

edit import.c and add the lines marked with + in function git_fast_import:

static void git_fast_import(FILE *pIn){
  ImportFile *pFile, *pNew;
  int i, mx;
  char *z;
  char *zUuid;
  char *zName;
  char *zPerm;
  char *zFrom;
  char *zTo;
  char zLine[1000];
+  sqlite3_int64 zLineNumber;

  gg.xFinish = finish_noop;
+  zLineNumber = 0;
  while( fgets(zLine, sizeof(zLine), pIn) ){
+zLineNumber++;
+if (zLineNumber%1000==0){
+  fossil_print( Processing Line Number: %d \r, zLineNumber);
+}


Perhaps another change can show the number of lines per minute. I will try some 
tweaks and see which ones makes the import faster.

 
 -- 
 Martin G.


---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Admin Password seems to change by it's self

2013-01-28 Thread Eduardo Morras
On Sun, 27 Jan 2013 10:45:28 -0700
David Blanford d...@daveandval.org wrote:

 Hello,
 
 I am new to Fossil.
 
 I have a fossil repository set at chiselapp. Cloned it so I have a
 local repository as well. Everything was working perfectly. Now the
 password seems to have changed. This is the second time this has
 happened.
 
 The first time I went in and reset the admin password using chiselapp
 dashboard, cloned again, and carefully changed all the passwords to
 match. It worked for a 1.5 days durring which I did several updates
 and commits via the local repository. Now that password no longer
 works when I try to log into the remote repository via the web
 interface, and I am unable to do a commit that updates to chiselapp
 from the command line. In short the same symptoms I had the first
 time.
 
 Am I missing something? Is this a bug?
 
 Any help would be greatly appreciated.
 
When you clone a repository a new admin password is created, it's showed in 
stdout. This is the output of a clone from fossil:

camibar% fossil clone http://www.fossil-scm.org/fossil myclone.fossil
Bytes  Cards  Artifacts Deltas
Sent:  53  1  0  0
Received: 4000569  11044   1172   4361
Sent:  71  2  0  0
Received: 4496529   9283   1740   2862
Sent:  57 95  0  0
Received: 4000227   8779   1329   3067
Sent:  57  1  0  0
Received: 4000245   4733442   1927
Sent:  57  1  0  0
Received: 4026975   3664445   1389
Sent:  57  1  0  0
Received: 4505409   1610377430
Sent:  57  1  0  0
Received:  645979270 73 61
Total network traffic: 1732 bytes sent, 25677066 bytes received
Rebuilding repository meta-data...
  100.0% complete...
project-id: CE59BB9F186226D80E49D1FA2DB29F935CCA0333
server-id:  bb19027832ccec8ec34290adc124cabd90be8bb1
admin-user: gowen (password is d30ccf)

As you see, there's a new admin user with a new password. This way you are the 
admin of your clone. If you open the repository and list the users you get:

camibar% fossil user list
anonymousAnon
developerDev
gowen
nobody   Nobody
reader   Reader

As you see the user data is not populated from the original repository using 
clone (in timeline view you see users drh, jan.nijtmans, stephan and others). 
Perhaps what you want is a simply raw copy of the repository file, it will keep 
all users and other sensitive information and after that you can use sync, or 
pullpush.

For now there's not a globlal admin user or global users that maintains in all 
clones. Perhaps in a svn like closed environment it has sense this kind of 
global users, the global admin will be the same for every clone and only 
him/her/its can admin and dominate all clones, like a sauron's ring ;)


HTH

 Dave
 ___
 fossil-users mailing list
 fossil-users@lists.fossil-scm.org
 http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] howto `grep' through old revisions

2013-01-28 Thread Eduardo Morras
On Mon, 28 Jan 2013 15:25:19 +0100
Gilles gilles.gana...@free.fr wrote:

 On Mon, 28 Jan 2013 11:22:11 +0100, Lluís Batlle i Rossell
 vi...@viric.name wrote:
  Is there a way to avoid writing all those files to disk, and just
  output data to STDOUT and read this with grep?
 
 I don't know how to do that.
 
 Thanks. I'll see if there's a way to create some kind of temporary
 disk in RAM.

If you use FreeBSD, this is what i have in my central repository server:

In /etc/fstab:

md /mnt/fossiltmp mfs rw,-M-S32m 2 0  # 32 MB memory disk

I use intensively this because in each sync i, or someone, make to my central 
repository server this script runs:

#!/bin/sh
cd /mnt/fossiltemp
fossil open $1
makeheaders -f makeheaders.dat
scan-build -o/mnt/fossiltemp/stats/ -vv make 
fossil addremove  
fossil commit -m $(date)
fossil close
rm -rf /mnt/fossiltmp/*

This way i create the html pages from clang/llvm statical analyzer and commit 
them to the project when some one . It's fast, i can live without 32MB of ram 
on this server but not clean, because a new commit is done each sync.

You can use a similar approach for your grep problem and if you are trying to 
find when you add something use fossil bisect


---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] 'fossil clone' from localhost is extremely slow

2013-01-12 Thread Eduardo Morras
On Thu, 10 Jan 2013 13:57:54 +0100
Stephan Beal sgb...@googlemail.com wrote:

 On Thu, Jan 10, 2013 at 1:53 PM, Eduardo Morras emorr...@yahoo.es wrote:
 
  If he tries in shell 1
 
  fossil open repository
  fossil server
 
  and in shell 2
 
  fossil clone http://localhost:8080/ copy.fossil
 
  should workaround it, the repository is opened only once
 
 
 In theory, yes, but the web server forks a child process for each request
 and (as i learned via a recent thread in the sqlite list) the db must be
 opened by the child processes in order for locking to work properly. If BSD
 is not killing the child processes immediately after each request is
 finished then the db could be held open during the multiple requests sent
 by a clone operation. In theory/speculation.

I thought that only in cgi mode it's forked for each request, I have to look 
that part of fossil code more deeply.  I think in server mode fossil 
could/should/may keep running without exit after each request. It could make 
easier the xfer code for clone pull and push, so a cookie is not needed to 
continue the download/upload.

 -- 
 - stephan beal
 http://wanderinghorse.net/home/stephan/
 http://gplus.to/sgbeal


---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] 'fossil clone' from localhost is extremely slow

2013-01-10 Thread Eduardo Morras
On Thu, 10 Jan 2013 13:21:50 +0100
Stephan Beal sgb...@googlemail.com wrote:

 On Thu, Jan 10, 2013 at 12:32 PM, Michai Ramakers m.ramak...@gmail.comwrote:
 
  ah yes... forgot that :) It does not help. Note that taking 1 cpu core
  offline ('cpuctl offline 1' here) makes it fly
 
 
 This is just pure speculation, but ... perhaps there is a problem in BSD
 multi-core cases, such that the various requests made by fossil for cloning
 do not get closed/killed immediately, and each request is locking the db
 for longer than it should because its process it not being killed in a
 timely manner? It would be interesting to see if, when you see the
 hang-ups, if the child process forked for handling a request is still alive
 (on the other CPU) for a while after the subsequent request has already
 started.
 
 i.e... clone request 1 comes in and completes, but its process (or flock)
 is not closed/released in a timely manner. Then comes clone request #2,
 which is waiting on an flock which is still held by request 1. Ad nauseum
 for requests #3 to #N. The output of lsof the_repo_file might be useful
 here.
 
 (Again, purely speculation...)

If he tries in shell 1

fossil open repository
fossil server

and in shell 2

fossil clone http://localhost:8080/ copy.fossil

should workaround it, the repository is opened only once

 
 -- 
 - stephan beal
 http://wanderinghorse.net/home/stephan/
 http://gplus.to/sgbeal


---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] `fossil info' feature request (a.k.a. wish)

2013-01-10 Thread Eduardo Morras
On Thu, 10 Jan 2013 14:12:18 +0100
Stephan Beal sgb...@googlemail.com wrote:

 On Thu, Jan 10, 2013 at 1:57 PM, j. van den hoff
 veedeeh...@googlemail.comwrote:
 
  ...works like a charm and saves lots of typing (locally chronological rev.
  nums are much easier to memorize (and to type...) than sha1 hashes).
 
  so I still think this would be useful.
 
 
 Explained that way it does sound useful but i would personally be very wary
 of using any numbering/IDs which aren't guaranteed to be stable between CLI
 invocations, since a pull/update could invalidate/change the meaning of the
 ordering. (But that's just a sign of my own pedanticness.)

You always can commit to (in my case) stable branch with a tag, f.ex.

fossil commit -m Release version 5.2 --branch stable --tag 5.2

Perhaps i'm using it the wrong way, don't know, 

 -- 
 - stephan beal
 http://wanderinghorse.net/home/stephan/
 http://gplus.to/sgbeal


---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Right way to try something new and save/revert?

2013-01-09 Thread Eduardo Morras
On Wed, 09 Jan 2013 12:10:35 +0100
Gilles gilles.gana...@free.fr wrote:

 Hello
 
 Am I correct in understanding that this is the right way to proceed to
 try some new code, and either save it (whether it works or not, just
 as a track-record) or discard it?
 
 To try some new code:
 1. Commit current code
 2. Try new code
 3.
 a. if OK, commit new code : fossil commit -m New stuff
 b. if NOK and don't care to save it, just go back to previous code:
 fossil revert myfile.c
 c. if NOK but want to keep track of attempt, commit and go back to n-1
 :
 fossil commit -m Failed attempt
 fossil finfo myfile.c : write down UUID (first hash) of n-1 revision
 fossil revert -r UUID myfile.c

If in your step 2 you add/remove/move files you should fossil addremove 
before the commit.

Remember to open the repository before any change to your code, if not, when 
you do fossil open rep.fossil, it will note it's different from fossilized 
source tree and undo all your changes.

 Thank you.
 
 ___
 fossil-users mailing list
 fossil-users@lists.fossil-scm.org
 http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


---   ---
Eduardo Morras emorr...@yahoo.es
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Fossil scalability

2012-12-27 Thread Eduardo Morras
On Fri, 21 Dec 2012 15:02:50 +0100
Stefan Bellon sbel...@sbellon.de wrote:

 On Fri, 21 Dec, Joerg Sonnenberger wrote:
 
  On Fri, Dec 21, 2012 at 12:30:25PM +0100, Stefan Bellon wrote:
   In total, the Subversion repositories hold over 45000 revisions.
   The first 5000 revisions were converted in a quite acceptable
   time. But then things started to slow down. At the moment (at
   revision 8150) one Fossil commit takes around half a minute.
  
  There is one issue with commits on large checkouts unrelated to
  repo-cksum and mtime-changes. The SQLite database in the checkout is
  essentially rewritten after each commit, which can be very slow with
  many files.
 
 I have set mtime-changes on and repo-cksum off, like Lluís suggested,
 but only noticed a very minor speed improvement. But now - with those
 settings still in place - I decided to take a closer look at what
 happens at commit time. Especially I paid attention to the point when
 the journal file appears, the point when the New_Version hash is
 output and the point when the journal file disappears/fossil
 terminates.
 
 I made the following observation: In the vast majority of commits, it
 takes around 15 to 18 seconds from fossil commit till the journal
 file appears. Then it takes between 4 and 10 seconds till the
 New_Version message is output and another 11 to 16 seconds till the
 journal file disappears and fossil terminates.
 
 However, there are a very few commits that work differently. They take
 the same time till the journal file appears, but then only a very few
 seconds till New_Version is displayed and again a very short time
 till fossil terminates.
 
 So I would assume that the time till the journal file appears is used
 for checksum/mtime calculation and file system performance. But the
 phases during journal lifetime seem to be the database transaction
 time.
 
 Two observations:
 
 1) It looks like fossil always takes its 15 to 20 seconds (for this
specific project at this specific state on this specific machine!)
till the commit actually begins. Perhaps this can be improved (as
Subversion is faster regarding this respect in the same scenario),
but perhaps not because checking for modifications has to work
differently, I don't know.
 
 2) The database transaction time can vary wildly. Most of the cases it
takes 15 to 25 seconds, in some cases however under 5 seconds.
Looking at the specific commit data I was unable to detect any
suspicious difference between the slow and the quick commits: It
happens for just file modifications and for additions the same.
 

Perhaps you can use a ram based disk for the temporary directory,
what does iostat tells you?

Another point, plus another perhaps, to keep in mind is that database
configuration is biased towards little size or low work repositories. A
big or a busy or both repository may stress the db with current
configuration. Again, iostat and similar tools is your/our friend.

There are some pragmas that can be send to sqlite, bigger cache_size,
journal_mode=memory, automatic_index=off, temp_store=2,
bigger wal-autochekpoint (fossil default is 1, sqlite default is 1000),
etc. Afaik, only foreign_keys=off is used.

 Greetings,
 Stefan
 

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users