43 lines
1.6 KiB
Markdown
43 lines
1.6 KiB
Markdown
## 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
|
|
|
|
# useful under https://github.com/dergachev/docker-redmine
|
|
rsync -avq --chown=redmine:redmine /home/redmine/data/plugins/ /home/redmine/redmine/plugins/; supervisorctl restart unicorn
|
|
|
|
```
|