On Mar 17, 2011, at 11:00 AM, "johnfound" <[email protected]> wrote:
> On Thu, 17 Mar 2011 16:22:22 +0300, Konstantin Khomoutov
> <[email protected]> wrote:
>> 
>> That is, my understanding is that it's check-ins (changesets) that are
>> versioned, not files, and so it's the relations between check-ins which
>> are considered when doing merges.
> 
> If so, then using "fossil update ?VERSION? ?FILES" syntax violate the
> "Principle of least astonishment".

The trouble with the principle of least astonishment is how unpredictable 
people's astonishment can be.

Changing a particular file or files in my checkout to the version of those 
files in some past or other branch is not a daily need, but I wouldn't call it 
rare for me. SVN actually does keep track of the revision of individual files, 
which I always found actually got in my way when all I want to do is replace a 
file with a previous version. There may be an easier way, but in SVN I always 
ended up copying and pasting the file contents from a graphical history view.

So a former SVN user could easily find the fossil behavior astonishing. It 
wasn't astonishing to me, and it was a welcome change, but then I had some 
intervening DVCS experience.

Git has no 'update' but uses the checkout verb for switching to a different 
commit, and like fossil git allows you to checkout only specific files of a 
given revision. When you do, it behaves just like fossil update VERSION 
FILES--the file is changed, but no record is kept of what version it came from.

I don't consider this a bug, and I would really hate to lose this capability I 
don't care if it gets a different name, though, if that satisfies others
_______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to