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=20&y=ci&c=2013-12-20+17:04:49
http://www.fossil-scm.org/index.html/timeline?n=20&c=2014-01-16+11:56:09&y=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


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" 
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] Index (was Re: git->fossil->git does not obtain the same commit hashes.)

2014-06-15 Thread Joan Picanyol i Puig
* Joel Bruick  [20140606 06:55]:
> Richard Hipp wrote:
> >On Thu, Jun 5, 2014 at 8:33 PM, Nico Williams  >> wrote:
> >
> >On Thu, Jun 5, 2014 at 7:22 PM, Matt Welland  >> 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 Sergei Gavrikov
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


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. :)

[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 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
 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 
___
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 
> 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 Richard Hipp
On Sun, Jun 15, 2014 at 9:45 AM, Sergei Gavrikov 
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
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 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 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