Discussion:
basic questions about fossil
(too old to reply)
Russ Paielli
2010-12-16 02:44:46 UTC
Permalink
Hi Richard,

I discovered fossil yesterday while reading the Wikipedia page that compares
version control systems. I read lots of the material on the fossil website,
and I must say that fossil looks very promising. Congratulations on what
appears to a great piece of software!

I have very little experience with version control, but I'd like to start
using it more. I work in a Clearcase environment, but I don't use Clearcase
myself because I work relatively independently (I am an aerospace research
engineer who writes prototype software for research in air traffic control).
I recently started doing a little research on the alternatives. I watched
Linus Torvalds talk at Google, and he sold me on distributed version
control. At first I was interested in Git and BitKeeper. Then I discovered
Bazaar, and I was almost ready to start using it, but I decided to take one
more look at the options. When I saw fossil, I figured, with a name like
that, it's a real long shot, but I'll take a look anyway. Sure enough, it
looks impressive. I just have a few questions.

The Bazaar website claims that one advantage of Bazaar over Git is that it
properly handles renames of files and directories. That is important to me.
I'm very particular about filenames and directory structure, and I don't
want to feel that I am stuck with the first file name or directory structure
I chose because changing it will confuse my version control system (or
confuse the people using it). How does fossil compare to Bazaar in that
regard? While your at it, I'd be interested to know how it compares to
Bazaar in general.

I downloaded fossil and gave it a try on my Linux machine. The first time I
tried to add files, I got stuck in some mode that I could not get out of.
Apparently, my EDITOR environment variable was not set, and I was supposed
to give a comment. Fossil was showing a question mark, but I did not know
what it wanted, and not even Control-C would get me out. I ended up killing
the terminal and deleting the repository I had just created in case it was
corrupted. How was I supposed to respond to the question mark?

By the way, why do these version control systems insist on a comment? Yes, I
understand that commenting is good practice, but does that mean it should be
mandatory and the version control system should force me to write one? I
tend to think not.

Regards,
Russ Paielli
--
http://RussP.us
Rene
2010-12-16 11:24:39 UTC
Permalink
On Wed, 15 Dec 2010 18:44:46 -0800, Russ Paielli
Post by Russ Paielli
Hi Richard,
I discovered fossil yesterday while reading the Wikipedia page that
compares version control systems. I read lots of the material on the
fossil website, and I must say that fossil looks very promising.
Congratulations on what appears to a great piece of software!
I have very little experience with version control, but I'd like to
start using it more. I work in a Clearcase environment, but I don't
use Clearcase myself because I work relatively independently (I am an
aerospace research engineer who writes prototype software for research
in air traffic control). I recently started doing a little research on
the alternatives. I watched Linus Torvalds talk at Google, and he sold
me on distributed version control. At first I was interested in Git
and BitKeeper. Then I discovered Bazaar, and I was almost ready to
start using it, but I decided to take one more look at the options.
When I saw fossil, I figured, with a name like that, it's a real long
shot, but I'll take a look anyway. Sure enough, it looks impressive. I
just have a few questions.
The Bazaar website claims that one advantage of Bazaar over Git is
that it properly handles renames of files and directories. That is
important to me. I'm very particular about filenames and directory
structure, and I don't want to feel that I am stuck with the first
file name or directory structure I chose because changing it will
confuse my version control system (or confuse the people using it).
How does fossil compare to Bazaar in that regard? While your at it,
I'd be interested to know how it compares to Bazaar in general.
I downloaded fossil and gave it a try on my Linux machine. The first
time I tried to add files, I got stuck in some mode that I could not
get out of. Apparently, my EDITOR environment variable was not set,
and I was supposed to give a comment. Fossil was showing a question
mark, but I did not know what it wanted, and not even Control-C would
get me out. I ended up killing the terminal and deleting the
repository I had just created in case it was corrupted. How was I
supposed to respond to the question mark?
You were put in ed The standard and always present editor in UN*X's.
q for quit would be the appropriated response.

instead of setting the EDITOR variable you could do
fossil settings editor PutYourFavoriteEditorHere -global
Post by Russ Paielli
By the way, why do these version control systems insist on a comment?
Yes, I understand that commenting is good practice, but does that mean
it should be mandatory and the version control system should force me
to write one? I tend to think not.
Because when you alter software you have an intent.
It is either correcting a bug, adding features, building.
These commits show the intent why you altered the software. So just the
comment will give you an idea what the intent of the source code change
are. Which will be beneficial 2 months later when you try to remember
which commit contains the change you made.

I ques that in your case not setting the EDITOR and going with q enter
y enter
is sufficient
Post by Russ Paielli
Regards,
Russ Paielli
In general every software package has it own learning curve. I think in
the case
of fossil you are now over the steepest curve :-)

Regards
--
Rene
Russ Paielli
2010-12-17 03:41:55 UTC
Permalink
Post by Rene
On Wed, 15 Dec 2010 18:44:46 -0800, Russ Paielli
Post by Russ Paielli
I downloaded fossil and gave it a try on my Linux machine. The first
time I tried to add files, I got stuck in some mode that I could not
get out of. Apparently, my EDITOR environment variable was not set,
and I was supposed to give a comment. Fossil was showing a question
mark, but I did not know what it wanted, and not even Control-C would
get me out. I ended up killing the terminal and deleting the
repository I had just created in case it was corrupted. How was I
supposed to respond to the question mark?
You were put in ed The standard and always present editor in UN*X's.
q for quit would be the appropriated response.
Thanks. Do you have any idea how frustrating it is to get stuck like that
within the first five minutes of trying a new program? I'd like to make a
suggestion. Instead of just randomly dumping the user into an editor that he
may have never even heard of, I suggest that, if the editor is not
specified, the user should be explicitly prompted for which editor to use.
The user response could then be automatically stored in the fossil editor
setting for future use (with a mention that this is being done, along with a
brief statement of how to change it in the future if desired). That would
have saved me some head scratching.
Post by Rene
instead of setting the EDITOR variable you could do
fossil settings editor PutYourFavoriteEditorHere -global
Post by Russ Paielli
By the way, why do these version control systems insist on a comment?
Yes, I understand that commenting is good practice, but does that mean
it should be mandatory and the version control system should force me
to write one? I tend to think not.
Because when you alter software you have an intent.
It is either correcting a bug, adding features, building.
These commits show the intent why you altered the software. So just the
comment will give you an idea what the intent of the source code change
are. Which will be beneficial 2 months later when you try to remember
which commit contains the change you made.
I realize all that. But what if I'm working independently, and I just want
to be able to retrieve a working version if I screw something up. I'm not
suggesting that I work that way now, but I have in the past, and I didn't
consider it worth my time to write comments when the chances are small that
I will never look at them anyway. It's not a major issue, but it just seems
to me that I should be able to commit without having to write a comment --
even an empty comment to satisfy the program.

By the way, here's another little thing I got stuck on. I ran "fossil ui",
and the webpage that was generated is very nice. However, the ui command did
not return (even after I closed the webpage). I ended up using Control-C to
get a prompt back. Sorry if this is a dumb question, but how do I get the ui
command to return normally? Thanks.

Russ P.
--
http://RussP.us
Russ Paielli
2010-12-17 03:59:14 UTC
Permalink
Here's another suggestion for comments. The idea of launching an editor
seems excessive to me. When I'm working remotely, it sometimes takes half a
minute or so for the editor to come up. If the user neglects to enter a "-m"
comment, why not issue a query such as, "Do you wish to enter a comment?
[yN]: " If the reply is yes, then accept a comment from the command line,
terminating with a newline or Control-D (and explain in advance how to
terminate the comment). Is that reasonable? Thanks.

Russ P.
--
http://RussP.us
Gour
2010-12-17 07:06:56 UTC
Permalink
On Thu, 16 Dec 2010 19:59:14 -0800
Russ> Here's another suggestion for comments. The idea of launching an
Russ> editor seems excessive to me. When I'm working remotely, it
Russ> sometimes takes half a minute or so for the editor to come up. If
Russ> the user neglects to enter a "-m" comment, why not issue a query
fossil ci -m ""
empty check-in comment. continue (y/N)? y

Russ> Is that reasonable?


Sincerely,
Gour
--
Gour | Hlapicina, Croatia | GPG key: CDBF17CA
----------------------------------------------------------------
Stephan Beal
2010-12-17 10:36:51 UTC
Permalink
Post by Russ Paielli
Here's another suggestion for comments. The idea of launching an editor
seems excessive to me. When I'm working remotely, it sometimes takes half a
minute or so for the editor to come up. If the user neglects to enter a "-m"
comment
If i'm not mistaken, the vast majority of SCMs will launch an editor if -m
is not specified. Most developers (in my experience) frown on empty commit
messages (CVS had optional hook scripts to reject such commits), not
launching the editor when -m is _not_ specified would probably violate the
"principal of least surprise" for most users.

FYI: fossil also supports the -M FILENAME (upper-case M) option to read the
commit message from a file.

PS: welcome to fossil! i HIGHLY recommend it for personal projects like you
mentioned. It is, hands down, the easiest way to get source control set up
and distributed. If your web hoster provides CGI support then you can put
your repos on the web and sync them from anywhere. Most other SCMs require a
custom server, special apache modules, ssh access, or similar, for
distributed work. Fossil is, AFAIK, the only one which supports CGI out of
the box, which is (for me) the "killer feature" of fossil.
--
----- stephan beal
http://wanderinghorse.net/home/stephan/
Russ Paielli
2010-12-17 18:05:38 UTC
Permalink
Post by Stephan Beal
Post by Russ Paielli
Here's another suggestion for comments. The idea of launching an editor
seems excessive to me. When I'm working remotely, it sometimes takes half a
minute or so for the editor to come up. If the user neglects to enter a "-m"
comment
If i'm not mistaken, the vast majority of SCMs will launch an editor if -m
is not specified. Most developers (in my experience) frown on empty commit
messages (CVS had optional hook scripts to reject such commits), not
launching the editor when -m is _not_ specified would probably violate the
"principal of least surprise" for most users.
I don't want to make a big issue out of the comment thing, but I think my
suggestion to query for a comment on the command line rather than opening an
editor would be an improvement, albeit a small one. If I forget to enter a
"-m" comment, I find it slightly annoying to have to wait for a full-blown
editor to come up. And being thrown into an editor I've never heard of is
frustrating.
Post by Stephan Beal
FYI: fossil also supports the -M FILENAME (upper-case M) option to read the
commit message from a file.
PS: welcome to fossil! i HIGHLY recommend it for personal projects like you
mentioned. It is, hands down, the easiest way to get source control set up
and distributed. If your web hoster provides CGI support then you can put
your repos on the web and sync them from anywhere. Most other SCMs require a
custom server, special apache modules, ssh access, or similar, for
distributed work. Fossil is, AFAIK, the only one which supports CGI out of
the box, which is (for me) the "killer feature" of fossil.
Yeah, fossil looks very promising. I intend to give it a try, and if I like
it (as I expect), I may suggest that the larger group I work with consider
it too. How well does fossil scale up to a group of a couple dozen
developers?

Russ P.
--
http://RussP.us
Stephan Beal
2010-12-17 10:29:33 UTC
Permalink
Post by Russ Paielli
Thanks. Do you have any idea how frustrating it is to get stuck like that
within the first five minutes of trying a new program?
It is annoying, but this behaviour is common to many unix tools. e.g. try
"crontab -e" when EDITOR or VISUAL is not set to your favourite editor. ed
is used by default in that case. (Tip: Ctrl-Z to background it, then kill -9
%1 (in bash) to kill it.)
Post by Russ Paielli
I'd like to make a suggestion. Instead of just randomly dumping the user
into an editor that he may ...how to change it in the future if desired).
That would have saved me some head scratching.
i like that idea.
Post by Russ Paielli
By the way, here's another little thing I got stuck on. I ran "fossil ui",
and the webpage that was generated is very nice. However, the ui command did
not return (even after I closed the webpage). I ended up using Control-C to
get a prompt back. Sorry if this is a dumb question, but how do I get the ui
command to return normally? Thanks.
You must tap Ctrl-C, and the reason is that "fossil ui" is basically "fossil
server" plus the launch of your browser. When the browser closes, the fossil
server is still running and you can still visit it by re-opening your
browser (by default: localhost:8080). Mildly annoying sometimes, i agree,
but this makes the "ui" command simple to implement in fossil by re-using
the "server" command.
--
----- stephan beal
http://wanderinghorse.net/home/stephan/
s***@flashingtwelve.brickfilms.com
2010-12-16 14:43:01 UTC
Permalink
... At first I was interested in Git and BitKeeper. Then I discovered
Bazaar, and I was almost ready to start using it, but I decided to take one
more look at the options. When I saw fossil, I figured, with a name like
that, it's a real long shot, but I'll take a look anyway. ...
You might be interested in visiting
http://better-scm.berlios.de/comparison/comparison.html which is a
website that provides a conspectus of the various source control
management options currently available.
The Bazaar website claims that one advantage of Bazaar over Git is that it
properly handles renames of files and directories. That is important to me.
I'm very particular about filenames and directory structure, and I don't
want to feel that I am stuck with the first file name or directory structure
I chose because changing it will confuse my version control system (or
confuse the people using it). How does fossil compare to Bazaar in that
regard?
My understanding is that Fossil supports renames of files and
directories, but does not support merges that later use the deprecated
name. This is something of a race condition and might be a concern for
projects with lots of disparate contributors. My own experience is
that by the time a project garners lots of contributors, the basic
tree structure is fairly well sussed (and for few contributors lack of
this support is not that problematic). Nonetheless, providing support
for "intelligent renames" is on Fossil's TODO list.
By the way, why do these version control systems insist on a comment? Yes, I
understand that commenting is good practice, but does that mean it should be
mandatory and the version control system should force me to write one? I
tend to think not.
Fossil doesn't actually mandate that you enter a comment -- but it is
generally a good idea.
Richard Hipp
2010-12-16 15:17:27 UTC
Permalink
Post by s***@flashingtwelve.brickfilms.com
My understanding is that Fossil supports renames of files and
directories, but does not support merges that later use the deprecated
name. This is something of a race condition and might be a concern for
projects with lots of disparate contributors. My own experience is
that by the time a project garners lots of contributors, the basic
tree structure is fairly well sussed (and for few contributors lack of
this support is not that problematic). Nonetheless, providing support
for "intelligent renames" is on Fossil's TODO list.
Some support for "intelligent renames" was added two days ago. Merging and
updating to renamed files does the right thing, mostly. There are even a
few simple test cases to verify the correct operation of "intelligent
renames".

That said - I'm sure there are cases that will not work. For example, if
you interchange two files (rename A to C, rename B to A, then rename C to B,
thus swapping A and B) then things are less likely to work right. Fossil
keeps around enough information so that it could, in theory, do the right
thing there, but a lot of code is involved and that really is an extreme
corner case, so it does not work yet.
--
D. Richard Hipp
***@sqlite.org
Continue reading on narkive:
Loading...