Felix Programming Language

Blog : April 2009

posted on April 09, 2009 - 11:13 AM PDT by Erick Tryzelaar

If you get this error when you try to build felix, it's because I accidentally committed a reference to the developer url for our branch of ocs. Here's how to fix it. First, make sure you're up to date with a git pull origin. Next, edit .git/config and replace this line:

[submodule "src/compiler/ocs"]
    url = felixgit@felix-lang.org:ocs.git

with:

[submodule "src/compiler/ocs"]
    url = http://git.felix-lang.org/r/ocs.git

Finally run git submodule init and git submodule update. Now fbuild/fbuild-light should work again. Let me know if this doesn't work for you.

posted on April 05, 2009 - 10:51 PM PDT by Erick Tryzelaar

Good evening/morning/afternoon. So once everyone gets me their ssh public key you can start developing on felix. The instructions are slightly different than for the read only access. You will need to use this pattern:

> git clone felixgit@felix-lang.org:$NAME

Like this:

> git clone felixgit@felix-lang.org:felix

Or if you already are using git, you can do this:

> git remote rm origin
> git remote add origin felixgit@felix-lang.org:felix
> git fetch origin

You'll also need to run:

> git submodule init

To get submodules working. Then, introduce yourself to git:

> git config --global user.name "Erick Tryzelaar"
> git config --global user.email "erickt@example.com"

To commit, do:

> git push origin

We're also using submodules now to make it easier to track external projects. Unfortunately they don't update themselves when they're updated. So, when they change, run:

> git submodule update

If you want to modify a submodule, there are some things you have to do. First, you'll need to change from the read-only repository to the writable one:

> cd src/compiler/dypgen
> git remote rm origin
> git remote add origin felixgit@felix-lang.org:dypgen
> git checkout felix

Then make your changes. Make sure your changes are to the felix branch instead of the master branch, as the master branch will track the remote project. After you've made your change, you need to commit to the submodule first, then push the result back to the server. Finally, go back to the felix directory and commit the submodule version change:

> cd src/compiler/dypgen
> git checkout felix
... edit files
> git commit -a -m "committing changes to dypgen"
> git push origin
> cd ../../..
> git commit -a -m "committing submodule change to felix"

Next on to commit messages. The git tools are written to assume that the first line is used as the title, and should be 50 characters or less. The examples I've seen are along the lines of:

Add feature X to Y.

Lorem ipsum dolor sit amet, consectetur adipiscing
elit. Proin a felis in mi placerat commodo.

* foo bar
* baz

gitk --all and git gui are wonderful tools. If you're on the mac, gitx is also really nice, but it doesn't completely replace the other tools.

read comments

posted on April 05, 2009 - 06:05 PM PDT by Erick Tryzelaar

We've decided to finally migrate our repository to git, which you can find here. To checkout the read-only copy, do:

> git clone http://git.felix-lang.org/r/felix.git
> cd felix
> git submodule init

To update, do:

> git pull origin

Developers, if you've got any outstanding subversion patches, please migrate them over to the git repository. The easiest way to do this is to:

cd $felix-svn-dir
svn diff > svn.patch
cd $felix-git-dir
patch -p0 < $felix-svn-dir/svn.patch

Please consider the subversion repository read-only for now on. If anyone needs any help with this, please send us an email.

read comments

posted on April 01, 2009 - 11:03 PM PDT by Erick Tryzelaar

You can find it here.

read comments