diff --git a/DEVNOTES.md b/DEVNOTES.md new file mode 100644 index 0000000..9bd4ff8 --- /dev/null +++ b/DEVNOTES.md @@ -0,0 +1,39 @@ +## Dev Notes + +### TODOs + +* integrate webhook support (callback to accept POST, figure out repo, run git fetch on it), check security / DOS +* key management (currently user needs to populate ~/.ssh/* config files manually) +* cleanup cloned repos on Repository#destroy +* make sure git fetch doesn't hang (timeout, background, local vs remote fetch interference) +* last fetched status, clearer error handling +* on plugin uninstall, Redmine will crash (rails hates it when you remove model classes) +* (provide a rake command to convert to Git type) +* initialize_clone should only run on new objects (since only "Main repository" is editable) +* key handling +* removing the plugin, what happens to records? +* conversion of legacy records + + +### Testing + +Figure out how to test this plugin! + +* circle CI for integration tests? +* docker container with this plugin installed +* create a dummy project, create a repo record for http://github.com/dergachev/redmine_git_remote.git +* repositories_git_controller_test.rb and repositories_git_test.rb + +### Misc snippets + +Here's some bash commands I was pasting in regularly while working on this. + +``` +cd /home/redmine/redmine && ./script/rails runner "Repository.fetch_changesets" -e production +cd /home/redmine/redmine/; bundle exec rails console production +bundle exec rails dbconsole production + +# config.consider_all_requests_local = true +apt-get update; apt-get install vim -y; vim /home/redmine/redmine/config/environments/production.rb + +```