Re: [fossil-users] libfossil + fuse

2014-06-15 Thread Sergei Gavrikov
On Fri, 13 Jun 2014, Richard Hipp wrote:

 This appears to be working now on trunk.  Get the latest code.  Rerun
 ./configure and recompile (on a Linux system with FuseFS support -
 Ubuntu 13.10 works for me after apt-get install fuse).  Then:

  fossil fusefs /tmp/myrepo

 Then you can access files using things like:

  ls /tmp/myrepo/checkins/4bf670e61250

 The 4bf670e61250 part can be replaced by any valid check-in name. 
 See http://www.fossil-scm.org/fossil/doc/tip/www/checkin_names.wiki
 for a discussion of what constitutes a valid check-in name.
  
Thanks for nice Fossil FS! I found one strange thing. One my Fossil
repository has two directories, rootfs and rootfs-earth. After
fossil fuse mount `ls' could not find rootfs directory, but found
rootfs-earth

  % ls /tmp/fusefs/checkins/trunk
  ls: cannot access /tmp/fusefs/checkins/trunk/rootfs: No such file or directory

I found nothing special in my rootfs and I though that rootfs-earth
someway shadows it. The next test canvas does demo the issue, though I do
not known where is the bug, in fuse or fossil. Test on new repo

touch foo;f add foo;f ci -m add foo
touch foo-bar;f add foo-bar;f ci -m add foo-bar
mkdir bar;touch bar/.stick;f add --dotfiles bar;f ci -m add bar
mkdir bar-baz;touch bar-baz/.stick;f add --dotfiles bar-baz; f ci -m add 
bar-baz

Now there are foo, foo-bar files, and bar, bar-baz directories

  % f ls
  bar-baz/.stick
  bar/.stick
  foo
  foo-bar

Expected. Now

  % f fusefs /tmp/fusefs

And

  % ls /tmp/fusefs/checkins/trunk
  ls: cannot access /tmp/fusefs/checkins/trunk/bar: No such file or directory
  bar  bar-baz  foo

  % tree /tmp/fusefs/checkins/trunk
  /tmp/fusefs/checkins/trunk
  |-- bar-baz
  `-- foo

  1 directory, 1 file

  % ls -la  /tmp/fusefs/checkins/trunk
  ls: cannot access /tmp/fusefs/checkins/trunk/bar: No such file or directory
  total 0
  dr-xr-xr-x 2 sg sg 0 1970-01-01 03:00 .
  d--x--x--x 2 sg sg 0 1970-01-01 03:00 ..
  ?? ? ?  ?  ?? bar
  dr-xr-xr-x 2 sg sg 0 2014-06-15 16:07 bar-baz
  -r--r--r-- 1 sg sg 0 2014-06-15 16:07 foo

Can anyone reproduce this?

  % f version
  This is fossil version 1.29 [6b15019765] 2014-06-14 16:19:30 UTC

Thanks for your time.

Sergei___
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] libfossil + fuse

2014-06-15 Thread Thomas Schnurrenberger

On 15.06.2014 15:45, Sergei Gavrikov wrote:

 touch foo;f add foo;f ci -m add foo
 touch foo-bar;f add foo-bar;f ci -m add foo-bar
 mkdir bar;touch bar/.stick;f add --dotfiles bar;f ci -m add bar
 mkdir bar-baz;touch bar-baz/.stick;f add --dotfiles bar-baz; f ci -m 
add bar-baz


 Now there are foo, foo-bar files, and bar, bar-baz directories

% f ls
bar-baz/.stick
bar/.stick
foo
foo-bar

 Expected. Now

% f fusefs /tmp/fusefs

 And

% ls /tmp/fusefs/checkins/trunk
ls: cannot access /tmp/fusefs/checkins/trunk/bar: No such file or 
directory

bar  bar-baz  foo

% tree /tmp/fusefs/checkins/trunk
/tmp/fusefs/checkins/trunk
|-- bar-baz
`-- foo

1 directory, 1 file

% ls -la  /tmp/fusefs/checkins/trunk
ls: cannot access /tmp/fusefs/checkins/trunk/bar: No such file or 
directory

total 0
dr-xr-xr-x 2 sg sg 0 1970-01-01 03:00 .
d--x--x--x 2 sg sg 0 1970-01-01 03:00 ..
?? ? ?  ?  ?? bar
dr-xr-xr-x 2 sg sg 0 2014-06-15 16:07 bar-baz
-r--r--r-- 1 sg sg 0 2014-06-15 16:07 foo

 Can anyone reproduce this?

I can reproduce this on lubuntu 14.04 LTS with Fossil compiled from trunk.

--
tsbg

___
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] libfossil + fuse

2014-06-15 Thread Sergei Gavrikov
On Sun, 15 Jun 2014, Thomas Schnurrenberger wrote:

 I can reproduce this on lubuntu 14.04 LTS with Fossil compiled from trunk.

Thanks. Mine 10.04. More precision test case

 % for i in a ab abc abcd;do touch $i; f add $i; f ci -m add $i; sleep 1; done
 % for i in a ab abc abcd;do touch subdir/$i; f add subdir/$i; f ci -m add 
subdir/$i; sleep 1; done

Expected

 % f ls
 a
 ab
 abc
 abcd
 subdir/a
 subdir/ab
 subdir/abc
 subdir/abcd

But

 % tree /tmp/fusefs/checkins/trunk
 /tmp/fusefs/checkins/trunk
 |-- a
 `-- subdir
 |-- a
 |-- ab
 |-- abc
 `-- abcd

It seems there is the issue in Fossil fuse readdir for root items only.

Sergei

On Sun, 15 Jun 2014, Thomas Schnurrenberger wrote:

 On 15.06.2014 15:45, Sergei Gavrikov wrote:
 
  touch foo;f add foo;f ci -m add foo
  touch foo-bar;f add foo-bar;f ci -m add foo-bar
  mkdir bar;touch bar/.stick;f add --dotfiles bar;f ci -m add bar
  mkdir bar-baz;touch bar-baz/.stick;f add --dotfiles bar-baz; f ci -m add
 bar-baz
 
  Now there are foo, foo-bar files, and bar, bar-baz directories
 
 % f ls
 bar-baz/.stick
 bar/.stick
 foo
 foo-bar
 
  Expected. Now
 
 % f fusefs /tmp/fusefs
 
  And
 
 % ls /tmp/fusefs/checkins/trunk
 ls: cannot access /tmp/fusefs/checkins/trunk/bar: No such file or
 directory
 bar  bar-baz  foo
 
 % tree /tmp/fusefs/checkins/trunk
 /tmp/fusefs/checkins/trunk
 |-- bar-baz
 `-- foo
 
 1 directory, 1 file
 
 % ls -la  /tmp/fusefs/checkins/trunk
 ls: cannot access /tmp/fusefs/checkins/trunk/bar: No such file or
 directory
 total 0
 dr-xr-xr-x 2 sg sg 0 1970-01-01 03:00 .
 d--x--x--x 2 sg sg 0 1970-01-01 03:00 ..
 ?? ? ?  ?  ?? bar
 dr-xr-xr-x 2 sg sg 0 2014-06-15 16:07 bar-baz
 -r--r--r-- 1 sg sg 0 2014-06-15 16:07 foo
 
  Can anyone reproduce this?
 
 I can reproduce this on lubuntu 14.04 LTS with Fossil compiled from trunk.

 --
 tsbg

 ___
 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] libfossil + fuse

2014-06-15 Thread Richard Hipp
On Sun, Jun 15, 2014 at 9:45 AM, Sergei Gavrikov sergei.gavri...@gmail.com
wrote:


 Thanks for nice Fossil FS! I found one strange thing. One my Fossil
 repository has two directories, rootfs and rootfs-earth. After
 fossil fuse mount `ls' could not find rootfs directory,


Should be fixed now.  Please try again with the latest trunk version of
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] libfossil + fuse

2014-06-15 Thread Sergei Gavrikov
The issue went away. Thanks!

Sergei

On Sun, 15 Jun 2014, Richard Hipp wrote:

 On Sun, Jun 15, 2014 at 9:45 AM, Sergei Gavrikov sergei.gavri...@gmail.com
 wrote:

 Thanks for nice Fossil FS! I found one strange thing. One my Fossil
 repository has two directories, rootfs and rootfs-earth. After
 fossil fuse mount `ls' could not find rootfs directory,


 Should be fixed now.  Please try again with the latest trunk version of
 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] How to deal with incomplete code?

2014-06-15 Thread John Found
I think you are wrong with your ideas. Committing not working code is not a bad 
practice at all. Commit often, commit always. I am committing not working code 
all the time and it works great for me. :)
  
I am only trying to keep the trunk branch working (notice: only trying). 
Create new branch for every feature you want to experiment and when it is 
ready, simply merge it with the trunk.

You can see how it look in practice, on one of my repositories: 
http://fresh.flatassembler.net/fossil/repo/fresh/timeline

You can see for example: 2014-06-14:

[42504ecb33] Leaf: Partially fixed (compiles, but not working properly) 
TScrollWindow and TFreshEdit. (user: johnfound, tags: FreshLibGUI) 


On Sat, 14 Jun 2014 17:15:12 +0300
to...@acm.org wrote:

 Hi all,
 
 It seems to me that commits are best (from a logical point of view) when they 
 refer to completed work, not for work-in-progress (WIP).  Besides, it’s not 
 nice to see a timeline filled with incomplete non-working code.  For example, 
 I create a new library code file that is under initial development, but it 
 may take many days/weeks to bring out the initial version, which will become 
 the first commit for this file.  After that, each completed/tested update 
 (bug fixes, new features, etc.) will become another commit.  But, how do I 
 save the WIP file in the repo in a ‘temporary’ state so that it doesn’t keep 
 track of all incomplete work in the history.  
 
 You could say, do not add it until it’s completed.  Problem 1: Clean would 
 kill it, Problem 2: Working on multiple computers, taking changes along to 
 continue work in other location.
 
 Another possible solution is to make a new branch for each new file that is 
 WIP but that still doesn’t seem the best way, let alone after a while the 
 repo will be filled with a whole bunch of temp branches.  And what if the new 
 code depends on many of the trunk files?  The ‘trunk’ code could be making 
 significant changes (perhaps, some incompatible ones), and the ‘temporary’ 
 branch will have the version of the time the new files started, unless every 
 time ‘trunk’ changes everything is merged into the branch.  Besides, making a 
 branch, merging, ... also has the same problem of ‘polluting’ the timeline 
 with unnecessary history.
 
 I would like to somehow temporarily store the file in the repo (like with a 
 STASH) but in a way that it will stay there even if I close the repo.
 
 Any ideas or suggestions how to deal with this issue?
 
 TIA.


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


[fossil-users] Find in Files

2014-06-15 Thread Sean Woods
Dear List,

I am hacking on a large, complicated code base in my spare time for fun.
 I unzipped the tarball with many source files and imported it into a
Fossil repository.  This aids me greatly in reviewing the code.

I often use the find . | xargs grep idiom (or some variant) to search
within all the code files.  I am wondering how I could do this in
Fossil?

At minimum an SQL query would suffice but it would be super cool if I
could do this through the web interface.

Any ideas are much appreciated!
___
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] How to deal with incomplete code?

2014-06-15 Thread tonyp
Well, maybe my ideas are wrong for you, but I assure you, to me they always 
seem very right! :)  Just like programming styles, mine *may* be very wrong to 
many, but it's the best there is to me, and has never let me down!

But at least we agree on committing those work-in-progress files on some 
branch, other than trunk, to be eventually merged in the main trunk.  OK, my 
problem is not so much with the committing act per se (of non-working code,) -- 
besides, you do have to have a mechanism of adding your changes, even WIP ones, 
in the repo -- it's with ending up with a history / timeline that is full of 
'incomplete attempts', instead of clean code commits, and (for now, at least) 
no way to filter by, say, tag, so you have to see every little silly 
modification to any (yet) useless file.  If you could filter by tag, for 
example, or if you could, by default, see the timeline of only the currently 
active branch, it would be very good, as all those 'noise' changes would 
disappear.

As for your example, there's nothing new about it.  Of course, you can put 
anything anywhere and mark it with an appropriate comment, and feel happy about 
it.  But, imagine ten thousand commits later, where only 1% is working code, 
and the rest is temporary garbage that not only doesn't even compile in its 
entirety but may also never be incorporated into working code.  Isn't it 
frustrating to look at such a long timeline with very little good value?  It is 
to me!

Thanks for your comments, anyway!

P.S. to the ‘often opposing’ list.

(Hmm, maybe I subconsciously have a way to bring out the ‘evil’ in people!)

Look, I'm not on this list to get popularity votes, I'm only writing to either 
figure out ways how to do my work better – granted, the way *I* define 'better' 
– or to 'complain' on hopefully accepting ears, about things that I feel need 
improving.  Maybe I’m often the only one facing certain problems because of how 
I organize my work.  In that case, I don’t expect anyone’s sympathy for my very 
unique problems.  In that case, I would probably spend less time if I wrote my 
own SCM system than trying to improve the existing one by convincing everyone 
else about the necessities I see.  Hey, why not, I’ve done it before with 
compilers, assemblers, and MCU operating systems that didn’t work they way I 
expected them, and I couldn’t ‘bring’ the ones available closer to my needs.  I 
suppose that’s the same reason there are as many different SCMs – too many 
conflicting opinions.

But my own approach has been different, and I thought I wasn’t so ‘unique’ in 
that, as well!  Some of my work became publically available for free, and as a 
result I got many requests over the years from random users, which I felt I had 
a ‘moral’ obligation to at least consider, and so I accepted (and in most cases 
implemented – actually always, except when there was an unquestionable conflict 
with or misunderstanding of existing features) everyone’s ideas for improvement 
even when I felt those were not something that affected my own work or 
programming style, and knowing I would be the one to do all the programming for 
them.  But, you know what?  In the end, I had a much better product for myself, 
too!

Don’t get me wrong, FOSSIL is admittedly a great piece of software (and many 
thanks are due to its main authors), but it still has many shortcomings when 
used in ways other than envisioned.  I often get the impression, however, some 
would like [me], instead of talking about what seems wrong, to start writing 
how FOSSIL is so great, and please don't improve anything besides bugs because 
there's always a group of people who will be bothered by any change (even 
though most of the time it doesn't even directly affect them – they simply 
‘resist change’ – psychology 101), and things are fine they way they are!

BTW, I didn’t voice my position on the ‘no initial empty commit’ issue, 
although I strongly felt it was a genuine waste of programming effort, with a 
high risk of ‘bug-gage’.  But, at the same time, I accepted the possibility for 
this issue being important to others, so it’s none of my business to try to 
‘block’ it.  I do appreciate the work of all those involved in maintaining any 
piece of software, be it open source, or commercial, but I also think if you’re 
not interested in opinions from those not directly involved in the programming 
effort, then maybe it should be a closed project dedicated solely to those who 
contribute code to it.

In conclusion, I’ll let you all draw your own conclusions, and try to agree on 
them! :)

-Original Message- 
From: John Found 
Sent: Sunday, June 15, 2014 9:54 PM 
To: fossil-users@lists.fossil-scm.org 
Subject: Re: [fossil-users] How to deal with incomplete code? 

I think you are wrong with your ideas. Committing not working code is not a bad 
practice at all. Commit often, commit always. I am committing not working code 
all the time and it works great for me. :)

Re: [fossil-users] Index (was Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-15 Thread Joan Picanyol i Puig
* Joel Bruick j...@joelface.com [20140606 06:55]:
 Richard Hipp wrote:
 On Thu, Jun 5, 2014 at 8:33 PM, Nico Williams n...@cryptonector.com 
 mailto:n...@cryptonector.com wrote:
 
 On Thu, Jun 5, 2014 at 7:22 PM, Matt Welland estifo...@gmail.com
 mailto:estifo...@gmail.com wrote:
  foo.txt has changes A, B, C and D.
 
  After each change the developer had the foresight to do a
 fossil stash
  snapshot. Now the developer decides to put changes B and D into
 branch b-d
  and keep changes A and C on the trunk:
 
 Ah, foresight.  I should be blessed, but I am not, for that that's not
 how I work.
 
 
 I have different reasons for opposing the ability to checking 
 individual lines of a file, and I'd like to get Nico's feedback:
 
 The reason you should never do a partial check-in of a file is because 
 you clearly have not tested that partial change.  And you should 
 always test your code before you commit.  Especially when committing 
 to trunk.
 
 I agree with this, but Git does make testing your staged changes 
 relatively easy. You can call git stash save --keep-index to stash 
 only your unstaged changes, run your tests, commit, then call git stash 
 pop and continue working.
 
 With that said, I think that adding a way to stash partial changes to 
 files would be enough for what most people actually need from a staging 
 area (pulling out unrelated changes so they can be committed separately).

Seconded, this would simplify certain workflows a lot (the painful
alternative has already been pointed out). A command line implementation
of what tortoisehg offers as shelve would be awesome.

keep up the good work
--
pica
___
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] Find in Files

2014-06-15 Thread B Harder
Cscope (+1) knows much more than just C.
On Jun 15, 2014 2:17 PM, Sergei Gavrikov sergei.gavri...@gmail.com
wrote:

 On Sun, 15 Jun 2014, Sean Woods wrote:

  Dear List,
 
  I am hacking on a large, complicated code base in my spare time for
  fun.  I unzipped the tarball with many source files and imported it
  into a Fossil repository.  This aids me greatly in reviewing the code.
 
  I often use the find . | xargs grep idiom (or some variant) to
  search within all the code files.  I am wondering how I could do this
  in Fossil?
 
  At minimum an SQL query would suffice but it would be super cool if I
  could do this through the web interface.
 
  Any ideas are much appreciated!

 If your code base is C sources and you can use TUI/GUI, cscope is the
 best choice for searching through sources http://cscope.sourceforge.net/

 Need Web interface? Try LXR http://lxr.sourceforge.net/en/index.shtml

 LXR self cross-referenced (under SQLite)
 http://lxr.sourceforge.net/demo/ident/lxr

 Sergei
 ___
 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] How to deal with incomplete code?

2014-06-15 Thread Andy Bradford
Thus said to...@acm.org on Mon, 16 Jun 2014 00:14:20 +0300:

 OK, my  problem is  not so  much with  the committing  act per  se (of
 non-working code,)  -- besides,  you do  have to  have a  mechanism of
 adding your changes, even WIP ones, in the repo -- it's with ending up
 with  a history  / timeline  that  is full  of 'incomplete  attempts',
 instead  of  clean code  commits,  and  (for  now,  at least)  no  way
 to  filter  by, say,  tag,  so  you have  to  see  every little  silly
 modification to any (yet) useless file.

You can  use the ``hidden'' tag  to tuck away silly  attempts or commits
that were simply mistakes. In the Fossil source repository, code changes
that  were wrong  (or  silly) get  assigned to  the  mistake branch  and
sometimes marked ``hidden'' so they don't  show up in the timeline. Here
are some examples:

http://www.fossil-scm.org/index.html/timeline?n=20y=cic=2013-12-20+17:04:49
http://www.fossil-scm.org/index.html/timeline?n=20c=2014-01-16+11:56:09y=ci

If  you  click  the  ``Unhide''  button on  those  pages,  a  branch  of
development will appear that was not there before.

Andy
-- 
TAI64 timestamp: 4000539e78fc


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