Re: [fossil-users] Missing highlighted space changes in diff?

2014-03-04 Thread Jan Nijtmans
2014-03-04 5:38 GMT+01:00 Andy Bradford amb-fos...@bradfords.org:
 I  would vote  to leave  the  original behavior  (with a  slight fix  to
 correct the  web UI),  but make it  possible for the  user to  express a
 preference to hide whitespace-only changes.

Well, the original behavior was wrong, Joel proved that by its
off-by-one fix. Looking at the code, the intention was to ignore
eol-whitespace by default but sometimes that didn't work.

That said, I would prefer too the default being NOT to ignore
whitespace, that's what most other SCM's do. Except for
annotations, then it is useful to ignore all whitespacing.
Something like:
http://fossil-scm.org/index.html/info/28b39cc516

Is that getting nearer to what's really desired?

Thanks!
Jan Nijtmans
___
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] Missing highlighted space changes in diff?

2014-03-04 Thread Stephan Beal
On Tue, Mar 4, 2014 at 5:38 AM, Andy Bradford amb-fos...@bradfords.orgwrote:

 I would further argue that the  web UI also should not ignore whitespace
 by default.


FWIW: +1

Space is important. Just ask python developers who've had their cat step on
their keyboard and thereby change the meaning of (without breaking) their
program.

I  would vote  to leave  the  original behavior  (with a  slight fix  to
 correct the  web UI),  but make it  possible for the  user to  express a
 preference to hide whitespace-only changes.


+1, assuming that behaviour is correct/fixed (it's got some broken cases
according to the response from Jan).

-- 
- 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] Missing highlighted space changes in diff?

2014-03-04 Thread Stephan Beal
On Tue, Mar 4, 2014 at 12:57 PM, Ramon Ribó ram...@compassis.com wrote:


 I see no problem to consider space as a difference but I would not
 consider line endings (linux/windows) a difference to be shown in diff or
 annotate.


man isspace says:

  isspace()
  checks  for  white-space  characters.  In the C and POSIX
locales, these are: space, form-feed ('\f'), newline
  ('\n'), carriage return ('\r'), horizontal tab ('\t'), and
vertical tab ('\v').

i.e. space includes EOL characters, per long-standing tradition.

If a file differs only by line endings, its hash is still different, so
eliding EOL diffs by default could, IMO, be particularly confusing. Two
files, different hashes... no diffs? (That said, an option to disable them
as being treated as diffs would be very welcomed. :)

-- 
- 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] Missing highlighted space changes in diff?

2014-03-04 Thread Ramon Ribó
I see no problem in the file being marked as different but the difff
showing no actual diff. If necessary, it is possible to add a message only
end of line differences.

The point is that, if you consider end-line as differences for diff or
for annotate you will be showing a difference mark for every line, which
is not too much useful for the user.

If you prefer to go to the technical explanation, you can say: a
differences algorithm can only be applied to text files. Text files are, by
definition, a collection of lines separated by end of line markers. We
understand end of line markers as either \n or \r\n and we do not mind
which of them is used.
In fact, if you open a text file in either C, C++ or in TCL (in text mode),
\r\n is converted into \n to all effects.

​RR


2014-03-04 14:03 GMT+01:00 Stephan Beal sgb...@googlemail.com:

 On Tue, Mar 4, 2014 at 12:57 PM, Ramon Ribó ram...@compassis.com wrote:


 I see no problem to consider space as a difference but I would not
 consider line endings (linux/windows) a difference to be shown in diff or
 annotate.


 man isspace says:

   isspace()
   checks  for  white-space  characters.  In the C and
 POSIX locales, these are: space, form-feed ('\f'), newline
   ('\n'), carriage return ('\r'), horizontal tab ('\t'), and
 vertical tab ('\v').

 i.e. space includes EOL characters, per long-standing tradition.

 If a file differs only by line endings, its hash is still different, so
 eliding EOL diffs by default could, IMO, be particularly confusing. Two
 files, different hashes... no diffs? (That said, an option to disable them
 as being treated as diffs would be very welcomed. :)

 --
 - 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


___
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] Missing highlighted space changes in diff?

2014-03-04 Thread Andy Bradford
Thus said Jan Nijtmans on Tue, 04 Mar 2014 09:20:28 +0100:

 That  said,  I would  prefer  too  the  default  being NOT  to  ignore
 whitespace, that's what  most other SCM's do.  Except for annotations,
 then it is useful to ignore all whitespacing.

Why is  it useful to  ignore all  whitespace for annotate/blame?  Am the
only one who  I wants to know who's introducing  spurious space changes?
:-) If I look at the annotate for:

http://www.fossil-scm.org/index.html/annotate?checkin=3df526ca41bde756filename=src/checkout.clog=1limit=-1

The number 1 checkin listed is:

2014-02-28 check-in 3df526ca41 artifact a584a28bf3

But I cannot find any lines that show 3df526ca41. If I look at line 162,
it is annotated with:

d13054ce84 2010-10-26  162:

This seems confusing to me.  Previously Fossil would show:

3df526ca41 2014-02-28  162: 

Which in my opinion is the more correct behavior.

 Something like:
 http://fossil-scm.org/index.html/info/28b39cc516
 
 Is that getting nearer to what's really desired?

Yes, this  actually looks quite  nice! I also  like the addition  of the
``ignore  whitespace'' button.  I wasn't  certain  if this  should be  a
preference stored  in the DB  or a button---I  think the button  is more
convenient.

Thanks,

Andy
-- 
TAI64 timestamp: 40005315eefb


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


[fossil-users] nginx fronting fossil best practices?

2014-03-04 Thread Jon
New to fossil and am trying to stand up a simple fossil server fronted by
nginx. I've read the website doco, spelunked the mailing list, and have
tweaked configurations a bit. All to no avail.

I want to use fossil and nginx to make multiple repos available via base
url's such as

  http://somewhere.mydomain.com/partner/repo-name

in which fossil repos live under root-owned /srv/fossils/partner as
*.fossil files

With limited nginx configuration tweaking the best I've been able to
achieve is a fossil repo main page but with invalid links (e.g. -
http://127.0.0.1:8080/logicalmaps/index) pointing to the fossil server
running in localhost mode. Via the following I see fossil redirects which
likely means a more complex nginx config.

$ curl -I http://stimpy/partner/logicalmaps
HTTP/1.1 302 Moved Temporarily
Server: nginx
Date: Tue, 04 Mar 2014 18:03:09 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 80
Connection: keep-alive
Location: http://stimpy/logicalmaps/index
X-Frame-Options: SAMEORIGIN
Cache-control: no-cache

Below are the relevant snippets of my original fossil and nginx config that
does not work.

Before I spend more time (likely in the wrong direction) I'd appreciate
your guidance as to the best way to setup fossil + nginx. I'd prefer nginx
in reverse http proxy mode but SCGI is also fine. Once the base config
works, I'll move to HTTPS.

Jon



 BASIC FOSSIL and NGINX CONFIGURATION 

# upstart script - /etc/init/fossil.conf
description Fossil DVCS Server

start on runlevel [2345]
stop on runlevel [!2345]
respawn

exec /usr/local/sbin/fossil server --localhost /srv/fossils/partner


# main nginx config - /etc/nginx/nginx.conf
...
http {
include   /etc/nginx/mime.types;
default_type  application/octet-stream;
...
include /etc/nginx/conf.d/*.conf;
}


# default nginx config - /etc/nginx/conf.d/default.conf
server {
listen   80 default_server;
server_name  stimpy;
server_tokens off;
...
location / {
root   /usr/share/nginx/html;
index  index.html index.htm;
}
...
location /partner/ {
proxy_pass http://127.0.0.1:8080/;
proxy_connect_timeout 30s;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
...
}


jon@stimpy:~$ ps aux | egrep 'nginx|fossil'
root  2279  0.0  0.0   2584   372 ?Ss   Feb26   0:00
/usr/local/sbin/fossil server --localhost /srv/fossils/partner
root 16849  0.0  0.2  31208  2652 ?S12:56   0:00 nginx:
master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx16850  0.0  0.1  31564  1656 ?S12:56   0:00 nginx:
worker process
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


[fossil-users] Fossil in a multi-user environment

2014-03-04 Thread Taras Zakharko
Dear all,

 I am currently looking into the possibility of using Fossil as our next SCM 
(we currently use Mercurial, and while it works, many things could be 
improved).  The task is primarily 
collaborative paper writing in a research institute, most authors are 
non-programmers and thus want the system to be as easy to use as possible (this 
is why Fossil is so interesting). 
Now, I have some problems with setting up a sane multi-user environment. Let me 
briefly go though the most important points:

- there will be potentially a large number of projects
- all projects are private (i.e. invisible to any unauthorised user)
- the users are shared between all projects (the permissions might differ)
- every potential contributor has a different user account

All this seems fairly easy to do, I have a template project with all relevant 
users which can be taken as the base for new repository, with permissions set 
in an appropriate way. However, I have run
into a problem and I can’t seem to find the way to solve it. Briefly, its about 
how Fossil synchronises users and the fact that users and authors of commits 
appear to be different things. When I clone a remote repository 
and push some changes into it, the name of the user will be my local admin name 
and not the name of the user I am actually using to communicate with the 
repository. Imagine the following scenario:

We create a new project and my colleague, Maximilian Test is one of the key 
authors. E.g. the user ‘MaximilianTest' has full authoring permissions for the 
repo. However, at his local machine, his user name is ‘max’
rather than ‘MaximilianTest’ - when he clones the repository and makes some 
changes, we will see the  user ‘max’ in our timeline. Even more confusing when 
he then uses some other machine where the user name is simply ‘user’ or 
‘default’. 
Now, I know that he should have cloned his repository using -A  MaximilianTest 
instead, but it will not happen and I just have to deal with it. With 
Mercurial, there was at least a way to set the default user in the central 
config file, I can’t find such an option with Fossil. 

So basically, two questions: a) is it possible to solve this problem in an easy 
way? To put it bluntly, I want to synchronise the ’user as an author’ and the 
‘user as entity of authorisation’;  b) what is the reasoning behind the current 
design? I though if a system includes users and permissions as a standard 
feature, it would make sense for it to make sure that these are honoured in a 
consistent way across the repository? It seems to me that user is just being 
used to check the access rights for the push/pull, but not actually to verify 
the rights to contribute to the repository. 

Thank you!

— Taras



___
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 in a multi-user environment

2014-03-04 Thread Stephan Beal
On Tue, Mar 4, 2014 at 7:02 PM, Taras Zakharko taras.zakha...@uzh.chwrote:

 into a problem and I can't seem to find the way to solve it. Briefly, its
 about how Fossil synchronises users and the fact that users and authors of
 commits appear to be different things. When I clone a remote repository
 and push some changes into it, the name of the user will be my local admin
 name and not the name of the user I am actually using to communicate with
 the repository. Imagine the following scenario:



That depends on several factors, several of which another list member will
hopefully detail for us, but what i can say is if you clone like this:

fossil clone http://remoteUserName@server/... therepo.fsl

then pull/push will use that user name from then on out. That's the only
way i ever clone.


 We create a new project and my colleague, Maximilian Test is one of the
 key authors. E.g. the user 'MaximilianTest' has full authoring permissions
 for the repo. However, at his local machine, his user name is 'max'
 rather than 'MaximilianTest' - when he clones the repository and makes
 some changes, we will see the  user 'max' in our timeline. Even more
 confusing when he then uses some other machine where the user name is
 simply 'user' or 'default'.


If i'm not mistaken, Max can do this:

fossil user default MaximillianTest

to ensure that further network ops use that name by default. That must be
set per repo, not globally. If he clones with that name in the URL then he
won't need to do that.

Now, I know that he should have cloned his repository using -A
  MaximilianTest instead, but it will not happen and I just have to deal
 with it. With Mercurial, there was at least a way to set the default user
 in the central config file, I can't find such an option with Fossil.


Globally, no - it uses your $USER value by default (or a Windows
equivalent). If you clone with the name in the URL then it will continue to
use that name and you'll never be bothered by it again.

So basically, two questions: a) is it possible to solve this problem in an
 easy way? To put it bluntly, I want to synchronise the 'user as an author'
 and the 'user as entity of authorisation';


i don't recall if login group support handles centralizing permissions or
just passwords. Hopefully someone else can enlighten us.

 b) what is the reasoning behind the current design?


The synching of logins/rights across a login group was added long after
fossil was born, so it's possibly got a rough edge or two which would be in
an impl which had taken that into account from the start.

I though if a system includes users and permissions as a standard feature,
 it would make sense for it to make sure that these are honoured in a
 consistent way across the repository?


Are you talking about a consistency across fossil features within a single
repo (one local copy), across all clones of a central copy, or across
several projects in a single login group?


 It seems to me that user is just being used to check the access rights for
 the push/pull, but not actually to verify the rights to contribute to the
 repository.


That doesn't sound quite right to me, but i'm going to hold off and hope
that someone better-versed in that particular code can shed some light on
it. There have recently (the past 6 months or so) been a couple threads
related to how Fossil figures out which user name to use for a given
operation, and several changes were made in that regard IIRC.

-- 
- 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] Fossil in a multi-user environment

2014-03-04 Thread Matt Welland
I'm not sure I understand what exactly is your issue but are you cloning
via a server or directly from shared disk?

If the later then you may have run into a problem that may still exist -
the default user is not properly handled when cloning using file:// .
Exactly why I don't know. The fix is to make the user you want as default
the first in the sql table. In my fossil wrapper I swap the user after
cloning and this works fine.


On Tue, Mar 4, 2014 at 11:02 AM, Taras Zakharko taras.zakha...@uzh.chwrote:

 Dear all,

  I am currently looking into the possibility of using Fossil as our next
 SCM (we currently use Mercurial, and while it works, many things could be
 improved).  The task is primarily
 collaborative paper writing in a research institute, most authors are
 non-programmers and thus want the system to be as easy to use as possible
 (this is why Fossil is so interesting).
 Now, I have some problems with setting up a sane multi-user environment.
 Let me briefly go though the most important points:

 - there will be potentially a large number of projects
 - all projects are private (i.e. invisible to any unauthorised user)
 - the users are shared between all projects (the permissions might
 differ)
 - every potential contributor has a different user account

 All this seems fairly easy to do, I have a template project with all
 relevant users which can be taken as the base for new repository, with
 permissions set in an appropriate way. However, I have run
 into a problem and I can't seem to find the way to solve it. Briefly, its
 about how Fossil synchronises users and the fact that users and authors of
 commits appear to be different things. When I clone a remote repository
 and push some changes into it, the name of the user will be my local admin
 name and not the name of the user I am actually using to communicate with
 the repository. Imagine the following scenario:

 We create a new project and my colleague, Maximilian Test is one of the
 key authors. E.g. the user 'MaximilianTest' has full authoring permissions
 for the repo. However, at his local machine, his user name is 'max'
 rather than 'MaximilianTest' - when he clones the repository and makes
 some changes, we will see the  user 'max' in our timeline. Even more
 confusing when he then uses some other machine where the user name is
 simply 'user' or 'default'.
 Now, I know that he should have cloned his repository using -A
  MaximilianTest instead, but it will not happen and I just have to deal
 with it. With Mercurial, there was at least a way to set the default user
 in the central config file, I can't find such an option with Fossil.

 So basically, two questions: a) is it possible to solve this problem in an
 easy way? To put it bluntly, I want to synchronise the 'user as an author'
 and the 'user as entity of authorisation';  b) what is the reasoning behind
 the current design? I though if a system includes users and permissions as
 a standard feature, it would make sense for it to make sure that these are
 honoured in a consistent way across the repository? It seems to me that
 user is just being used to check the access rights for the push/pull, but
 not actually to verify the rights to contribute to the repository.

 Thank you!

 -- Taras



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




-- 
Matt
-=-
90% of the nations wealth is held by 2% of the people. Bummer to be in the
majority...
___
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 in a multi-user environment

2014-03-04 Thread Taras Zakharko
Stephan,  Matt,

 thank you for your quick answers!

 
 That depends on several factors, several of which another list member will
 hopefully detail for us, but what i can say is if you clone like this:
 
 fossil clone http://remoteUserName@server/... therepo.fsl
 
 then pull/push will use that user name from then on out. That's the only
 way i ever clone.

Exactly, but there is still a mismatch between the user doing the push/pull and 
the one doing the commit

 If i'm not mistaken, Max can do this:
 
 fossil user default MaximillianTest

True, but I can’t really tell my colleagues to do this all the time. They are 
linguists, not programmers.  Also, you usually clone very rarely - if a person 
has to clone a project once per month or so, you can’t really expect them to 
remember 
idiosyncratic steps…

 i don't recall if login group support handles centralizing permissions or
 just passwords. Hopefully someone else can enlighten us.

Na, that’s ok - I can replicate the ’same' users over different repos. An 
option to have a default fossil user on a machine or  honouring the user who is 
used to access the central repository would be very useful. I can probably hack 
it into the fossil source, but 
I would like to avoid having to build my own custom fossil…

 Are you talking about a consistency across fossil features within a single
 repo (one local copy), across all clones of a central copy, or across
 several projects in a single login group?

I think its the closes to the second one (clones of a central copy). Basically, 
I think it makes sense if users are checked when synchronising repositories so 
that a change set cannot be added to the same repository if the committing user 
permissions do not match. I do realise that this opens a big can of worms 
though. For the time being, I’d be really happy with some sort of user-friendly 
option (a per-repository setting maybe?) of setting the admin name of a cloned 
repository to the user who was used to access the original. 

 I'm not sure I understand what exactly is your issue but are you cloning
 via a server or directly from shared disk?

I am cloning via HTTP, my fossil server lives in a virtual machine.  To briefly 
summarise, my issue is that the admin user of the cloned repository is the 
default one instead of the user used to access the repo (e.g. I clone the repo 
as admin@ip and the local admin user is set to ‘taras’ instead, so in the end 
the central version has ‘taras’ as a contributor although the user with this 
name is not even registered in the central repository).  Not a big thing and 
easy to fix with ‘fossil user default’ (as Stephan mentiones above), but can be 
quickly confusing and doing ‘fossil user default' cannot be requested of an 
average non-programmer, who shouldn’t be bothered with such technicalities.  

Thanks,

 Taras
___
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 in a multi-user environment

2014-03-04 Thread Stephan Beal
On Tue, Mar 4, 2014 at 8:58 PM, Taras Zakharko taras.zakha...@uzh.chwrote:

  Are you talking about a consistency across fossil features within a
 single
  repo (one local copy), across all clones of a central copy, or across
  several projects in a single login group?

 I think its the closes to the second one (clones of a central copy).
 Basically, I think it makes sense if users are checked when synchronising
 repositories so that a change set cannot be added to the same repository if
 the committing user permissions do not match. I do realise that this opens
 a big can of worms though.


Every clone of a repo is a full-fledged original of that repo, minus user
list and a few other minor bits of info. What that means is that anyone can
commit changes to that repo independently of whether those changes will be
allowed by the remote server, and fossil currently has no way of
disallowing changes which have happened in other copies of the repo (to
leave out shunning, which is a special case).


 For the time being, I'd be really happy with some sort of user-friendly
 option (a per-repository setting maybe?)


That's the disconnrect, i think - you're apparently understanding
repository to be the One True Central Repo. In a DVCS, every clone is (in
principal) a full-rights central repo. So my clone of your repo has a
different idea of per repo settings (which are set by: fossil user
default UserName).

of setting the admin name of a cloned repository to the user who was used
 to access the original.


That's what the name in the URL does. If you're cloning with a name and it
does not retain that user name in later sessions, that is a bug (which i
haven't seen) - please help us figure out why fossil is selecting a
different name. What platform(s) are you on?

-- 
- 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] importing/forking from Git

2014-03-04 Thread Richard Hipp
On Tue, Mar 4, 2014 at 3:43 PM, Chad Perrin c...@apotheon.net wrote:

 Trying to fork/import from Git is kinda problematic.  I started by
 creating a new project on a server:

 $ fossil init projectname.fossil

 I then cloned locally:

 $ fossil clone u...@uri.for/projectname/index.cgi projectname.fossil

 I imported from Git:

 $ git fast-export --all | fossil import --git --incremental \
 /path/to/projectname.fossil

 I opened the repository:

 $ mkdir projectname; cd projectname
 fossil open /path/to/projectname.fossil


The above should be all you need to do.  It should just work.  And it does
just work for every git repository that I've tried, though that is,
admittedly, not that many repos.

If you are willing to share with us the specific repo you are trying to
import, prehaps the developers can try it and discover what's going wrong.




 No files appear.  I looked at the timeline:

 $ fossil timeline
 === 2014-03-04 ===
 20:24:06 [178338650a] *CURRENT* initial empty check-in (user:
 apotheon tags: trunk)
 === 2013-06-19 ===
 21:12:33 [34ca661224] last commit message from Git
 === 2011-10-16 ===
 . . . et cetera

 The obvious choice seems to be to use revert:

 $ fossil help revert
 Usage: fossil revert ?-r REVISION? ?FILE ...?

 Revert to the current repository version of FILE, or to
 the version associated with baseline REVISION if the -r flag
 appears.

 [. . .]

 Revert all files if no file name is provided.

 [. . .]

 I tried that:

 $ fossil revert -r 34ca661224
 the --revision option does not work for the entire tree

 How do I actually get a repository import to a usable state so I can
 push it to the server's repository and get on with my life?

 --
 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




-- 
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] importing/forking from Git

2014-03-04 Thread James Turner
On Tue, Mar 04, 2014 at 03:47:31PM -0500, Richard Hipp wrote:
 On Tue, Mar 4, 2014 at 3:43 PM, Chad Perrin c...@apotheon.net wrote:
 
  Trying to fork/import from Git is kinda problematic.  I started by
  creating a new project on a server:
 
  $ fossil init projectname.fossil
 
  I then cloned locally:
 
  $ fossil clone u...@uri.for/projectname/index.cgi projectname.fossil
 

Doesn't the git import create the fossil repo for you? Maybe you should
try doing the import into a fossil repo that doesn't already exist.

Then you can scp that repo to your server and clone it down.

  I imported from Git:
 
  $ git fast-export --all | fossil import --git --incremental \
  /path/to/projectname.fossil
 
  I opened the repository:
 
  $ mkdir projectname; cd projectname
  fossil open /path/to/projectname.fossil
 
 
 The above should be all you need to do.  It should just work.  And it does
 just work for every git repository that I've tried, though that is,
 admittedly, not that many repos.
 
 If you are willing to share with us the specific repo you are trying to
 import, prehaps the developers can try it and discover what's going wrong.
 
 
 
 
  No files appear.  I looked at the timeline:
 
  $ fossil timeline
  === 2014-03-04 ===
  20:24:06 [178338650a] *CURRENT* initial empty check-in (user:
  apotheon tags: trunk)
  === 2013-06-19 ===
  21:12:33 [34ca661224] last commit message from Git
  === 2011-10-16 ===
  . . . et cetera
 
  The obvious choice seems to be to use revert:
 
  $ fossil help revert
  Usage: fossil revert ?-r REVISION? ?FILE ...?
 
  Revert to the current repository version of FILE, or to
  the version associated with baseline REVISION if the -r flag
  appears.
 
  [. . .]
 
  Revert all files if no file name is provided.
 
  [. . .]
 
  I tried that:
 
  $ fossil revert -r 34ca661224
  the --revision option does not work for the entire tree
 
  How do I actually get a repository import to a usable state so I can
  push it to the server's repository and get on with my life?
 
  --
  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
 
 
 
 
 -- 
 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


-- 
James Turner
___
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] importing/forking from Git

2014-03-04 Thread Chad Perrin
On Tue, Mar 04, 2014 at 03:47:31PM -0500, Richard Hipp wrote:
 On Tue, Mar 4, 2014 at 3:43 PM, Chad Perrin c...@apotheon.net wrote:
 
  Trying to fork/import from Git is kinda problematic.  I started by
  creating a new project on a server:
 
  $ fossil init projectname.fossil
 
  I then cloned locally:
 
  $ fossil clone u...@uri.for/projectname/index.cgi projectname.fossil
 
  I imported from Git:
 
  $ git fast-export --all | fossil import --git --incremental \
  /path/to/projectname.fossil
 
  I opened the repository:
 
  $ mkdir projectname; cd projectname
  fossil open /path/to/projectname.fossil
 
 
 The above should be all you need to do.  It should just work.  And it does
 just work for every git repository that I've tried, though that is,
 admittedly, not that many repos.
 
 If you are willing to share with us the specific repo you are trying to
 import, prehaps the developers can try it and discover what's going wrong.

git://repo.or.cz/nvi.git

For reference, I'm using . . .

$ fossil version
This is fossil version 1.28 [3d49f04587] 2014-01-27 17:33:44 UTC

. . . on FreeBSD, installed from ports, with the JSON and STATIC options
both selected at build time.

-- 
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


Re: [fossil-users] importing/forking from Git

2014-03-04 Thread Richard Hipp
I did this:

mkdir nvi
cd nvi
git clone git://repo.or.cz/nvi.git
cd nvi
git fast-export --all | fossil import ../nvi.fossil
cd ..
mkdir n2
cd n2
fossil open ../nvi.fossil

The result was a directory full of files.  And I could do fossil ui to
see the complete development timeline, and so forth.




On Tue, Mar 4, 2014 at 3:55 PM, Chad Perrin c...@apotheon.net wrote:

 On Tue, Mar 04, 2014 at 03:47:31PM -0500, Richard Hipp wrote:
  On Tue, Mar 4, 2014 at 3:43 PM, Chad Perrin c...@apotheon.net wrote:
 
   Trying to fork/import from Git is kinda problematic.  I started by
   creating a new project on a server:
  
   $ fossil init projectname.fossil
  
   I then cloned locally:
  
   $ fossil clone u...@uri.for/projectname/index.cgi
 projectname.fossil
  
   I imported from Git:
  
   $ git fast-export --all | fossil import --git --incremental \
   /path/to/projectname.fossil
  
   I opened the repository:
  
   $ mkdir projectname; cd projectname
   fossil open /path/to/projectname.fossil
  
 
  The above should be all you need to do.  It should just work.  And it
 does
  just work for every git repository that I've tried, though that is,
  admittedly, not that many repos.
 
  If you are willing to share with us the specific repo you are trying to
  import, prehaps the developers can try it and discover what's going
 wrong.

 git://repo.or.cz/nvi.git

 For reference, I'm using . . .

 $ fossil version
 This is fossil version 1.28 [3d49f04587] 2014-01-27 17:33:44 UTC

 . . . on FreeBSD, installed from ports, with the JSON and STATIC options
 both selected at build time.

 --
 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




-- 
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] importing/forking from Git

2014-03-04 Thread James Turner
On Tue, Mar 04, 2014 at 01:55:36PM -0700, Chad Perrin wrote:
 On Tue, Mar 04, 2014 at 03:47:31PM -0500, Richard Hipp wrote:
  On Tue, Mar 4, 2014 at 3:43 PM, Chad Perrin c...@apotheon.net wrote:
  
   Trying to fork/import from Git is kinda problematic.  I started by
   creating a new project on a server:
  
   $ fossil init projectname.fossil
  
   I then cloned locally:
  
   $ fossil clone u...@uri.for/projectname/index.cgi projectname.fossil
  
   I imported from Git:
  
   $ git fast-export --all | fossil import --git --incremental \
   /path/to/projectname.fossil
  

Bah incremental requires the repo to exist. Without incremental the
import is successful and trunk is set correctly.

   I opened the repository:
  
   $ mkdir projectname; cd projectname
   fossil open /path/to/projectname.fossil
  
  
  The above should be all you need to do.  It should just work.  And it does
  just work for every git repository that I've tried, though that is,
  admittedly, not that many repos.
  
  If you are willing to share with us the specific repo you are trying to
  import, prehaps the developers can try it and discover what's going wrong.
 
 git://repo.or.cz/nvi.git
 
 For reference, I'm using . . .
 
 $ fossil version
 This is fossil version 1.28 [3d49f04587] 2014-01-27 17:33:44 UTC
 
 . . . on FreeBSD, installed from ports, with the JSON and STATIC options
 both selected at build time.
 
 -- 
 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
 

-- 
James Turner
___
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] importing/forking from Git

2014-03-04 Thread Richard Hipp
On Tue, Mar 4, 2014 at 4:02 PM, James Turner ja...@calminferno.net wrote:


 Bah incremental requires the repo to exist. Without incremental the
 import is successful and trunk is set correctly.


I completely overlooked the --incremental flag in the original post.
Sorry...

-- 
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] Fossil in a multi-user environment

2014-03-04 Thread Taras Zakharko
I have found the problem - seems that the fossil version installed on my mac 
was still 1.27 and the user name takeover has been added in 1.28. 
Now it works like a charm and I am very happy!  

Sorry for the noise and thanks again for the quick answers!

— Taras

On 04 Mar 2014, at 21:55 , Stephan Beal wrote:

 That's what the name in the URL does. If you're cloning with a name and it
 does not retain that user name in later sessions, that is a bug (which i
 haven't seen) - please help us figure out why fossil is selecting a
 different name. What platform(s) are you on?


___
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] importing/forking from Git

2014-03-04 Thread Chad Perrin
On Tue, Mar 04, 2014 at 04:01:36PM -0500, Richard Hipp wrote:
 I did this:
 
 mkdir nvi
 cd nvi
 git clone git://repo.or.cz/nvi.git
 cd nvi
 git fast-export --all | fossil import ../nvi.fossil
 cd ..
 mkdir n2
 cd n2
 fossil open ../nvi.fossil
 
 The result was a directory full of files.  And I could do fossil ui to
 see the complete development timeline, and so forth.

My understanding is that --incremental, as used in my original attempt
described in my email to start this thread, should allow me to import
into an existing Fossil repository.  That is where I am having a
problem.  Do I misunderstand the intended use of --incremental?  Is
there some way to let someone push from a fresh Fossil repository
created by import from git to an existing repository on another server,
which I could use instead?

The key here is that someone without the ability to brute-force copy
(i.e.  scp) the projectname.fossil file to the server should be able to
import from git then use the fossil utility to push that to a repository
on the server, resulting in a repository full of files and history.  Is
that possible, or do I pretty much need to either throw away all history
or just stick with Git instead?

-- 
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


Re: [fossil-users] nginx fronting fossil best practices?

2014-03-04 Thread Stephen Cripps
Hi Jon,

I went through the process of setting up fossil behind NGINX the same
way your looking for, where you can specify the repository depending on
the url. At first I tried the proxy method with xinetd, but had to play
with path's of the actual repositories before it would work.

The solution I went with was to use scgi with configuration similar to
the following:

In /etc/nginx.conf

location ~ ^/fossil(.*)$ {
fastcgi_passunix:/run/fcgiwrap.sock;
include fossil_fcgi_params;
fastcgi_param   SCRIPT_NAME /fossil;
}

In fossil_fcgi_params

fastcgi_param  QUERY_STRING   $query_string;
fastcgi_param  REQUEST_METHOD $request_method;
fastcgi_param  CONTENT_TYPE   $content_type;
fastcgi_param  CONTENT_LENGTH $content_length;
fastcgi_param  SCRIPT_NAME$fastcgi_script_name;
fastcgi_param  REQUEST_URI$request_uri;
fastcgi_param  DOCUMENT_URI   $document_uri;
fastcgi_param  DOCUMENT_ROOT  $document_root;
fastcgi_param  SERVER_PROTOCOL$server_protocol;
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWAREnginx;
fastcgi_param  REMOTE_ADDR$remote_addr;
fastcgi_param  REMOTE_PORT$remote_port;
fastcgi_param  SERVER_ADDR$server_addr;
fastcgi_param  SERVER_PORT$server_port;
fastcgi_param  SERVER_NAME$server_name;
fastcgi_param  REMOTE_USER$remote_user;

And the cgi script as

#!/usr/bin/fossil
directory: /srv/fossil/
notfound: http://localhost/invalid.html

Where /srv/fossil is where I keep the .fossil files.

Stephen C

On 04/03/14 01:34 PM, Jon wrote:
 New to fossil and am trying to stand up a simple fossil server fronted
 by nginx. I've read the website doco, spelunked the mailing list, and
 have tweaked configurations a bit. All to no avail.

 I want to use fossil and nginx to make multiple repos available via
 base url's such as

   http://somewhere.mydomain.com/partner/repo-name

 in which fossil repos live under root-owned /srv/fossils/partner as
 *.fossil files

 With limited nginx configuration tweaking the best I've been able to
 achieve is a fossil repo main page but with invalid links (e.g. -
 http://127.0.0.1:8080/logicalmaps/index) pointing to the fossil server
 running in localhost mode. Via the following I see fossil redirects
 which likely means a more complex nginx config.

 $ curl -I http://stimpy/partner/logicalmaps
 HTTP/1.1 302 Moved Temporarily
 Server: nginx
 Date: Tue, 04 Mar 2014 18:03:09 GMT
 Content-Type: text/html; charset=utf-8
 Content-Length: 80
 Connection: keep-alive
 Location: http://stimpy/logicalmaps/index
 X-Frame-Options: SAMEORIGIN
 Cache-control: no-cache

 Below are the relevant snippets of my original fossil and nginx config
 that does not work.

 Before I spend more time (likely in the wrong direction) I'd
 appreciate your guidance as to the best way to setup fossil + nginx.
 I'd prefer nginx in reverse http proxy mode but SCGI is also fine.
 Once the base config works, I'll move to HTTPS.

 Jon



  BASIC FOSSIL and NGINX CONFIGURATION 

 # upstart script - /etc/init/fossil.conf
 description Fossil DVCS Server

 start on runlevel [2345]
 stop on runlevel [!2345]
 respawn

 exec /usr/local/sbin/fossil server --localhost /srv/fossils/partner


 # main nginx config - /etc/nginx/nginx.conf
 ...
 http {
 include   /etc/nginx/mime.types;
 default_type  application/octet-stream;
 ...
 include /etc/nginx/conf.d/*.conf;
 }


 # default nginx config - /etc/nginx/conf.d/default.conf
 server {
 listen   80 default_server;
 server_name  stimpy;
 server_tokens off;
 ...
 location / {
 root   /usr/share/nginx/html;
 index  index.html index.htm;
 }
 ...
 location /partner/ {
 proxy_pass http://127.0.0.1:8080/;
 proxy_connect_timeout 30s;
 proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }
 ...
 }


 jon@stimpy:~$ ps aux | egrep 'nginx|fossil'
 root  2279  0.0  0.0   2584   372 ?Ss   Feb26   0:00
 /usr/local/sbin/fossil server --localhost /srv/fossils/partner
 root 16849  0.0  0.2  31208  2652 ?S12:56   0:00
 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
 nginx16850  0.0  0.1  31564  1656 ?S12:56   0:00
 nginx: worker process


 ___
 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] importing/forking from Git

2014-03-04 Thread Chad Perrin
The following is based on the fact that I do not know whether there are
any undocumented or poorly-documented features that would provide the
described functionality, or whether I have simply failed to see what was
right in front of my face after spending a fair bit of time staring at
Fossil's help output.

## Related Questions

Is there some way to merge history from another fossil repository into
a brand new fossil repository created with fossil init locally?

This would help me by allowing me to clone the repository from the
server and import from Git to create a new repository, then merge
from that new repository into the repository cloned from the
server, then push changes to the repository on the server.

Is there some way to push from a fossil repository to an arbitrary
brand-new repository across HTTP(S)?

This would help me by allowing me to import from Git to create a new
repository, then simply push from the new Fossil repository to the
existing (empty) repository on the server.  The ability to do this
seems like it would have many, many other potential uses in truly
distributed version control workflows, too -- even if it only pushed
(with all history) as a branch.

Is there some way to create a repository so it does not have a dated
initial commit just because the init command was used?

It seems odd to me that the only DVCS that I have seen that cannot
init a repository without an implicit initial commit is Fossil, and
this would likely solve my present problem as well.

Is there some way to revert the state of an entire repository, involving
all files, to an earlier state?

It never occurred to me there may not be, and this was obviously
part of my earlier attempt to make the import work out for my needs.
It seems that the ability to roll back the entire repository to an
earlier state should exist for a variety of reasons, perhaps
relegating anything undone by the rollback to a dead/closed branch.

## Unrelated Questions

Is there any chance that Fossil will get a manpage or two at some point?

-- 
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


Re: [fossil-users] importing/forking from Git

2014-03-04 Thread Stephan Beal
On Tue, Mar 4, 2014 at 10:58 PM, Chad Perrin c...@apotheon.net wrote:

 Is there any chance that Fossil will get a manpage or two at some point?


Perhaps this suffices (or provides a start):

http://fossil-scm.org/index.html/help

The /help page can also be accessed locally via (fossil ui).

-- 
- 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] importing/forking from Git

2014-03-04 Thread Chad Perrin
On Tue, Mar 04, 2014 at 03:49:26PM -0500, James Turner wrote:
 On Tue, Mar 04, 2014 at 03:47:31PM -0500, Richard Hipp wrote:
  On Tue, Mar 4, 2014 at 3:43 PM, Chad Perrin c...@apotheon.net wrote:
  
   Trying to fork/import from Git is kinda problematic.  I started by
   creating a new project on a server:
  
   $ fossil init projectname.fossil
  
   I then cloned locally:
  
   $ fossil clone u...@uri.for/projectname/index.cgi projectname.fossil
  
 
 Doesn't the git import create the fossil repo for you? Maybe you should
 try doing the import into a fossil repo that doesn't already exist.

According to the fossil help import documentation, --incremental
should work with an existing Fossil repository rather than creating a
new one.


 
 Then you can scp that repo to your server and clone it down.

This is an operation that would be much more convenient to accomplish
the way I've already tried to do it, in current circumstances, and there
may be a fair number of similar import/fork needs in the future, which
means that it makes a lot more sense for me to figure out how to get the
import into an existing repository to work -- especially because people
who do not have scp access to the server at the moment may also be doing
some of this work.  If I just do it the way you describe, I would need
to do all of this work for every instance, which is not a very
reasonable state of affairs here.

In any case, I would much rather (help) fix a problem, or learn how to
do it right if the error is mine rather than the software's, than just
sweep the problem under the rug and use a work-around.

-- 
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


Re: [fossil-users] importing/forking from Git

2014-03-04 Thread Chad Perrin
On Tue, Mar 04, 2014 at 11:16:07PM +0100, Stephan Beal wrote:
 On Tue, Mar 4, 2014 at 10:58 PM, Chad Perrin c...@apotheon.net wrote:
 
  Is there any chance that Fossil will get a manpage or two at some point?
 
 
 Perhaps this suffices (or provides a start):
 
 http://fossil-scm.org/index.html/help
 
 The /help page can also be accessed locally via (fossil ui).

I'm aware of the web help.  I'm just wondering about whether it'll ever
get a manpage.

-- 
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


Re: [fossil-users] importing/forking from Git

2014-03-04 Thread Ron Wilson
On Tue, Mar 4, 2014 at 3:43 PM, Chad Perrin c...@apotheon.net wrote:

 Trying to fork/import from Git is kinda problematic.  I started by
 creating a new project on a server:

 $ fossil init projectname.fossil

 I then cloned locally:

 $ fossil clone u...@uri.for/projectname/index.cgi projectname.fossil


Is there some reason you can't do fossil clone on the server?

Alternately, try:

   $ git fast-export --all |ssh user@server fossil import\
  --git --incremental /path/to/projectname.fossil

I imported from Git:

 $ git fast-export --all | fossil import --git --incremental \
 /path/to/projectname.fossil

 I opened the repository:

 $ mkdir projectname; cd projectname
 fossil open /path/to/projectname.fossil

 No files appear.  I looked at the timeline:


That is surprising to me. Though I have not used this feature.
___
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] importing/forking from Git

2014-03-04 Thread Ron Wilson
On Tue, Mar 4, 2014 at 7:12 PM, Ron Wilson ronw.m...@gmail.com wrote:

 Alternately, try:

$ git fast-export --all |ssh user@server fossil import\
   --git --incremental /path/to/projectname.fossil


Oops. Don't use the --incremental for the initial import.
___
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] importing/forking from Git

2014-03-04 Thread Chad Perrin
On Tue, Mar 04, 2014 at 07:12:54PM -0500, Ron Wilson wrote:
 On Tue, Mar 4, 2014 at 3:43 PM, Chad Perrin c...@apotheon.net wrote:
 
  Trying to fork/import from Git is kinda problematic.  I started by
  creating a new project on a server:
 
  $ fossil init projectname.fossil
 
  I then cloned locally:
 
  $ fossil clone u...@uri.for/projectname/index.cgi projectname.fossil
 
 
 Is there some reason you can't do fossil clone on the server?
 
 Alternately, try:
 
$ git fast-export --all |ssh user@server fossil import\
   --git --incremental /path/to/projectname.fossil

Both of those solutions would surely work in this case (as long as the
incremental option works on the server, but not in cases where the same
would be done by someone with commit access but no SSH filesystem/shell
access (which is likely in future cases).

-- 
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


[fossil-users] equivalent to git submodule

2014-03-04 Thread Chad Perrin
Is there a good way to do the same thing Git's submodule command
does, to allow multiple repositories to be used to compose a single,
larger project source tree?  From the git-submodule manpage:

Submodules allow foreign repositories to be embedded within a
dedicated subdirectory of the source tree, always pointed at a
particular commit.

They are not to be confused with remotes, which are meant mainly for
branches of the same project; submodules are meant for different
projects you would like to make part of your source tree, while the
history of the two projects still stays completely independent and
you cannot modify the contents of the submodule from within the main
project.

-- 
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


Re: [fossil-users] Missing highlighted space changes in diff?

2014-03-04 Thread Joel Bruick

Jan Nijtmans wrote:

That said, I would prefer too the default being NOT to ignore
whitespace, that's what most other SCM's do. Except for
annotations, then it is useful to ignore all whitespacing.
Something like:
 http://fossil-scm.org/index.html/info/28b39cc516

Is that getting nearer to what's really desired?


I've made a few more changes. I'm happy with where it's at now unless 
you notice anything else. Thanks, Jan.
___
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] equivalent to git submodule

2014-03-04 Thread Richard Hipp
On Tue, Mar 4, 2014 at 9:45 PM, Chad Perrin c...@apotheon.net wrote:

 Is there a good way to do the same thing Git's submodule command
 does, to allow multiple repositories to be used to compose a single,
 larger project source tree?



The only thing (currently) like this in Fossil is the fossil open
--nested command, which allows you to create a checkout for repository
nested inside a checkout for another repository.  (Normally, if you try to
do fossil open while you are within another check-out, the open fails
with an error.)

A nested check-out does NOT keep track of which versions of which
repositories are associated with each check-in.  Nor are there convenient
commands that fetch an automatically open nested check-outs.  The only
thing this allows is for you to construct a tree of checkouts.

But maybe that is enough for what you are trying to do.  I dunno


-- 
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] equivalent to git submodule

2014-03-04 Thread Chad Perrin
On Tue, Mar 04, 2014 at 09:56:31PM -0500, Richard Hipp wrote:
 On Tue, Mar 4, 2014 at 9:45 PM, Chad Perrin c...@apotheon.net wrote:
 
  Is there a good way to do the same thing Git's submodule command
  does, to allow multiple repositories to be used to compose a single,
  larger project source tree?
 
 
 
 The only thing (currently) like this in Fossil is the fossil open
 --nested command, which allows you to create a checkout for repository
 nested inside a checkout for another repository.  (Normally, if you try to
 do fossil open while you are within another check-out, the open fails
 with an error.)
 
 A nested check-out does NOT keep track of which versions of which
 repositories are associated with each check-in.  Nor are there convenient
 commands that fetch an automatically open nested check-outs.  The only
 thing this allows is for you to construct a tree of checkouts.
 
 But maybe that is enough for what you are trying to do.  I dunno

Someone I know was asking about it.  I wondered if there was more
available than --nested for that, for purposes of things like being able
to automate cloning of submodules or at least getting a canonical list
of submodules for a project to help keep a distributed team on the
same page in terms of managing the whole source tree split across
repositories, if only for the purpose of being able to advise my
acquaintance intelligently.

Thanks.

-- 
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


Re: [fossil-users] nginx fronting fossil best practices?

2014-03-04 Thread Jon
Thank you. Your setup is fastcgi, not scgi, correct?

I'm now unclear about the scgi setup. From the wiki I thought scgi requires
just two pieces. First, start fossil like

fossil --localhost --scgi /srv/fossils/partner

and second, set an nginx location similar to

location ~ ^/partner/ {
include scgi_params;
scgi_pass 127.0.0.1:8080;
scgi_param SCRIPT_NAME /partner;
}

A stub cgi script is not needed.

I'll tinker with scgi tomorrow, but even if I get it working, I don't yet
see how scgi ensures fossil generates correct links to it's gui while that
route back user url's similar to

http://somewhere.mydomain.com/partner/repo-name/...

back to the fossil server listening to sgci protocol traffic
on127.0.0.1:8080. With scgi I think I still need to configure nginx
`location` trickery to handle uri and :80 to 127.0.0.1:8080 issues.

Feels like I'm missing a piece of the puzzle and overcomplicating nginx +
fossil.


On Tue, Mar 4, 2014 at 4:15 PM, Stephen Cripps 9...@queensu.ca wrote:

  Hi Jon,

 I went through the process of setting up fossil behind NGINX the same way
 your looking for, where you can specify the repository depending on the
 url. At first I tried the proxy method with xinetd, but had to play with
 path's of the actual repositories before it would work.

 The solution I went with was to use scgi with configuration similar to the
 following:

 In /etc/nginx.conf

 location ~ ^/fossil(.*)$ {
 fastcgi_passunix:/run/fcgiwrap.sock;
 include fossil_fcgi_params;
 fastcgi_param   SCRIPT_NAME /fossil;
 }

 In fossil_fcgi_params

 fastcgi_param  QUERY_STRING   $query_string;
 fastcgi_param  REQUEST_METHOD $request_method;
 fastcgi_param  CONTENT_TYPE   $content_type;
 fastcgi_param  CONTENT_LENGTH $content_length;
 fastcgi_param  SCRIPT_NAME$fastcgi_script_name;
 fastcgi_param  REQUEST_URI$request_uri;
 fastcgi_param  DOCUMENT_URI   $document_uri;
 fastcgi_param  DOCUMENT_ROOT  $document_root;
 fastcgi_param  SERVER_PROTOCOL$server_protocol;
 fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
 fastcgi_param  SERVER_SOFTWAREnginx;
 fastcgi_param  REMOTE_ADDR$remote_addr;
 fastcgi_param  REMOTE_PORT$remote_port;
 fastcgi_param  SERVER_ADDR$server_addr;
 fastcgi_param  SERVER_PORT$server_port;
 fastcgi_param  SERVER_NAME$server_name;
 fastcgi_param  REMOTE_USER$remote_user;

 And the cgi script as

 #!/usr/bin/fossil
 directory: /srv/fossil/
 notfound: http://localhost/invalid.html

 Where /srv/fossil is where I keep the .fossil files.

 Stephen C


 On 04/03/14 01:34 PM, Jon wrote:

  New to fossil and am trying to stand up a simple fossil server fronted
 by nginx. I've read the website doco, spelunked the mailing list, and have
 tweaked configurations a bit. All to no avail.

  I want to use fossil and nginx to make multiple repos available via base
 url's such as

http://somewhere.mydomain.com/partner/repo-name

  in which fossil repos live under root-owned /srv/fossils/partner as
 *.fossil files

 With limited nginx configuration tweaking the best I've been able to
 achieve is a fossil repo main page but with invalid links (e.g. -
 http://127.0.0.1:8080/logicalmaps/index) pointing to the fossil server
 running in localhost mode. Via the following I see fossil redirects which
 likely means a more complex nginx config.

 $ curl -I http://stimpy/partner/logicalmaps
 HTTP/1.1 302 Moved Temporarily
 Server: nginx
 Date: Tue, 04 Mar 2014 18:03:09 GMT
 Content-Type: text/html; charset=utf-8
 Content-Length: 80
 Connection: keep-alive
 Location: http://stimpy/logicalmaps/index
 X-Frame-Options: SAMEORIGIN
 Cache-control: no-cache

  Below are the relevant snippets of my original fossil and nginx config
 that does not work.

 Before I spend more time (likely in the wrong direction) I'd appreciate
 your guidance as to the best way to setup fossil + nginx. I'd prefer nginx
 in reverse http proxy mode but SCGI is also fine. Once the base config
 works, I'll move to HTTPS.

  Jon



   BASIC FOSSIL and NGINX CONFIGURATION 

  # upstart script - /etc/init/fossil.conf
  description Fossil DVCS Server

 start on runlevel [2345]
 stop on runlevel [!2345]
 respawn

 exec /usr/local/sbin/fossil server --localhost /srv/fossils/partner


  # main nginx config - /etc/nginx/nginx.conf
 ...
 http {
 include   /etc/nginx/mime.types;
 default_type  application/octet-stream;
 ...
 include /etc/nginx/conf.d/*.conf;
 }


  # default nginx config - /etc/nginx/conf.d/default.conf
  server {
 listen   80 default_server;
 server_name  stimpy;
 server_tokens off;
 ...
 location / {
 root   /usr/share/nginx/html;
 index  index.html index.htm;
 }
 ...
  location /partner/ {
  proxy_pass http://127.0.0.1:8080/;
  proxy_connect_timeout 30s;
  

Re: [fossil-users] nginx fronting fossil best practices?

2014-03-04 Thread Richard Hipp
On Tue, Mar 4, 2014 at 10:27 PM, Jon jon.for...@gmail.com wrote:

 Thank you. Your setup is fastcgi, not scgi, correct?

 I'm now unclear about the scgi setup. From the wiki I thought scgi
 requires just two pieces. First, start fossil like

 fossil --localhost --scgi /srv/fossils/partner

 and second, set an nginx location similar to

 location ~ ^/partner/ {
 include scgi_params;
 scgi_pass 127.0.0.1:8080;
 scgi_param SCRIPT_NAME /partner;
 }

 A stub cgi script is not needed.

 I'll tinker with scgi tomorrow, but even if I get it working, I don't yet
 see how scgi ensures fossil generates correct links to it's gui while that
 route back user url's similar to

 http://somewhere.mydomain.com/partner/repo-name/...

 back to the fossil server listening to sgci protocol traffic
 on127.0.0.1:8080. With scgi I think I still need to configure nginx
 `location` trickery to handle uri and :80 to 127.0.0.1:8080 issues.

 Feels like I'm missing a piece of the puzzle and overcomplicating nginx +
 fossil.


I've only used nginx once, and that was to test the SCGI code of Fossil
when I was writing it.  I didn't have to do anything special, other than
setting the SCRIPT_NAME scgi_param.  The links that the GUI generates are
either relative, or else they are use the HTTP_HOST scgi_param, depending
on context.

http://www.fossil-scm.org/fossil/doc/tip/www/server.wiki#scgi shows my
complete setup.  It just works.  Don't try to over-think it.


-- 
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] fossil/stunnel question

2014-03-04 Thread Ron Aaron
Actually, it's really an stunnel question.

I am experimenting with using stunnel on my server for fossil access (I
currently use Apache+SSL).

If the stunnel is configured to run in foreground, everything is fine;
but if not, it fails with a read error.  I assume this is a technical
problem I can fix in the stunnel.conf, but so far I haven't had success.

Any suggestions?

Thanks,
Ron

-- 
For confidential messages, please use my GnuPG key
http://ronware.org/gpg_key.html




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] Missing highlighted space changes in diff?

2014-03-04 Thread Jan Nijtmans
2014-03-05 7:25 GMT+01:00 Andy Bradford amb-fos...@bradfords.org:
 My most heavily used Fossil includes a lot of Python and with the recent
 changes, Fossil annotate/blame now renders a function entirely devoid of
 whitespace:

 def f(a):
 b = a + 1
 return b

That's a bug which still needs to be fixed. I'll have a look at that.

For the annotate pages I would prefer the default behavior
to be to ignore whitespaces. See for example the following
lines:

http://fossil-scm.org/index.html/artifact/c31113fe7e?ln=1711-1713

Then annotate this page and see who wrote those lines??? It
will give you the answer: joel.
But ... If you annotate the previous version of this file,
you will see that the real author of those lines is dhr:
http://fossil-scm.org/index.html/info/a2e7472d0fa04132

All joel did was remove an if() around those lines, thereby
changing the indent. Does that make joel the author?
I think not! The diff-eolws branch gives the correct
answer. Your addition gives the correct answer after
pressing the Ignore Whitespace button.

Regards,
  Jan Nijtmans
___
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] importing/forking from Git

2014-03-04 Thread Ron Wilson
On Tue, Mar 4, 2014 at 7:24 PM, Chad Perrin c...@apotheon.net wrote:

 Both of those solutions would surely work in this case (as long as the
 incremental option works on the server, but not in cases where the same
 would be done by someone with commit access but no SSH filesystem/shell
 access (which is likely in future cases).


If you mean using a hosting service, then I would think the service either
provides SSH access or a way transfer existing project repositories to the
service's hosts, possibly providing a means to clone from your local Fossil
repository to the server.

Indeed, making the server side repository a clone of your local repository
is probably better. Then there will be no question that you can push
further imports to the server repository.
___
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] Missing highlighted space changes in diff?

2014-03-04 Thread Andy Bradford
Thus said Jan Nijtmans on Wed, 05 Mar 2014 07:38:05 +0100:

 All joel did  was remove an if() around those  lines, thereby changing
 the  indent.  Does  that  make  joel the  author?  I  think  not!  The
 diff-eolws branch gives the correct  answer. Your addition gives the
 correct answer after pressing the Ignore Whitespace button.

It makes Joel  the author of the  most recent change to  that line, yes,
and  Fossil has  not lost  the history  of who  made the  non-whitespace
changes. Also, clicking  the button to reveal  the non-whitespace change
is no more ``correct'' than if Joel had instead changed ``Listening'' to
``listening'' on  one of those  lines. It would  still show Joel  as the
``author'' of that line, but really  he simply made a minor modification
to it  while drh  was the  original author.  Should Fossil  be concerned
about authors of bytes in annotate/blame?

What is the ``correct answer'' if not the current line of text that 
exists in checkin a2e7472d0fa04132?

Andy
-- 
TAI64 timestamp: 40005316c98a


___
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] importing/forking from Git

2014-03-04 Thread Chad Perrin
On Wed, Mar 05, 2014 at 01:40:49AM -0500, Ron Wilson wrote:
 On Tue, Mar 4, 2014 at 7:24 PM, Chad Perrin c...@apotheon.net wrote:
 
  Both of those solutions would surely work in this case (as long as the
  incremental option works on the server, but not in cases where the same
  would be done by someone with commit access but no SSH filesystem/shell
  access (which is likely in future cases).
 
 
 If you mean using a hosting service, then I would think the service either
 provides SSH access or a way transfer existing project repositories to the
 service's hosts, possibly providing a means to clone from your local Fossil
 repository to the server.

I'm talking about a distributed team, where not everyone has SSH shell
access or the ability to directly change anything on the filesystem, but
they all have commit access to a specific set of repositories.  This
means, for instance, that they could clone from, and sync with, an
existing repository -- but not all could create or delete entire
repositories.

-- 
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