Re: [fossil-users] libfossil + fuse
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
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
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
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
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?
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
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?
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.)
* 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
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?
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