Development
Keeping in sync
This repository is kept in sync with upstream.
git merge -m "merge branch 'master' on $(git rev-parse --short master)" master
submodules
Especially after a sync with master, updating the submodules is necessary. eg:
git submodule update --recursive
Removing eventual local changes to submodules is done with :
git submodule foreach --recursive git reset --hard
To check out a not-yet-upstreamed feature in a submodule, it’s necessary to use holusion’s copy (at https://github.com/Holusion/ff-*
). Preferably, create a feature branch, contribute it upstream and very temporarily use it if strictly necessary.
Edit the .gitmodules
to change the source URL, then run :
git submodule sync --recursive
Then in the change module’s folder (ie. libs/ff-x
)
cd libs/ff-xx
git fetch
git checkout origin/<feature-branch>
Finally, in the root folder :
git add libs/ff-x
Commit the changes to the submodule’s URL and HEAD.
Tests
The server part of the code is tested with mocha and chai. See source/server/**/*.test.js
.
Run unit tests with :
npm test
Or to select specific tests :
(cd source/server && npm test -- --grep "test name")
Some lines in
console.log
are disabled to make standard test output more readable. They can be reactivated by forcing theTEST=0
variable on the command line.
Synchronization with the original repository
This repository is synchronized with upstream. Changes are made in a master
branch and merged with the upstream/master
branch. It’s important to keep code porting as simple as possible (see for example: friendly forks management).
git merge -m "merge branch 'master' on $(git rev-parse --short master)" master