2010/1/21 Daniel Carrera <[email protected]>

> Michael Richter wrote:
> > mich...@isolde:~/junk/B$ darcs push
> >
> > darcs failed:  Not a repository: /home/michael/junk/A
> > (/home/michael/junk/A/_darcs/inventory: openBinaryFile: does not exist
> > (No such file or directory))
> >
> > Oops.  So much for "equal and independent" branches!
>
> Ugh. Your beef is that you have to specify where you are pushing to?
>

Do you read before you respond?  My specific beef was given and it has
nothing to do with specifying where I'm pushing to.  (Hint: *lost work*.)


> That hardly seems like a dependency, or like something that fossil can
> avoid. How does any SCM, know where I want to push when I just say
> "push"?


Because, Sparky, when you clone a repo in fossil you have a repository
file.  That repository file contains the original place you cloned from
within it.

You have to *open* said file to get your working set and the repo that your
working set comes from is conveniently stored for you in _FOSSIL_ -- that
file you hate so much.  So when you say "fossil commit", fossil knows where
to commit because, get this, your working set comes from a repository and
has it recorded all automagically-like.  Further, when you say "fossil
push", fossil knows which repository you're talking about (from _FOSSIL_)
and then where that repository pushes to (the repo file).

That whole separation of concerns thing is what I like about Fossil and what
I didn't like about Mercurial or Darcs.


> Where does Fossil push if I just say "fossil push"? What if I remove
> that location? Will Fossil not complain? Or will it somehow know I want
> to push to some other place?
>

If you're dumb enough to remove the repository (as opposed to your working
set) you've got problems of course.  The difference is that it takes
specific user action separate and above the deletion of the working set to
delete the repository.  With Darcs and Mercurial both I've accidentally
turfed repositories that held data as yet un-propagated because I'd
forgotten that I'd cloned them to do some work and pushed locally.  I
deleted what I thought was basically just a working set only to find out
that I'd accidentally deleted actual work.

This kind of accident doesn't happen in Fossil because I don't delete
repositories unless I'm sure that, you know, I'm never working on that
project again.  In the case of my shared repositories I don't delete them at
all unless the project itself has been canned (and even then I keep 'em
around).  No room for accidents.

Anyway, with this I'm bowing out.  You're obviously not reading the docs nor
the messages of the people explaining things to you.  I'll let people more
patient than me educate you if you're at all capable of such.
_______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to