Re: [fossil-users] FYI: doc URLs don't work with filenames that have + in their names

2014-05-28 Thread Warren Young
On May 27, 2014, at 7:55 PM, Joel Bruick j...@joelface.com wrote:

 Richard Hipp wrote:
 I think that's an HTTP thing.  In a URL, spaces are encoded as +.  
 
 It's really an HTML form thing [1] that only applies to the query portion of 
 the URL. In the path component, we technically should be percent-encoding 
 spaces and leaving any instances of + alone, which would then allow you to 
 reference such files normally.
 
 That's a much more involved fix that offers very little value, though. Just 
 file this under the more you know.”

Actually, I just came up with a use case where you want Fossil to handle + 
without URL-decoding it.

If you have foo.md containing with something like this:

   ...but for more on that, see [the VC++ README](README-VC++.md).

and you link to it with a doc URL, you want the generated HTML to link to 
README-VC++.md, not to “README-VC  .md”.

You can make it create the right link by replacing the + signs with %2b, but 
that makes foo.md harder to read in a text editor.  One reason to use doc URLs 
in the first place is that you want to refer to documentation files you will 
ship as part of your distributed source code, so you don’t have to have their 
content in two places.
___
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] FYI: doc URLs don't work with filenames that have + in their names

2014-05-28 Thread Francis Daly
On Tue, May 27, 2014 at 03:46:30PM -0400, Richard Hipp wrote:
 On Tue, May 27, 2014 at 3:43 PM, Warren Young war...@etr-usa.com wrote:

Hi there,

  I had a file called README-Visual-C++.txt in one of my repositories and
  wanted to link to the tip version of it from an outside web page.  I
  discovered the doc URL feature in Fossil, but it didn't work with that
  file.  Apparently there's some kind of data sanitization going on here that
  turns the +'s into spaces.

 I think that's an HTTP thing.  In a URL, spaces are encoded as +.  So
 fossil is doing the right thing in converting + characters in the URL
 into spaces.

Strictly, space is only encoded as + in the QUERY_STRING part of a URL.

So fossil is incorrect to convert + to space if it is before the first
? in the URL.

It's an edge case, but it turns out that someone has hit it.

 If the filename really does contain + symbols, then the URL should have
 %2b for each plus.  ex:
 http://localhost/doc/trunk/README-Visual-C%2b%2b.txt

That's a valid encoding, but not a required one (outside of fossil).

You could also validly encode the C as %43 and the . as %2e or %2E,
and everything should continue to work. (But that usually isn't done.)

The no-code-change answer is just to document that fossil requires that +
be encoded as %2b everywhere in a URL, but that's probably not a great
long-term option.

f
-- 
Francis Dalyfran...@daoine.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] FYI: doc URLs don't work with filenames that have + in their names

2014-05-28 Thread Francis Daly
On Wed, May 28, 2014 at 01:08:26AM +, Joe Prostko wrote:
 On Tue, May 27, 2014 at 11:31 PM, Warren Young war...@etr-usa.com wrote:

Hi there,

  1. You don't need to do regex matching on the URL here.  This does the same
  thing more efficiently and more clearly:
 
  location /demo_project/ {

 I always write this as:
 
 location ~ ^/demo_project {
 
 myself.  That way, it's a case-sensitive search where I don't have to
 worry about the trailing slash, and it stops searching once it finds
 /demo_project.  I could be mistaken though, but I thought the way you
 suggested wouldn't be as flexible.

This is nginx-config information now, and useful if someone wants to
use nginx as a reverse proxy for fossil. That's the (tenuous) link for
me putting it on this list...

The location lines above -- and the ones in the fossil documentation --
are all mostly equivalent if they are the only location blocks in the
config. (mostly would be exactly if they all ended with or without
the slash.)

Where they differ is if there is another location line, such as
location ~ php. In that case, if you request /demo_project/dir/file.php,
which location is used will depend on other things.

The proper nginx way would be to write it as two separate locations:

  location = /demo_project {return 301 /demo_project/;}

  location ^~ /demo_project/ { # all the rest }

although there is magic within nginx to make the first location
unnecessary in this case.

So: leave the fossil documentation as-is and expect that anyone actually
using nginx will have read the nginx documentation to properly integrate
the working example into their config if they are doing something more
complicated; or change the fossil documentation to include the ^~
and make it look less obvious to anyone not using nginx.

Either works; what is there currently is not incorrect.

f
-- 
Francis Dalyfran...@daoine.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] FYI: doc URLs don't work with filenames that have + in their names

2014-05-28 Thread Francis Daly
On Tue, May 27, 2014 at 02:19:09PM -0600, Andy Bradford wrote:
 Thus said Richard Hipp on Tue, 27 May 2014 15:46:30 -0400:

Hi there,

 Perhaps this should really be something like the following?
 
 th1
   html base href='$baseurl/[httpize $current_page]' /
 /th1
 
 This results in the following output:
 
 $ printf 'GET /doc/tip/file%%2b%%2b.wiki HTTP/1.1\r\nHost: 
 localhost:8080\r\n\r\n' | nc localhost 8080 | grep base
 base href='http://localhost:8080/doc%2Ftip%2Ffile%2B%2B.wiki' /

The slash to %2F encoding there is wrong, unfortunately.

If file.wiki is served as html and includes a relative link -- such
as in img src=a.png, then that base href should have the browser
requesting http://localhost:8080/a.png instead of the (probably intended)
http://localhost:8080/doc/tip/a.png.

HTML can be fiddly, even if you pretend that all browsers handle things
correctly :-(

f
-- 
Francis Dalyfran...@daoine.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] '-R' not mentioned in 'help timeline'

2014-05-28 Thread Michai Ramakers
Hello,

in fossil version 1.29 [87130593e4], '-R' switch is not mentioned in
'fossil help timeline' (but works fine).

If any more of this kind of issues come up, where shall I report them?
(I guess right here on the list.)

Michai
___
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] '-R' not mentioned in 'help timeline'

2014-05-28 Thread Stephan Beal
On Wed, May 28, 2014 at 5:37 PM, Michai Ramakers m.ramak...@gmail.comwrote:

 in fossil version 1.29 [87130593e4], '-R' switch is not mentioned in
 'fossil help timeline' (but works fine).


IIRC only a relative minority of commands don't support -R. As a rule of
thumb, anything which can work without a checkout supports (or should
support) -R. i'll get it added to the timeline docs in a moment if someone
hasn't beaten me to it already.


 If any more of this kind of issues come up, where shall I report them?
 (I guess right here on the list.)


Right - the list is the best first stop.

-- 
- stephan beal
http://wanderinghorse.net/home/stephan/
http://gplus.to/sgbeal
Freedom is sloppy. But since tyranny's the only guaranteed byproduct of
those who insist on a perfect world, freedom will have to do. -- Bigby Wolf
___
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] '-R' not mentioned in 'help timeline'

2014-05-28 Thread Michai Ramakers
On 28 May 2014 18:02, Stephan Beal sgb...@googlemail.com wrote:
 On Wed, May 28, 2014 at 5:37 PM, Michai Ramakers m.ramak...@gmail.com
 wrote:

 in fossil version 1.29 [87130593e4], '-R' switch is not mentioned in
 'fossil help timeline' (but works fine).

 IIRC only a relative minority of commands don't support -R. As a rule of
 thumb, anything which can work without a checkout supports (or should
 support) -R. i'll get it added to the timeline docs in a moment if someone
 hasn't beaten me to it already.

ok, clear - I was pleasantly surprised. Thx for fix in advance.

Michai
___
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] FYI: doc URLs don't work with filenames that have + in their names

2014-05-28 Thread Stephan Beal
On Wed, May 28, 2014 at 9:28 AM, Francis Daly fran...@daoine.org wrote:

 Strictly, space is only encoded as + in the QUERY_STRING part of a URL.

 So fossil is incorrect to convert + to space if it is before the first
 ? in the URL.


Interesting question, especially in the face of this case:

/wiki/foo
equivalent to ===
/wiki?name=foo

the first one has no QUERY_STRING but is, internally, treated as if it had
been passed name=...

If we expand that to:

/wiki/VisualC++
==
/wiki/?name=VisualC++

then we have an ambiguity vis-a-vis the QUERY_STRING.

i don't have an answer :/.

-- 
- stephan beal
http://wanderinghorse.net/home/stephan/
http://gplus.to/sgbeal
Freedom is sloppy. But since tyranny's the only guaranteed byproduct of
those who insist on a perfect world, freedom will have to do. -- Bigby Wolf
___
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] FYI: doc URLs don't work with filenames that have + in their names

2014-05-28 Thread Warren Young

On 5/28/2014 10:14, Stephan Beal wrote:


So fossil is incorrect to convert + to space if it is before the first
? in the URL.


Interesting question, especially in the face of this case:

/wiki/foo
equivalent to ===
/wiki?name=foo

the first one has no QUERY_STRING but is, internally, treated as if it
had been passed name=...


I don't see that there is ambiguity here at all.  Doesn't your case 
happen after URL parsing?  URL escape decoding should happen *before* 
the URL is parsed.


If we have fossil server running alone, with no SCGI or reverse proxy 
in front of it, this URL:


http://myserver.org:8080/wiki/foo++

should have /wiki/foo++ parsed from it, leaving the ++ untouched because 
it is not part of the query string.


The fact that /wiki/foo++ gets turned into wiki/name=foo before sending 
it to the wiki handler is immaterial.  The wiki handler shouldn't be 
doing any URL decoding on its own.  It must assume that the URL is in 
its final form already.


If I have a wiki article called foo++ and want to access it with query 
string syntax, I *must* encode the + signs:


http://myserver.org:8080/wiki?name=foo%2b%2b

The URL decoder turns that into ...wiki?name=foo++ before sending it on 
to the wiki handler, which dutifully looks up the foo++ article.


Where's the problem?

SCGI doesn't complicate this at all.  Fossil knows it is behind another 
web server in that case, so it must disable URL decoding, else it can 
end up doing double decodes:


http://myserver.org:8080/wiki?name=foo%2b%2b;
http://myserver.org:8080/wiki?name=foo++;
http://myserver.org:8080/wiki?name=foo  


___
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] Markdown

2014-05-28 Thread Warren Young

On 5/27/2014 22:58, Scott Robison wrote:

The best I can come up with for a link to a
wiki page (from another wiki page) is something like
[Page](wiki?name=Page) which really seems kinda ugly


You probably want this syntax:

[Page][1]


later, typically at end of doc...

[1]: wiki?name=Page

___
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] FYI: doc URLs don't work with filenames that have + in their names

2014-05-28 Thread Stephan Beal
On Wed, May 28, 2014 at 7:51 PM, Warren Young war...@etr-usa.com wrote:

 I don't see that there is ambiguity here at all.  Doesn't your case happen
 after URL parsing?  URL escape decoding should happen *before* the URL is
 parsed.

...If I have a wiki article called foo++ and want to access it with query
 string syntax, I *must* encode the + signs:

 http://myserver.org:8080/wiki?name=foo%2b%2b


Ah, correct. The onus is on the one creating the link to do the escaping.


 Where's the problem?


There is none - a Denkfehler[1] on my part.

[1] = http://www.dict.cc/?s=denkfehler

-- 
- stephan beal
http://wanderinghorse.net/home/stephan/
http://gplus.to/sgbeal
Freedom is sloppy. But since tyranny's the only guaranteed byproduct of
those who insist on a perfect world, freedom will have to do. -- Bigby Wolf
___
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] Running script on push

2014-05-28 Thread Ron Wilson
On Tue, May 27, 2014 at 8:34 AM, Abilio Marques amarq...@smartappsla.comwrote:

 I was looking for an easier path. My set of tests can be run from command
 line, and I really like shell scripting, so I was wondering, does fossil
 has a trigger mechanism (on commit / push) run this command?

 Do you see any utility on such an idea, or is just me?


Launching hook processes from Fossil has been discussed several times
over the last few years. The problem with doing so has to do with the
different ways this is done on the various platforms.

For the most part, the alternatives Fossil does support, RSS feed and
pinging a server via an URL, have served well enough that no one has
taken up the task of launching processes from Fossil.
___
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] FYI: doc URLs don't work with filenames that have + in their names

2014-05-28 Thread Warren Young

On 5/28/2014 11:58, Stephan Beal wrote:

On Wed, May 28, 2014 at 7:51 PM, Warren Young war...@etr-usa.com
mailto:war...@etr-usa.com wrote:

I don't see that there is ambiguity here at all.

Ah, correct. The onus is on the one creating the link to do the escaping.


...which does mean it is *partly* Fossil's problem, but only insofar as 
it creates links itself, as when generating HTML from Markdown and Wiki 
sources.


In Markdown, if I give it the text [the foo page](foo++), it mustn't 
molest my + signs.


If instead I refer to the foo++ Wiki article from another Wiki article 
and Fossil chooses to generate an HTML page containing a URL using query 
it must URL-escape the + signs (...?name=foo%2b%2b), knowing that Fossil 
(or the SCGI proxy) will be decoding them.

___
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] Server static files to load JSON APP

2014-05-28 Thread Ron Wilson
On Tue, May 27, 2014 at 5:00 PM, Petrica Clement Chiriac (Tica2) 
petrica_chir...@fluxinternet.ro wrote:

 Hi fossil-users,

 I have simple JS app (build with GWT) and
 these static files are in one folder   ./jsout

 You can get the raw content of any file stored in Fossil. For example:

http://fossil-scm.org/index.html/raw/src/export.c?name=tip

In your case, the following should work:

   http://localhost:8080/index.html/raw/jsout/index.html?name=tip
___
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] Markdown

2014-05-28 Thread Scott Robison
On Wed, May 28, 2014 at 12:05 PM, Warren Young war...@etr-usa.com wrote:

 On 5/27/2014 22:58, Scott Robison wrote:

 The best I can come up with for a link to a
 wiki page (from another wiki page) is something like
 [Page](wiki?name=Page) which really seems kinda ugly


 You probably want this syntax:

 [Page][1]


 later, typically at end of doc...

 [1]: wiki?name=Page


Thanks. I did realize I could use [Page](wiki/Page) which is better if I
just want to do it inline. The footnote style is good to know as well.

Still, I've read various things online about what markdown does fossil
support and I've read something like vanilla markdown plus some form
tables extension. It would be nice to have a very central place (like a
wiki page on the fossil repo) that says Here is the definitive list of
what markdown use can use on fossil. I'm beginning to think the only place
that documentation exists is in the code (which is fine, no one owes me an
explanation for free software). Is this the case?

-- 
Scott Robison
___
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] Server static files to load JSON APP

2014-05-28 Thread Ron Wilson
On Wed, May 28, 2014 at 2:23 PM, Ron Wilson ronw.m...@gmail.com wrote:

 On Tue, May 27, 2014 at 5:00 PM, Petrica Clement Chiriac (Tica2) 
 petrica_chir...@fluxinternet.ro wrote:

 Hi fossil-users,

 I have simple JS app (build with GWT) and
 these static files are in one folder   ./jsout

 You can get the raw content of any file stored in Fossil.


Also see the following for an additional way:

   http://fossil-scm.org/index.html/doc/tip/www/embeddeddoc.wik
i
___
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] Server static files to load JSON APP

2014-05-28 Thread Petrica Clement Chiriac (Tica2)
Thanks Ron,

Now I use nginx with conf like this:

server {
listen   8081;
server_name  localhost;

location ~ ^/(gwt)/  {
   rootC:/static/gwt;
   expires 30d;
}

location / {
   proxy_pass   http://localhost:8080;
}
}

And fossil is started with:
fossil server --baseurl http://localhost:8081/; repo.db
... and is working nice.

My content is here:
http://localhost:8081/gwt/XXX
and JSON calls to http://localhost:8081/json/YYY

GWT dev mode is started with:
-noserver
-startupUrl

And I can run and debug in Eclipse. (But this is GWT specific)

I will check also:
http://fossil-scm.org/index.html/doc/tip/www/embeddeddoc.wiki

Thanks,
Petrica


 Also see the following for an additional way:

http://fossil-scm.org/index.html/doc/tip/www/embeddeddoc.wiki

___
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] Markdown

2014-05-28 Thread Scott Robison
On May 28, 2014 2:31 PM, Warren Young war...@etr-usa.com wrote:
{deleted stuff}
 The attached Fossil repo also contains a copy of the official Markdown
documentation.  It was included in the test suite, so I linked to it from
the repo's wiki, rather than remove it.


Thanks very much for the effort!
___
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] FYI: doc URLs don't work with filenames that have + in their names

2014-05-28 Thread Joel Bruick

Warren Young wrote:

On May 27, 2014, at 7:55 PM, Joel Bruickj...@joelface.com  wrote:


Richard Hipp wrote:

I think that's an HTTP thing.  In a URL, spaces are encoded as +.

It's really an HTML form thing [1] that only applies to the query portion of the URL. In 
the path component, we technically should be percent-encoding spaces and leaving any 
instances of + alone, which would then allow you to reference such files 
normally.

That's a much more involved fix that offers very little value, though. Just file 
this under the more you know.”


Actually, I just came up with a use case where you want Fossil to handle + 
without URL-decoding it.

If you have foo.md containing with something like this:

...but for more on that, see [the VC++ README](README-VC++.md).

and you link to it with a doc URL, you want the generated HTML to link to 
README-VC++.md, not to “README-VC  .md”.

You can make it create the right link by replacing the + signs with %2b, but 
that makes foo.md harder to read in a text editor.  One reason to use doc URLs 
in the first place is that you want to refer to documentation files you will 
ship as part of your distributed source code, so you don’t have to have their 
content in two places.


You're right, of course. What I really meant was, Thankfully this isn't an 
important issue for me at the moment or I'd have to spend time fixing it. ;)

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