Some notes on the source management workflow ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (A) Trivial changes * generate local clone of repo git clone https://github.com/reinh-bader/fgsl.git produces a folder fgsl that contains the clone * add a new, modified or deleted file to the repo git add note: modified files must also be added * commit modified files git commit -m "" * push updated repository back to master git push (B) Non-trivial changes * generate local clone of repo git clone https://github.com/reinh-bader/fgsl.git * create a new branch and check it out: git checkout -b fgsl_devel_ (this can be done even if some files have been modified in advance) * do some work * commit * push the new branch with the commit to github and track it git push -u origin fgsl_devel_ * open a pull-request for this branch in the repository, and check the results of the Travis-CI builds: if one of them fails, fix the underlying cause in the code, commit and push, thereby triggering a new build * if needed, keep making changes to the code, commit them and check the build results. * when done, merge the PR in and delete the local and remote working branch. (C) Documentation rebuild * Use Ubuntu-based system * Delete contents of html and latex folders in doc via "git rm -r *" * Run doxygen Doxyfile in base dir (may want to consider updates to Doxyfile) * Go to doc/latex and run make refman.pdf. Copy the file to .. * Run git add html in doc subdirectory. (D) packaging and release * configure.ac contains the version info and may need an update * create a tarball after running configure: make dist * Update README file with release info * After merging a PR, create a new release (including tag) via the web interface