Re: [fossil-users] casE-senSitive?
On Wed, Feb 6, 2013 at 7:50 AM, Themba Fletcher themba.fletc...@gmail.comwrote: It sounds like you're reporting that the file *contents* differ in case as opposed to the file names. If that's your report -- the case-sensitive flag only affects the file name comparisons: A related point: the various glob settings are not affected by this flag. To make them case-insensitive one must currently (and tediously) write the globs with that possibility in mind, e.g. *.[fF][oO][oO]. -- - stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal ___ 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] RSS feeds
On Wed, Feb 6, 2013 at 1:03 AM, David Given d...@cowlark.com wrote: https://cowlark.com/calculon/tktview?name=9e114e9de0 https://cowlark.com/calculon/timeline.rss?tkt=9e114e9de0 :-D The webpage at *https://cowlark.com/calculon/timeline.rss?tkt=9e114e9de0* might be temporarily down or it may have moved permanently to a new web address. :-( i know calculon was online a few days ago because i browsed through the docs and examples (embeddable scripting languages intrigue me). artifact, which means it needs ticket-specific code. The code is simple, however: http://www.fossil-scm.org/xfer/info/3f43ab397e It probably also wants changes to the view ticket code to add [RSS feed] to the menu, but that can wait until I see if anyone likes it. (The link on the Calculon site above is part of the skin.) A minor suggestion: if tkt=xxx is set then y=t could be implied. -- - stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal ___ 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] RSS feeds
Stephan Beal wrote: [...] The webpage at *https://cowlark.com/calculon/timeline.rss?tkt=9e114e9de0* might be temporarily down or it may have moved permanently to a new web address. Grr. The entire server seems to have gone down. I don't believe that's fossil-related. (It's a very small ARM box and is usually pretty reliable, but...) I'll have to head home and reboot it. [...] A minor suggestion: if tkt=xxx is set then y=t could be implied. That seems to be pretty much how it comes out in the wash --- if you're filtering the timeline to show only one specific ticket, then that's pretty much equivalent to showing tickets only. I think I can do better than that, anyway. What I'd really like is to be able to specify a particular Thing (is 'artifact' the right word here?) and get an RSS feed for that Thing --- be it a file, wiki page, ticket, branch etc. I'll need to study the schema to see what's feasible. -- ┌─── dg@cowlark.com ─ http://www.cowlark.com ─ │ │ 핻햍'햓햌햑햚햎 햒햌햑햜'햓햆햋햍 핮햙햍햚햑햍햚 핽'햑햞햊햍 햜햌햆햍'햓햆햌햑 햋햍햙햆햌햓. │ signature.asc Description: OpenPGP digital signature ___ 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] RSS feeds
Stephan Beal wrote: On Wed, Feb 6, 2013 at 1:03 AM, David Given d...@cowlark.com mailto:d...@cowlark.com wrote: [...] https://cowlark.com/calculon/tktview?name=9e114e9de0 https://cowlark.com/calculon/timeline.rss?tkt=9e114e9de0 [...] The webpage at *https://cowlark.com/calculon/timeline.rss?tkt=9e114e9de0* might be temporarily down or it may have moved permanently to a new web address. It's back up again. -- ┌─── dg@cowlark.com ─ http://www.cowlark.com ─ │ │ 핻햍'햓햌햑햚햎 햒햌햑햜'햓햆햋햍 핮햙햍햚햑햍햚 핽'햑햞햊햍 햜햌햆햍'햓햆햌햑 햋햍햙햆햌햓. │ signature.asc Description: OpenPGP digital signature ___ 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] RSS feeds
On Wed, Feb 6, 2013 at 11:05 AM, David Given d...@cowlark.com wrote: Grr. The entire server seems to have gone down. I don't believe that's fossil-related. (It's a very small ARM box and is usually pretty reliable, but...) I'll have to head home and reboot it. No rush - i can't play with it before Friday night, anyway :(. I think I can do better than that, anyway. What I'd really like is to be able to specify a particular Thing (is 'artifact' the right word here?) and get an RSS feed for that Thing --- be it a file, wiki page, ticket, branch etc. I'll need to study the schema to see what's feasible. The JSON artifact command offers something similar (and yes, artifact is the correct term), e.g.: [stephan@host:~/cvs/fossil/fossil]$ f json artifact fe56e5aa4f | head -20 { fossil:fe56e5aa4f000b9498966c0aabf050e7973ffb19, timestamp:1360149231, command:artifact, procTimeMs:4, payload:{ type:checkin, uuid:fe56e5aa4f000b9498966c0aabf050e7973ffb19, isLeaf:true, timestamp:1359721993, user:jan.nijtmans, comment:Fix out-of-order variable declaration (VC6 cannot handle that). \nMove MAX_REDIRECTS definition to xfer.c, so it can be converted to a fossil setting later., parents:[13ffb9b4d1eb3f97b9704d341a3f65eaadce1cc3], tags:[trunk], files:[ ... [stephan@host:~/cvs/fossil/fossil]$ f json artifact ac97cee94c1e12e69194d6a4868dd781642e744e { ... payload:{ size:10194, parent:e93ee24b65e549badf619d7d7a7af613f28bf626, checkins:[{ name:src/http.c, timestamp:1359721993, comment:Fix out-of-order variable declaration (VC6 cannot handle that). \nMove MAX_REDIRECTS definition to xfer.c, so it can be converted to a fossil setting later., user:jan.nijtmans, checkin:fe56e5aa4f000b9498966c0aabf050e7973ffb19, branch:trunk, state:modified }], type:file, uuid:ac97cee94c1e12e69194d6a4868dd781642e744e } } So we have a proof of concept for what you're looking for. -- - stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal ___ 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] System problem leads to Fossil problem on OpenBSD/sparc64
On Wed, Feb 6, 2013 at 3:48 AM, Edward Berner e...@bernerfam.com wrote: (I should mention that SQLite's test suite (make test) does catch the problem. In fact it gives up after 1000 errors.) SQLite (and Fossil) is tested on Solaris/sparc64 using gcc 4.3.3. So we do not see this problem. It looks like compiling with LONGDOUBLE_TYPE set to double will workaround the problem, but I haven't tried it yet. Can you confirm that setting LONGDOUBLE_TYPE to double fixes the problem. If it does, then we will investigate fixing the problem in a configure script test that sets LONGDOUBLE_TYPE appropriately. -- D. Richard Hipp d...@sqlite.org ___ 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] RSS feeds
On 6-2-2013 1:03, David Given wrote: It lives! https://cowlark.com/calculon/tktview?name=9e114e9de0 https://cowlark.com/calculon/timeline.rss?tkt=9e114e9de0 Thanks a lot! I’d forgotten that the UUID is not the original ticket ID. http://www.fossil-scm.org/xfer/info/3f43ab397e Am I right when reading the following lines as erroring out when no ticket with that ID was found, then writing the HTML footer? http://www.fossil-scm.org/xfer/artifact/f7ea590658?ln=97-100 If so, wouldn’t it be better to return an empty (but valid) RSS feed? The error message could be included in the feed title or description. Or, provide a single entry in the RSS feed, which merely mentions the error message. If the error message is to be returned as-is, perhaps a different HTTP status could be issued, like 500 (instead of 200). Though I seem to remember that Fossil had trouble returning other status codes, or that the authors didn’t want to use HTTP status codes when the problem was not on the HTTP layer, but application-related (which this is, strictly speaking). It probably also wants changes to the view ticket code to add [RSS feed] to the menu, but that can wait until I see if anyone likes it. (The link on the Calculon site above is part of the skin.) Very nice! The (default) skin is probably where you’d want to include the link anyway. It might be nice to include an autodiscovery link for that specific ticket on the page as well: link rel=alternate type=application/rss+xml title=Ticket changes feed href=timeline.rss?tkt=9e114e9de0 / The Firefox extension appears to pick it up wherever the link is on the page; I don’t know about other browser( extension)s and feed readers. Officially[1], the link is supposed to go in the head/ section: does anybody know if the current ticket ID is available from TH1 when processing the header? [1] http://www.rssboard.org/rss-autodiscovery Of course, if the feed is about a specific ticket, then that could be reflected in the feed's title and description as well, like putting the ticket title in the feed's title, and the original ticket description in the feed's description. (I’m freewheeling a bit here: this would probably mean a lot more ticket-specific code). Thanks again, -- Martijn Coppoolse ___ 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] RSS feeds
On Wed, Feb 6, 2013 at 12:55 PM, Martijn Coppoolse li...@martijn.coppoolse.com wrote: If the error message is to be returned as-is, perhaps a different HTTP status could be issued, like 500 (instead of 200). Though I seem to remember that Fossil had trouble returning other status codes, or that the authors didn’t want to use HTTP status codes when the problem was not on the HTTP layer, but application-related (which this is, strictly speaking). At the moment fossil is pretty much hard-coded to HTTP 200 or 500 (meaning it exits with non-0, which the web server then translates to 500). For the JSON API i had to do a good deal of plumbing to avoid that fossil avoids exits with 500 (b/c i want to return an app-level error code whenever possible) and it shouldn't be a great deal of work to add similar plumbing to the non-JSON cases, such that any given fossil internal function which currently exits fatally could set an arbitrary HTTP code by setting, e.g. (g.httpCode=666) before calling fossil_fatal() (or similar). That said, i wouldn't expect an RSS reader to be able to deal with anything but 200 or a redirect. link rel=alternate type=application/rss+xml title=Ticket changes feed href=timeline.rss?tkt=**9e114e9de0 / +1 The Firefox extension appears to pick it up wherever the link is on the page; I don’t know about other browser( extension)s and feed readers. Officially[1], the link is supposed to go in the head/ section: does anybody know if the current ticket ID is available from TH1 when processing the header? It depends on how the function building the page is structured. What normally happens is... - command handler function renders the page header - command handler runs its own logic, which may very well fail fatally. In these cases the error message will (normally) be output as part of the page body, after the header has been generated. - command handler renders the footer if a fatal exit has not been triggered. For a straightforward example, see stat.c:stat_page(). My point is only that a page _could_ make the ticket ID available for the page header but it must explicitly handle things in proper order. -- - stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
[fossil-users] translating fossil
Hi, I've downloaded fossil and am very impressed. I have several projects in mind, not involving computer software but political software : citizen drafted legislation. I need to translate the fossil interface. I have cloned the repository and taken a quick look at the code structure. I didn't find any .pot or .po files. I suppose I can just start reading the code and proceeding on my own. Does anyone have any advice for me? Thanks alot. -- john francis lee 246/3 Moo 22 Thanon Kaew Wai Mueang Chiangrai 57000 Thailand ___ 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] RSS feeds
David Given wrote: [...] I think I can do better than that, anyway. What I'd really like is to be able to specify a particular Thing (is 'artifact' the right word here?) and get an RSS feed for that Thing --- be it a file, wiki page, ticket, branch etc. I'll need to study the schema to see what's feasible. Okay, the attached patch (from trunk) allows the timeline to be filtered by tag, ticket, filename and wiki name. Plus I fixed the error code (thanks for that, cut-and-paste error). The reason it's not checked in is that there's an unfortunate consequence: specifying tag=trunk causes my fossil session to spin endlessly evaluated the query, presumably because the select from tagxref is returning a huge number of values. Any suggestions for optimisation? -- ┌─── dg@cowlark.com ─ http://www.cowlark.com ─ │ │ 핻햍'햓햌햑햚햎 햒햌햑햜'햓햆햋햍 핮햙햍햚햑햍햚 핽'햑햞햊햍 햜햌햆햍'햓햆햌햑 햋햍햙햆햌햓. │ --- src/rss.c +++ src/rss.c @@ -19,20 +19,48 @@ */ #include config.h #include time.h #include rss.h #include assert.h + +static int append_tag_filter(Blob* bSQL, const char* zName, const char* zType) +{ + if ( zName ){ +int nTagId = db_int(0, SELECT tagid FROM tag WHERE tagname GLOB '%s-%q*', + zType, zName); +if ( nTagId == 0 ){ + return 0; +} +blob_appendf(bSQL, AND objid IN (SELECT rid FROM tagxref WHERE tagid=%d), nTagId); + } + return 1; +} /* ** WEBPAGE: timeline.rss +** URL: /timeline.rss/y=TYPEn=LIMITtkt=UUIDtag=TAGname=FILENAMEwiki=NAME +** +** Produce an RSS feed of the timeline. +** +** TYPE may be: all, ci (show checkins only), t (show tickets only), +** w (show wiki only). LIMIT is the number of items to show. +** +** tkt=UUID filters for only those events for the specified ticket. tag=TAG +** filters for a tag, and name=FILENAME for a file. Some combinations may be +** used. */ + void page_timeline_rss(void){ Stmt q; int nLine=0; char *zPubDate, *zProjectName, *zProjectDescr, *zFreeProjectName=0; Blob bSQL; const char *zType = PD(y,all); /* Type of events. All if NULL */ + const char *zTicketUuid = PD(tkt,NULL); + const char *zTag = PD(tag,NULL); + const char *zFilename = PD(name,NULL); + const char *zWiki = PD(wiki,NULL); int nLimit = atoi(PD(n,20)); const char zSQL1[] = @ SELECT @ blob.rid, @ uuid, @@ -62,10 +90,11 @@ if( !g.perm.Read ){ if( g.perm.RdTkt g.perm.RdWiki ){ blob_append(bSQL, AND event.type!='ci', -1); }else if( g.perm.RdTkt ){ blob_append(bSQL, AND event.type=='t', -1); + }else{ blob_append(bSQL, AND event.type=='w', -1); } }else if( !g.perm.RdWiki ){ if( g.perm.RdTkt ){ @@ -76,10 +105,27 @@ }else if( !g.perm.RdTkt ){ assert( !g.perm.RdTkt g.perm.Read g.perm.RdWiki ); blob_append(bSQL, AND event.type!='t', -1); } } + + if( !append_tag_filter(bSQL, zTicketUuid, tkt) ){ +return; + } + if( !append_tag_filter(bSQL, zTag, sym) ){ +return; + } + if( !append_tag_filter(bSQL, zWiki, wiki) ){ +return; + } + + if ( zFilename ){ +blob_appendf(bSQL, + AND (SELECT mlink.fnid FROM mlink WHERE event.objid=mlink.mid) IN (SELECT fnid FROM filename WHERE name=%Q %s), +zFilename, filename_collation() +); + } blob_append( bSQL, ORDER BY event.mtime DESC, -1 ); cgi_set_content_type(application/rss+xml); signature.asc Description: OpenPGP digital signature ___ 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] translating fossil
On Wed, Feb 6, 2013 at 1:53 PM, john francis lee j...@robinlea.com wrote: I need to translate the fossil interface. I have cloned the repository and taken a quick look at the code structure. I didn't find any .pot or .po files. I suppose I can just start reading the code and proceeding on my own. Does anyone have any advice for me? Don't do it - it will lead only to pain and suffering! 99.9% of the text is hard coded in C. Translating it would require modifying a large number of files, replacing huge numbers of strings _and_ potentially breaking/debugging/rewriting lots of printf-style formatting. Fossil was not built with i18n in mind and the code is not at all structured in way which will support translation. -- - stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal ___ 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] RSS feeds
On Wed, Feb 6, 2013 at 2:32 PM, David Given d...@cowlark.com wrote: The reason it's not checked in is that there's an unfortunate consequence: specifying tag=trunk causes my fossil session to spin endlessly evaluated the query, presumably because the select from tagxref is returning a huge number of values. Any suggestions for optimisation? This seems to not _quite_ do it: http://localhost:8080/timeline?y=ttkt=cd201d69bb (run against the main fossil repo) i would expect only changes made to that ticket, but i am also seeing other ticket changes. http://localhost:8080/timeline?tag=trunk is working just fine (and fast) for me. -- - stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal ___ 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] translating fossil
On Wed, Feb 6, 2013 at 9:30 AM, Stephan Beal sgb...@googlemail.com wrote: On Wed, Feb 6, 2013 at 1:53 PM, john francis lee j...@robinlea.com wrote: I need to translate the fossil interface. I have cloned the repository and taken a quick look at the code structure. I didn't find any .pot or .po files. I suppose I can just start reading the code and proceeding on my own. Does anyone have any advice for me? Don't do it - it will lead only to pain and suffering! 99.9% of the text is hard coded in C. Translating it would require modifying a large number of files, replacing huge numbers of strings _and_ potentially breaking/debugging/rewriting lots of printf-style formatting. Fossil was not built with i18n in mind and the code is not at all structured in way which will support translation. I wonder if just key parts of Fossil could be translated? Certainly the administrative pages are huge piles of English-language text intermixed with C code, and it would be very difficult and disruptive to try and separate the two. But some things, like Menu options, might be amenable to translation, no? I agree with Stephen that a full translation of Fossil is not really practical as it is roughly equivalent to rewriting the whole program. But perhaps non-English speakers would appreciate at least seeing some key navigation cues translated into their native tongue. And perhaps such a half-translation could be accomplished without much disruption. Just wondering -- - stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users -- D. Richard Hipp d...@sqlite.org ___ 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] translating fossil
On Wed, Feb 6, 2013 at 3:45 PM, john francis lee j...@robinlea.com wrote: Well, I asked for it, didn't I? PS: the JSON API was developed with this more in mind, and uses result codes instead of natural language to convey information (insofar as possible/feasible). When building a custom HTML interface on top of the JSON API it is possible to write the UI in whatever natural language you like. There are some proof-of-concept demos here: http://fossil.wanderinghorse.net/repos/fwiki/editor/ The vast majority of the text which appears in those demos is in the HTML/JS code, and does not come directly from fossil. -- - stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal ___ 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] casE-senSitive?
Oh wow! Didn't realize there was no global case-insensitive setting for file contents? The problem arises from code edits without syntax highlighting. So 'PI2' might be 'pi2' and fossil traps this as a diff. Where do I edit globs for file contents? ...with that possibility in mind, e.g. *.[fF][oO][oO]. In the source code or admin - settings? Obviously, this should not apply to binary files. On Wed, Feb 6, 2013 at 4:16 AM, Stephan Beal sgb...@googlemail.com wrote: On Wed, Feb 6, 2013 at 7:50 AM, Themba Fletcher themba.fletc...@gmail.com wrote: It sounds like you're reporting that the file *contents* differ in case as opposed to the file names. If that's your report -- the case-sensitive flag only affects the file name comparisons: A related point: the various glob settings are not affected by this flag. To make them case-insensitive one must currently (and tediously) write the globs with that possibility in mind, e.g. *.[fF][oO][oO]. -- - stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ 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] casE-senSitive?
On Wed, Feb 6, 2013 at 4:20 PM, sky5w...@gmail.com wrote: Oh wow! Didn't realize there was no global case-insensitive setting for file contents? The problem arises from code edits without syntax highlighting. So 'PI2' might be 'pi2' and fossil traps this as a diff. There isn't one - that was a misunderstanding. Fossil doesn't do any special interpretation of content other than to complain/warn if a file contains Windows-style newlines. (The newer UTF-related code has a similar check for invalid UTF, i believe.) ...with that possibility in mind, e.g. *.[fF][oO][oO]. In the source code or admin - settings? Via fossil set ... (they can also be found in the UI somewhere), e.g. [stephan@host:~/cvs/fossil/fossil/]$ f set ... binary-glob ... case-sensitive crnl-glob(global) *.java,*.xml -- - stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal ___ 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] casE-senSitive?
Ok, Added a feature request after not finding similar request: http://www.fossil-scm.org/index.html/tktview/c6afac6dee54d6658e66ed7b7ad8d5b18bd899a1 Thanks for fossil! On Wed, Feb 6, 2013 at 10:30 AM, Stephan Beal sgb...@googlemail.com wrote: On Wed, Feb 6, 2013 at 4:20 PM, sky5w...@gmail.com wrote: Oh wow! Didn't realize there was no global case-insensitive setting for file contents? The problem arises from code edits without syntax highlighting. So 'PI2' might be 'pi2' and fossil traps this as a diff. There isn't one - that was a misunderstanding. Fossil doesn't do any special interpretation of content other than to complain/warn if a file contains Windows-style newlines. (The newer UTF-related code has a similar check for invalid UTF, i believe.) ...with that possibility in mind, e.g. *.[fF][oO][oO]. In the source code or admin - settings? Via fossil set ... (they can also be found in the UI somewhere), e.g. [stephan@host:~/cvs/fossil/fossil/]$ f set ... binary-glob ... case-sensitive crnl-glob(global) *.java,*.xml -- - stephan beal http://wanderinghorse.net/home/stephan/ http://gplus.to/sgbeal ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ 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] casE-senSitive?
On Wed, Feb 6, 2013 at 10:20 AM, sky5w...@gmail.com wrote: The problem arises from code edits without syntax highlighting. So 'PI2' might be 'pi2' and fossil traps this as a diff. Because it is a diff. 'p' and 'P' might mean the same thing in some contexts, but that does not mean they are themselves the same thing. There are in fact different. And changing one to the other is a change to the file. This shall always be the case with Fossil. -- D. Richard Hipp d...@sqlite.org ___ 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] casE-senSitive?
Well, I agree, but the diff tools I use always have an 'ignore case' option. Seems logical to me that would be an option in fossil also. Unless text vs binary file assignments are super difficult? While I prefer to seek the root of a problem, I cannot guarantee syntax highlighting of source code. I had ~50 diffs to review that involved d vs D and e vs E. :(( The danger is I get lazy and skip a real diff. On Wed, Feb 6, 2013 at 11:16 AM, Richard Hipp d...@sqlite.org wrote: On Wed, Feb 6, 2013 at 10:20 AM, sky5w...@gmail.com wrote: The problem arises from code edits without syntax highlighting. So 'PI2' might be 'pi2' and fossil traps this as a diff. Because it is a diff. 'p' and 'P' might mean the same thing in some contexts, but that does not mean they are themselves the same thing. There are in fact different. And changing one to the other is a change to the file. This shall always be the case with Fossil. -- D. Richard Hipp d...@sqlite.org ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ 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] RSS feeds
Stephan Beal wrote: [...] This seems to not _quite_ do it: http://localhost:8080/timeline?y=ttkt=cd201d69bb timeline.rss, surely? In fact, it hadn't occurred to me to look at the timeline code, which I have now done, and have fixed my performance issues by copying what it did. Checkin: http://fossil-scm.org/index.html/vinfo/d244452bda?sbs=1 I haven't figured out how to get the web interface to give me a diff of just one file against trunk, though. It's alsolive on https://cowlark.com/calculon if you want to play with it. -- ┌─── dg@cowlark.com ─ http://www.cowlark.com ─ │ │ 핻햍'햓햌햑햚햎 햒햌햑햜'햓햆햋햍 핮햙햍햚햑햍햚 핽'햑햞햊햍 햜햌햆햍'햓햆햌햑 햋햍햙햆햌햓. │ signature.asc Description: OpenPGP digital signature ___ 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] ssh transport and tcsh
On Wed, 06 Feb 2013 18:48:01 +0100, Matt Welland estifo...@gmail.com wrote: Using ssh for transport still doesn't work if a users login shell is tcsh. I'm looking for help on this problem as I've not yet found a solution. If anyone can confirm that the problem exists or if anyone has yes, I can confirm this (ssh transport not working with `tcsh'), both, under Ubuntu and MacOSX. matter of taste whether this is a `fossil' problem or a `tcsh' problem. I believe it has to do whith the fact that fossil actually is doing a remote login (not just executing a command via ssh as `svn' and `hg' are doing if I understand correctly). maybe with a little help from the developers the problem could be narrowed down somewhat and then brought to the attention of the tcsh maintainers? suggestions or insights as to what the problem might be it'd be much appreciated. To reproduce on Ubuntu just do the following: 1. Test ssh. The following command should complete without prompting for a password (you may get the authentication popup just once): ssh localhost ls 2. Test with bash (this assumes your default shell is /bin/bash which on 99% of sane Linux systems it is. This command would clone ~/foo.fossil to ~/new.fossil fossil set ssh-command 'ssh -e none' fossil clone ssh://$USER@localhost//home/$USER/foo.fossil?fossil=/home/$USER/bin/fossil new.fossil 3. Test with tcsh sudo apt-get install tcsh chsh -s /bin/tcsh # Repeat the clone above after removing new.fossil The clone in step three will succeed some of the time but fail most of the time (it hangs). Thanks in advance. -- Using Opera's revolutionary email client: http://www.opera.com/mail/ ___ 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] casE-senSitive?
Yes, I definitely have mixes of meaningful and non-meaningful [white space, case sensitive, empty lines] diffs to review. While I would love to 'one-tool it' with fossil's diff tech, I find it way easier to pop into winmerge and all its ignore goodies. Maybe I'm too optimistic to expect that much power in one tool? Thanks for Fossil! On Wed, Feb 6, 2013 at 12:50 PM, Themba Fletcher themba.fletc...@gmail.com wrote: So sounds like the problem you're trying to solve is that * you have lots of *real* changes to a set of files * most of those changes are meaningless in your environment * so you're trying to separate the signal from the noise. You can use fossil set diff-command 'diff -iw' to ignore case on the diffs. Then either walk through the diffs looking for meaningful ones to commit or look for bare filenames in fossil diff's output and revert them. This is tedious I know. In my case I had to handle lots and lots of whitespace changes mixed in with some meaningful (and potentially broken) actual changes. There are some big problems with this. You will probably get lost if you have lots of files, so I've tried in the past immediately committing the unknown state to a separate branch and then sorting it there. This was a bit tidier and I was better able to break the changes up in smaller pieces, but at the cost of lots of --from and --to in the diff commands. You will probably run into problems when there are both meaningful and meaningless changes in the same file. I certainly wouldn't try it without both branches checked out in side by side terminals, but if you're careful you can eventually end up with a meaningful diff when you merge back to trunk. Good luck, and don't forget to 'fossil unset diff-command' when you're done or I'm pretty sure you'll end up with an accidental mismatch between the commit and what you see in the diff at some point. On Wed, Feb 6, 2013 at 8:57 AM, sky5w...@gmail.com wrote: Well, I agree, but the diff tools I use always have an 'ignore case' option. Seems logical to me that would be an option in fossil also. Unless text vs binary file assignments are super difficult? While I prefer to seek the root of a problem, I cannot guarantee syntax highlighting of source code. I had ~50 diffs to review that involved d vs D and e vs E. :(( The danger is I get lazy and skip a real diff. On Wed, Feb 6, 2013 at 11:16 AM, Richard Hipp d...@sqlite.org wrote: On Wed, Feb 6, 2013 at 10:20 AM, sky5w...@gmail.com wrote: The problem arises from code edits without syntax highlighting. So 'PI2' might be 'pi2' and fossil traps this as a diff. Because it is a diff. 'p' and 'P' might mean the same thing in some contexts, but that does not mean they are themselves the same thing. There are in fact different. And changing one to the other is a change to the file. This shall always be the case with Fossil. -- D. Richard Hipp d...@sqlite.org ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ 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] casE-senSitive?
What about setting up diff-command to suit, then exporting the diff to a patch file, fossil revert and then apply the patch? On Wed, Feb 6, 2013 at 10:25 AM, sky5w...@gmail.com wrote: Yes, I definitely have mixes of meaningful and non-meaningful [white space, case sensitive, empty lines] diffs to review. While I would love to 'one-tool it' with fossil's diff tech, I find it way easier to pop into winmerge and all its ignore goodies. Maybe I'm too optimistic to expect that much power in one tool? Thanks for Fossil! On Wed, Feb 6, 2013 at 12:50 PM, Themba Fletcher themba.fletc...@gmail.com wrote: So sounds like the problem you're trying to solve is that * you have lots of *real* changes to a set of files * most of those changes are meaningless in your environment * so you're trying to separate the signal from the noise. You can use fossil set diff-command 'diff -iw' to ignore case on the diffs. Then either walk through the diffs looking for meaningful ones to commit or look for bare filenames in fossil diff's output and revert them. This is tedious I know. In my case I had to handle lots and lots of whitespace changes mixed in with some meaningful (and potentially broken) actual changes. There are some big problems with this. You will probably get lost if you have lots of files, so I've tried in the past immediately committing the unknown state to a separate branch and then sorting it there. This was a bit tidier and I was better able to break the changes up in smaller pieces, but at the cost of lots of --from and --to in the diff commands. You will probably run into problems when there are both meaningful and meaningless changes in the same file. I certainly wouldn't try it without both branches checked out in side by side terminals, but if you're careful you can eventually end up with a meaningful diff when you merge back to trunk. Good luck, and don't forget to 'fossil unset diff-command' when you're done or I'm pretty sure you'll end up with an accidental mismatch between the commit and what you see in the diff at some point. On Wed, Feb 6, 2013 at 8:57 AM, sky5w...@gmail.com wrote: Well, I agree, but the diff tools I use always have an 'ignore case' option. Seems logical to me that would be an option in fossil also. Unless text vs binary file assignments are super difficult? While I prefer to seek the root of a problem, I cannot guarantee syntax highlighting of source code. I had ~50 diffs to review that involved d vs D and e vs E. :(( The danger is I get lazy and skip a real diff. On Wed, Feb 6, 2013 at 11:16 AM, Richard Hipp d...@sqlite.org wrote: On Wed, Feb 6, 2013 at 10:20 AM, sky5w...@gmail.com wrote: The problem arises from code edits without syntax highlighting. So 'PI2' might be 'pi2' and fossil traps this as a diff. Because it is a diff. 'p' and 'P' might mean the same thing in some contexts, but that does not mean they are themselves the same thing. There are in fact different. And changing one to the other is a change to the file. This shall always be the case with Fossil. -- D. Richard Hipp d...@sqlite.org ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ 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] casE-senSitive?
Well, it is easier than that since I review the diffs in winmerge and 90% of the time I can ignore all diffs and commit. And what does trickle through sticks out quite nicely. Being a small development team, I only use a few fossil cmds and in a tight flow. fcom=fossil commit --user me fpull=fossil pull t:\fossil\myrepo.fossil --user me fm=fossil merge $1 fcom=fossil commit --user me fpush=fossil push t:\fossil\myrepo.fossil --user me fui=fossil ui Really hesitant to invest in a {diff export patch revert} scheme. On Wed, Feb 6, 2013 at 1:28 PM, Themba Fletcher themba.fletc...@gmail.com wrote: What about setting up diff-command to suit, then exporting the diff to a patch file, fossil revert and then apply the patch? On Wed, Feb 6, 2013 at 10:25 AM, sky5w...@gmail.com wrote: Yes, I definitely have mixes of meaningful and non-meaningful [white space, case sensitive, empty lines] diffs to review. While I would love to 'one-tool it' with fossil's diff tech, I find it way easier to pop into winmerge and all its ignore goodies. Maybe I'm too optimistic to expect that much power in one tool? Thanks for Fossil! On Wed, Feb 6, 2013 at 12:50 PM, Themba Fletcher themba.fletc...@gmail.com wrote: So sounds like the problem you're trying to solve is that * you have lots of *real* changes to a set of files * most of those changes are meaningless in your environment * so you're trying to separate the signal from the noise. You can use fossil set diff-command 'diff -iw' to ignore case on the diffs. Then either walk through the diffs looking for meaningful ones to commit or look for bare filenames in fossil diff's output and revert them. This is tedious I know. In my case I had to handle lots and lots of whitespace changes mixed in with some meaningful (and potentially broken) actual changes. There are some big problems with this. You will probably get lost if you have lots of files, so I've tried in the past immediately committing the unknown state to a separate branch and then sorting it there. This was a bit tidier and I was better able to break the changes up in smaller pieces, but at the cost of lots of --from and --to in the diff commands. You will probably run into problems when there are both meaningful and meaningless changes in the same file. I certainly wouldn't try it without both branches checked out in side by side terminals, but if you're careful you can eventually end up with a meaningful diff when you merge back to trunk. Good luck, and don't forget to 'fossil unset diff-command' when you're done or I'm pretty sure you'll end up with an accidental mismatch between the commit and what you see in the diff at some point. On Wed, Feb 6, 2013 at 8:57 AM, sky5w...@gmail.com wrote: Well, I agree, but the diff tools I use always have an 'ignore case' option. Seems logical to me that would be an option in fossil also. Unless text vs binary file assignments are super difficult? While I prefer to seek the root of a problem, I cannot guarantee syntax highlighting of source code. I had ~50 diffs to review that involved d vs D and e vs E. :(( The danger is I get lazy and skip a real diff. On Wed, Feb 6, 2013 at 11:16 AM, Richard Hipp d...@sqlite.org wrote: On Wed, Feb 6, 2013 at 10:20 AM, sky5w...@gmail.com wrote: The problem arises from code edits without syntax highlighting. So 'PI2' might be 'pi2' and fossil traps this as a diff. Because it is a diff. 'p' and 'P' might mean the same thing in some contexts, but that does not mean they are themselves the same thing. There are in fact different. And changing one to the other is a change to the file. This shall always be the case with Fossil. -- D. Richard Hipp d...@sqlite.org ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ 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] TortoiseFossil to BSD license
Am Donnerstag, 31. Januar 2013, 13:28:50 schrieb Edward Blake: Hello all, I was wondering how important it would be to have TortoiseFossil BSD-licensed? Right now I stuck a GPL license as a path of least resistance simply because all the other Tortoise are GPL. I've noticed since that Veracity's is Apache licensed so I figure why not make this permissively licensed as well. Currently I can go either way, I believe, since it is so far written from scratch, but BSD and permissive licenses looks to be the preferred license in the Fossil community. There are parts of TortoiseFossil that are currently taken from the TortoiseSVN project which are: TortoiseOverlays which its license allows permissively with acknowledgement, that I can do for this. The menu icons (the ones in the popup menu, etc) seems to not allow for this as they're dual licensed GPL and the TortoiseSVN Icon License. http://code.google.com/p/tortoisesvn/source/browse/trunk/src/Resources/lice nse.txt?spec=svn23734r=22442 My reading of the icon license is that only subversion clients can use the icons unless they are GPL so its pretty likely I'll need to look around for separate icons. And then there is the Charlie turtle which I'll have to find out more about. Thanks, Edward Blake ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users Hello Edward, can you send me precompiled tortoise-fossil? Regards Rüdiger ___ 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] ssh transport and tcsh
Hmmm... your point about the remote login is curious. I assumed that fossil was doing something like this (I'm using faux code here): inport, outport = popen2(ssh, -e, none, user@host, fossil, ... ) but it sounds like what is actually being done is (I have not grokked the code well enough to confirm yet) the following: inport, outport = popen2(ssh, -e, none, user@host, /bin/sh) ... print outport fossil ... params and the hypothesis is that svn and hg use the first approach which bypasses whatever the issue is with tcsh? Aside, I read the man page but don't understand why /bin/sh is in the call to execl twice. The second call seems to be running zCmd as a comand. Is this to deal with shell escaping hell? execl(/bin/sh, /bin/sh, -c, zCmd, (char*)0); On Wed, Feb 6, 2013 at 10:56 AM, j. van den hoff veedeeh...@googlemail.comwrote: On Wed, 06 Feb 2013 18:48:01 +0100, Matt Welland estifo...@gmail.com wrote: Using ssh for transport still doesn't work if a users login shell is tcsh. I'm looking for help on this problem as I've not yet found a solution. If anyone can confirm that the problem exists or if anyone has yes, I can confirm this (ssh transport not working with `tcsh'), both, under Ubuntu and MacOSX. matter of taste whether this is a `fossil' problem or a `tcsh' problem. I believe it has to do whith the fact that fossil actually is doing a remote login (not just executing a command via ssh as `svn' and `hg' are doing if I understand correctly). maybe with a little help from the developers the problem could be narrowed down somewhat and then brought to the attention of the tcsh maintainers? suggestions or insights as to what the problem might be it'd be much appreciated. To reproduce on Ubuntu just do the following: 1. Test ssh. The following command should complete without prompting for a password (you may get the authentication popup just once): ssh localhost ls 2. Test with bash (this assumes your default shell is /bin/bash which on 99% of sane Linux systems it is. This command would clone ~/foo.fossil to ~/new.fossil fossil set ssh-command 'ssh -e none' fossil clone ssh://$USER@localhost//home/$** USER/foo.fossil?fossil=/home/$**USER/bin/fossil new.fossil 3. Test with tcsh sudo apt-get install tcsh chsh -s /bin/tcsh # Repeat the clone above after removing new.fossil The clone in step three will succeed some of the time but fail most of the time (it hangs). Thanks in advance. -- Using Opera's revolutionary email client: http://www.opera.com/mail/ __**_ fossil-users mailing list fossil-users@lists.fossil-scm.**org fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:**8080/cgi-bin/mailman/listinfo/**fossil-usershttp://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ 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] ssh transport and tcsh
On Wed, Feb 6, 2013 at 2:18 PM, Matt Welland estifo...@gmail.com wrote: Hmmm... your point about the remote login is curious. I assumed that fossil was doing something like this (I'm using faux code here): inport, outport = popen2(ssh, -e, none, user@host, fossil, ... ) but it sounds like what is actually being done is (I have not grokked the code well enough to confirm yet) the following: inport, outport = popen2(ssh, -e, none, user@host, /bin/sh) ... print outport fossil ... params Fossil needs to run multiple commands. /bin/sh is convenient to do this. If that is a really serious problem for the occasional csh system, then we could, in theory, create a new fossil command to take care of that for us: fossil test-sh. Then run: popen2(ssh, -e, none, user@host, fossil, test-sh); It seems silly to have to duplicate the functionality of /bin/sh inside of Fossil though, doesn't it? and the hypothesis is that svn and hg use the first approach which bypasses whatever the issue is with tcsh? Aside, I read the man page but don't understand why /bin/sh is in the call to execl twice. The second call seems to be running zCmd as a comand. Is this to deal with shell escaping hell? execl(/bin/sh, /bin/sh, -c, zCmd, (char*)0); That's the way execl() works. First argument is the filename of the new image. Second argument is argv[0]. Third argument is argv[1]. And so forth. There is no good reason to have argv[0] different from the filename of the new image - I think that capability is legacy. -- D. Richard Hipp d...@sqlite.org ___ 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] RSS feeds
Op 6-2-2013 19:53, Stephan Beal schreef: Normally i love Google Chrome but right now it tells me oops, there is no service available for this file type and refuses to do anything useful with the RSS feed. Aarrgghh. i don't have another browser on this machine and am too tired to fight with it. i'll check it out tomorrow from my dev machine. You can install the RSS Subscription Extension (by Google) https://chrome.google.com/webstore/detail/rss-subscription-extensio/nlbjncdgjeocebhnmkbbbdekmmmcbfjd (or at http://goo.gl/XeLSB for short) -- Martijn Coppoolse ___ 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] RSS feeds
Op 6-2-2013 18:46, David Given schreef: Checkin: http://fossil-scm.org/index.html/vinfo/d244452bda?sbs=1 I haven't figured out how to get the web interface to give me a diff of just one file against trunk, though. If you go to the file's timeline at http://fossil-scm.org/index.html/finfo?name=src/rss.c then, click the timeline box next to the last 'trunk' version of the file, and finally click on the timeline box next to your most recent version, you will be redirected to the following diff: http://fossil-scm.org/index.html/fdiff?v1=db44782246b1cv2=01e85ec41a53a Is that what you were looking for? It's also live on https://cowlark.com/calculon if you want to play with it. Looking good! Thanks a lot, David! -- Martijn Coppoolse ___ 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] ssh transport and tcsh
On Wed, Feb 6, 2013 at 12:27 PM, Richard Hipp d...@sqlite.org wrote: On Wed, Feb 6, 2013 at 2:18 PM, Matt Welland estifo...@gmail.com wrote: Hmmm... your point about the remote login is curious. I assumed that fossil was doing something like this (I'm using faux code here): inport, outport = popen2(ssh, -e, none, user@host, fossil, ... ) but it sounds like what is actually being done is (I have not grokked the code well enough to confirm yet) the following: inport, outport = popen2(ssh, -e, none, user@host, /bin/sh) ... print outport fossil ... params Fossil needs to run multiple commands. /bin/sh is convenient to do this. If that is a really serious problem for the occasional csh system, then we could, in theory, create a new fossil command to take care of that for us: fossil test-sh. Then run: popen2(ssh, -e, none, user@host, fossil, test-sh); It seems silly to have to duplicate the functionality of /bin/sh inside of Fossil though, doesn't it? Agreed! Also, this may or may not even fix the problem. Now that you describe this I realize I was assuming the problem was on the remote side. If it was the remote side then the popen call will have nothing to do with it since the /bin/sh is happening on the local side. The layers should be Local side: /bin/sh - ssh Remote side: /bin/tcsh - fossil I'd like to trick fossil into running exec fossil on the remote. It is just wild speculation but stdin/out is going though the tcsh instance on the remote and perhaps execing fossil will bypass the problem? I tried: blob_zero(cmd); blob_append(cmd, exec , -1); shell_escape(cmd, g.urlFossil); but get: ssh -t -e none localhost Pseudo-terminal will not be allocated because stdin is not a terminal. Use of this system by unauthorized persons or in an unauthorized manner is strictly prohibited Authentication successful. stty: standard input: Invalid argument Broken pipe: 2 Artifacts sent: 0 received: 130 At least it doesn't hang :) . Any suggestions? and the hypothesis is that svn and hg use the first approach which bypasses whatever the issue is with tcsh? Aside, I read the man page but don't understand why /bin/sh is in the call to execl twice. The second call seems to be running zCmd as a comand. Is this to deal with shell escaping hell? execl(/bin/sh, /bin/sh, -c, zCmd, (char*)0); That's the way execl() works. First argument is the filename of the new image. Second argument is argv[0]. Third argument is argv[1]. And so forth. There is no good reason to have argv[0] different from the filename of the new image - I think that capability is legacy. Ah, now it makes sense. Thanks. It never occurred to me that argv[0] might not actually be directly derived from the filename being executed. -- D. Richard Hipp d...@sqlite.org ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ 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] ssh transport and tcsh
On Wed, Feb 6, 2013 at 3:39 PM, Matt Welland estifo...@gmail.com wrote: On Wed, Feb 6, 2013 at 12:27 PM, Richard Hipp d...@sqlite.org wrote: On Wed, Feb 6, 2013 at 2:18 PM, Matt Welland estifo...@gmail.com wrote: Hmmm... your point about the remote login is curious. I assumed that fossil was doing something like this (I'm using faux code here): inport, outport = popen2(ssh, -e, none, user@host, fossil, ... ) but it sounds like what is actually being done is (I have not grokked the code well enough to confirm yet) the following: inport, outport = popen2(ssh, -e, none, user@host, /bin/sh) ... print outport fossil ... params Fossil needs to run multiple commands. /bin/sh is convenient to do this. If that is a really serious problem for the occasional csh system, then we could, in theory, create a new fossil command to take care of that for us: fossil test-sh. Then run: popen2(ssh, -e, none, user@host, fossil, test-sh); It seems silly to have to duplicate the functionality of /bin/sh inside of Fossil though, doesn't it? Agreed! Also, this may or may not even fix the problem. Now that you describe this I realize I was assuming the problem was on the remote side. If it was the remote side then the popen call will have nothing to do with it since the /bin/sh is happening on the local side. The layers should be Local side: /bin/sh - ssh Remote side: /bin/tcsh - fossil The command: ssh -e none user@host /bin/sh should cause /bin/sh to be run on the remote side, without a pseudo-tty. So, I'm not sure where tcsh even comes into play here. Maybe if you try changing the initialization command to: ssh -e none user@host exec /bin/sh Does that make a difference? -- D. Richard Hipp d...@sqlite.org ___ 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] ssh transport and tcsh
On Wed, Feb 6, 2013 at 2:27 PM, Richard Hipp d...@sqlite.org wrote: On Wed, Feb 6, 2013 at 2:18 PM, Matt Welland estifo...@gmail.com wrote: Hmmm... your point about the remote login is curious. I assumed that fossil was doing something like this (I'm using faux code here): inport, outport = popen2(ssh, -e, none, user@host, fossil, ... ) but it sounds like what is actually being done is (I have not grokked the code well enough to confirm yet) the following: inport, outport = popen2(ssh, -e, none, user@host, /bin/sh) ... print outport fossil ... params Fossil needs to run multiple commands. /bin/sh is convenient to do this. If that is a really serious problem for the occasional csh system, then we could, in theory, create a new fossil command to take care of that for us: fossil test-sh. Then run: popen2(ssh, -e, none, user@host, fossil, test-sh); It seems silly to have to duplicate the functionality of /bin/sh inside of Fossil though, doesn't it? I agree that it's look silly, but doing so would connect directly stdout/stdin of local fossil to stdin/stdout of remote fossil avoiding any interference caused by the shell or any login text. When ssh directly call fossil test-sh on the remote side, *only* output of this command will come from the stdout. When /bin/sh or no command is used, there's no guaranties that no extra output from shell, motd, etc.. will not appear. snip -- Martin G. ___ 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] ssh transport and tcsh
On Wed, Feb 6, 2013 at 3:12 PM, Matt Welland estifo...@gmail.com wrote: On Wed, Feb 6, 2013 at 1:52 PM, Richard Hipp d...@sqlite.org wrote: On Wed, Feb 6, 2013 at 3:39 PM, Matt Welland estifo...@gmail.com wrote: On Wed, Feb 6, 2013 at 12:27 PM, Richard Hipp d...@sqlite.org wrote: On Wed, Feb 6, 2013 at 2:18 PM, Matt Welland estifo...@gmail.comwrote: Hmmm... your point about the remote login is curious. I assumed that fossil was doing something like this (I'm using faux code here): inport, outport = popen2(ssh, -e, none, user@host, fossil, ... ) but it sounds like what is actually being done is (I have not grokked the code well enough to confirm yet) the following: inport, outport = popen2(ssh, -e, none, user@host, /bin/sh) ... print outport fossil ... params Fossil needs to run multiple commands. /bin/sh is convenient to do this. If that is a really serious problem for the occasional csh system, then we could, in theory, create a new fossil command to take care of that for us: fossil test-sh. Then run: popen2(ssh, -e, none, user@host, fossil, test-sh); It seems silly to have to duplicate the functionality of /bin/sh inside of Fossil though, doesn't it? Agreed! Also, this may or may not even fix the problem. Now that you describe this I realize I was assuming the problem was on the remote side. If it was the remote side then the popen call will have nothing to do with it since the /bin/sh is happening on the local side. The layers should be Local side: /bin/sh - ssh Remote side: /bin/tcsh - fossil The command: ssh -e none user@host /bin/sh should cause /bin/sh to be run on the remote side, without a pseudo-tty. So, I'm not sure where tcsh even comes into play here. Maybe if you try changing the initialization command to: ssh -e none user@host exec /bin/sh Does that make a difference? Yes. The following patch appears to fix the problem: The patch with junk eliminated, it is just one line change: Index: src/http_transport.c == --- src/http_transport.c +++ src/http_transport.c @@ -222,10 +222,11 @@ zHost = mprintf(%s, g.urlName); } blob_append(zCmd, , 1); shell_escape(zCmd, zHost); fossil_print( %s\n, zHost); /* Show the conclusion of the SSH command */ +blob_append(zCmd, exec /bin/sh, -1); free(zHost); popen2(blob_str(zCmd), sshIn, sshOut, sshPid); if( sshPid==0 ){ fossil_fatal(cannot start ssh tunnel using [%b], zCmd); } -- D. Richard Hipp d...@sqlite.org ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ 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] ssh transport and tcsh
On Wed, Feb 6, 2013 at 5:07 PM, Martin Gagnon eme...@gmail.com wrote: On Wed, Feb 6, 2013 at 2:27 PM, Richard Hipp d...@sqlite.org wrote: On Wed, Feb 6, 2013 at 2:18 PM, Matt Welland estifo...@gmail.com wrote: Hmmm... your point about the remote login is curious. I assumed that fossil was doing something like this (I'm using faux code here): inport, outport = popen2(ssh, -e, none, user@host, fossil, ... ) but it sounds like what is actually being done is (I have not grokked the code well enough to confirm yet) the following: inport, outport = popen2(ssh, -e, none, user@host, /bin/sh) ... print outport fossil ... params Fossil needs to run multiple commands. /bin/sh is convenient to do this. If that is a really serious problem for the occasional csh system, then we could, in theory, create a new fossil command to take care of that for us: fossil test-sh. Then run: popen2(ssh, -e, none, user@host, fossil, test-sh); It seems silly to have to duplicate the functionality of /bin/sh inside of Fossil though, doesn't it? I agree that it's look silly, but doing so would connect directly stdout/stdin of local fossil to stdin/stdout of remote fossil avoiding any interference caused by the shell or any login text. When ssh directly call fossil test-sh on the remote side, *only* output of this command will come from the stdout. When /bin/sh or no command is used, there's no guaranties that no extra output from shell, motd, etc.. will not appear. snip With some experimentation, it seems that on my Linux Debian computer, this is not true, If I put a echo on top of my bashrc file, don't matter if I specify a command or not, I will see the echo. But on my OpenBSD box, I will see it only if I *don't* specify a command. -- Martin G. ___ 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] ssh transport and tcsh
On Wed, Feb 6, 2013 at 5:45 PM, Martin Gagnon eme...@gmail.com wrote: With some experimentation, it seems that on my Linux Debian computer, this is not true, If I put a echo on top of my bashrc file, don't matter if I specify a command or not, I will see the echo. But on my OpenBSD box, I will see it only if I *don't* specify a command. On *my* Debian box, it works if I append /bin/bash, but fails if I append /bin/sh or /bin/tcsh. On my debian box, /bin/sh is a symlink to /bin/dash (which I have never heard of before). I have not yet figured out what is different in /bin/bash versus the others that is making the difference. -- D. Richard Hipp d...@sqlite.org ___ 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] ssh transport and tcsh
I got some help from a co-worker to test this fix. He ran 1000's of clones with bash as a login shell and with tcsh as a login shell with zero problems. Can a couple other folks test it and can it then get into the official release (assuming no problems found)? It would be a real boon for me and some of my co-workers to have this working :) Cheers, Matt The patch with junk eliminated, it is just one line change: Index: src/http_transport.c == --- src/http_transport.c +++ src/http_transport.c @@ -222,10 +222,11 @@ zHost = mprintf(%s, g.urlName); } blob_append(zCmd, , 1); shell_escape(zCmd, zHost); fossil_print( %s\n, zHost); /* Show the conclusion of the SSH command */ +blob_append(zCmd, exec /bin/sh, -1); free(zHost); popen2(blob_str(zCmd), sshIn, sshOut, sshPid); if( sshPid==0 ){ fossil_fatal(cannot start ssh tunnel using [%b], zCmd); } -- D. Richard Hipp d...@sqlite.org ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ 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] ssh transport and tcsh
On Wed, Feb 6, 2013 at 6:22 PM, Matt Welland estifo...@gmail.com wrote: I got some help from a co-worker to test this fix. He ran 1000's of clones with bash as a login shell and with tcsh as a login shell with zero problems. Can a couple other folks test it and can it then get into the official release (assuming no problems found)? It would be a real boon for me and some of my co-workers to have this working :) I want to understand the problem before I put in the fix. To try to help better understand what is happening, I have added a new query parameter to the ssh: url scheme. You can now say: fossil clone ssh://user@host/path/to/repo?shell=/bin/bash new.fossil and that will cause Fossil to add the /bin/bash argument to the end of the ssh command. Please note that you can also do --sshtrace to get some interactive information on what the ssh command is doing. On my debian system, the clone hangs with shell=/bin/tcsh and with shell=/bin/sh but works with shell=/bin/bash. Except if I also add the --httptrace argument, then all three work. The --httptrace argument disables compression of the content moving over the wire. So perhaps the problem is that with compression turned on you occasionally get binary 0x00 bytes moving over the wire, which confuses /bin/tcsh and /bin/dash but not /bin/bash. Just a guess. Note that you have long had a query parameter fossil=/path/to/fossil/on/remote/system with the ssh: scheme that lets you specify a particular version of fossil to run on the remote system. At least on my machine, my fossil binaries is not on the path set up by .cshrc, so I also have to manually specify the location of the fossil binary if I change from using /bin/bash. Cheers, Matt The patch with junk eliminated, it is just one line change: Index: src/http_transport.c == --- src/http_transport.c +++ src/http_transport.c @@ -222,10 +222,11 @@ zHost = mprintf(%s, g.urlName); } blob_append(zCmd, , 1); shell_escape(zCmd, zHost); fossil_print( %s\n, zHost); /* Show the conclusion of the SSH command */ +blob_append(zCmd, exec /bin/sh, -1); free(zHost); popen2(blob_str(zCmd), sshIn, sshOut, sshPid); if( sshPid==0 ){ fossil_fatal(cannot start ssh tunnel using [%b], zCmd); } -- D. Richard Hipp d...@sqlite.org ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users -- D. Richard Hipp d...@sqlite.org ___ 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] ssh transport and tcsh
On Wed, Feb 6, 2013 at 5:31 PM, Richard Hipp d...@sqlite.org wrote: On Wed, Feb 6, 2013 at 6:22 PM, Matt Welland estifo...@gmail.com wrote: I got some help from a co-worker to test this fix. He ran 1000's of clones with bash as a login shell and with tcsh as a login shell with zero problems. Can a couple other folks test it and can it then get into the official release (assuming no problems found)? It would be a real boon for me and some of my co-workers to have this working :) I want to understand the problem before I put in the fix. To try to help better understand what is happening, I have added a new query parameter to the ssh: url scheme. You can now say: fossil clone ssh://user@host/path/to/repo?shell=/bin/bash new.fossil and that will cause Fossil to add the /bin/bash argument to the end of the ssh command. Please note that you can also do --sshtrace to get some interactive information on what the ssh command is doing. This idea seems good to me. I'll test it tomorrow. Thanks! On my debian system, the clone hangs with shell=/bin/tcsh and with shell=/bin/sh but works with shell=/bin/bash. Except if I also add the --httptrace argument, then all three work. The --httptrace argument disables compression of the content moving over the wire. So perhaps the problem is that with compression turned on you occasionally get binary 0x00 bytes moving over the wire, which confuses /bin/tcsh and /bin/dash but not /bin/bash. Just a guess. I did try stty raw thinking it might be xon/xoff or other handshaking but got errors with the command. Note that you have long had a query parameter fossil=/path/to/fossil/on/remote/system with the ssh: scheme that lets you specify a particular version of fossil to run on the remote system. At least on my machine, my fossil binaries is not on the path set up by .cshrc, so I also have to manually specify the location of the fossil binary if I change from using /bin/bash. Yep, I used the ?fossil= to do my testing. This approach with the query parameters is very useful. Cheers, Matt The patch with junk eliminated, it is just one line change: Index: src/http_transport.c == --- src/http_transport.c +++ src/http_transport.c @@ -222,10 +222,11 @@ zHost = mprintf(%s, g.urlName); } blob_append(zCmd, , 1); shell_escape(zCmd, zHost); fossil_print( %s\n, zHost); /* Show the conclusion of the SSH command */ +blob_append(zCmd, exec /bin/sh, -1); free(zHost); popen2(blob_str(zCmd), sshIn, sshOut, sshPid); if( sshPid==0 ){ fossil_fatal(cannot start ssh tunnel using [%b], zCmd); } -- D. Richard Hipp d...@sqlite.org ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users -- D. Richard Hipp d...@sqlite.org ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users ___ 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] translating fossil
I try some little translation user's web ui to Russian for my web-site. Its really hard and dirty work :( Some text I can translate by modifying header and footer, but other ui was rewriting in sources by many #ifdef LANG_RU ... #elif LANG_EN ... #endif and add -DLANG_RU in Makefile Many problems with merge my changes and main trunk. And translated not all UI, only basically user's pages. My repo live on http://snegopat.ru/fossil/ branch orefkovs-change WBR, Alexander Orefkov. ___ 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] translating fossil
Imho, need more develop json interface to enable construction of a quick and flexible UI ___ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users