HNHacker News
TopNewBestAskShowJobs

node_uzer

8 karma · joined December 5, 2015

submissionscomments
node_uzer··on Fossil SCM keeps more than just your code
You're also correct about hg not versioning empty directories with the default mercurial install. A previous place I worked had a non-standard extension - that unknown to me may very well have used the .keep file trick you described.

So it would appear that fossil not supporting versioning of directories puts it in good SCM company.

node_uzer··on Fossil SCM keeps more than just your code
hg and svn support versioning directories. I assumed that git also did. If it does not, I stand corrected.
node_uzer··on Fossil SCM keeps more than just your code
I'm a long time git, hg and svn user who has been using fossil every day for over a year now and find it to be reliable, quick and easy to use. It is also very hackable and I've customized the "fossil ui" to my liking.

However, fossil does lacks some important features that svn, hg and git have:

* Fossil does not support versioning directories. In fossil only files are first class objects. It is not possible to commit an empty directory. This is a big shortcoming that all other major SCMs address.

* Cannot perform a "fossil diff" for just a directory and its descendants - i.e., no fossil equivalent of the following:

    # produce a diff for this directory and its descendants
    git diff .
* A "fossil merge" between distributed repos it will give commit attribution to the wrong user for all files in the merge - changes will be recorded as being made by the user performing the merge. This is particularly annoying because it makes "fossil blame" on a given file less effective when pinpointing who introduced what change.

There are other fossil issues, but those are the biggest ones that come to mind.

node_uzer··on Microsoft Edge's JavaScript engine to go open-source
There is an actively maintained Spidermonkey port of Node.js called jxcore. It also supports an older version of V8 from the 0.10 branch.

https://github.com/jxcore/jxcore