Working Together
There are three repositories to serve different purposes:
- VisionEval: Public release version of VisionEval. There is one master branch only. This wiki is associated with the VisionEval repository. If you have a bug report or other issue, create an issue instead in the VisionEval-Dev repository.
-
VisionEval-Dev: Main repository for developers and power-users who want to contribute code improvements. There are multiple branches, including
master
(which is can be considered the beta release) anddevelopment
where active code development happens. Additional branches can be used to evaluate new features or pull requests. Developers / power-users should create issues and pull requests to this repository. - VisionEval.org: Website repository. You can create issues here for website-related change requests.
See the Repository Structure page for more details.
- The master branch of VisionEval contains the latest release version of the VisionEval resources.
- Work is done in the development branch of VisionEval-Dev or an issue/feature branch off of development.
- The master branch of VisionEval is only written to by a pull request from the master branch of VisionEval-Dev.
- Work is done in the development branch or an issue/feature branch off of development
- When an issue/feature is complete, it is merged into the development branch
- Committing to any branch automatically runs the build and test system on Travis-CI
- The framework, modules, models, and GUI are all always tested, as described here
- After all tests pass and when the contribution is deemed ready, a pull request is created to merge develop into master
- The repository administrator handles the pull request and makes sure to also update related resources such as the wiki, documentation, issues, release notes, etc.
If in the implementation of VisionEval models, you find that the models don't run for any reason, create an issue on the VisionEval-Dev repository (here).
One common reason the model may not run is because your data differ in form or content from the structure of the default data that VisionEval models have been tested on. Consider uploading a .zip file of the problematic data so that VisionEval developers can troubleshoot the problem.
After identifying an issue and a likely fix, the best way to contribute to the VisionEval platform is to create a pull request. The easiest workflow is as follows:
-
Create a fork of VisionEval-Dev in your own account.
- If you already have a fork, make sure it is up to date with the VisionEval-Dev@development branch before proceeding.
-
Make your edits to fix the issue.
-
Create a pull request to VisionEval-Dev@development, referencing the VisionEval issue in your pull request description if applicable. For example, you can write
closes VisionEval/VisionEval-Dev#XX
, where XX is the issue number you are addressing.
The pull request will have to pass all existing tests in the Travis-CI system before being considered for acceptance. VisionEval repository management team will review the pull request and accept it if is a clear improvement. If it requires further review, the repository management team will be in touch with the contributor.
After acceptance to VisionEval-Dev@development, accumulation of sufficient improvements will be merged into VisionEval-Dev@master. At that time, the improvements will also be merged into VisionEval@master.
A version will be tagged on VisionEval@master and VE-Installer will be used to create downloadable, standalone installers of the codebase for access at the VisionEval Releases page.
- The website is in the https://github.com/VisionEval/VisionEval.org repository.
This workflow describes how the VisionEval
master branch is kept up to date with the VisionEval-Dev
master, when substantial changes are made by pull request to the VisionEval-Dev
master. This workflow assumes familiarity with command line git, e.g. Git Bash for Windows.
Navigate to VisionEval and make sure have the latest code:
cd ~/Documents/git/VisionEval
git checkout master # if you are not there yet
git status
git pull
Do the same for VisionEval-Dev
cd ~/Documents/git/VisionEval-Dev
git checkout master # again, if you are not there yet
git status
git pull
Back in VisionEval, fetch upstream
cd ~/Documents/git/VisionEval
git remote -v
git fetch upstream
Merge
git merge upstream/master master
Add a commit message in the text editor, use Esc-:wq to save the commit message.
Commit
git push
When doing this by command line, you can reference the pull request from another repo. For example, write in the commit message See VisionEval/VisionEval-Dev#66 for a summary of changes
, and it will autolink to the PR as shown in this commit.
- Getting Started
- VisionEval Primer
- Concepts Primer
- VisionEval Models
- VERPAT Tutorial
- VERSPM Tutorial
- VE-RSPM Training
- VE-State Tutorial
- Developer Orientation