1.0.0
This new version is the first one of the v1.0 branch!
For this version the major part of the code has be rewritten to be cleaner and easier to debug.
It also brings some new features and fixes a lot of bugs.
There are some major changes that should solve a lot of issues :
-
The plugin doesn't override
Repository::Git
object anymore. Instead it introduces a new type of repository in Redmine :Gitolite
repositories.
That means that you can have standard Redmine Git repositories as before and Gitolite repositories in the same time.
Note that only Gitolite repositories have advanced features (mirrors, post urls, etc...). -
The second major change concerns the Storage strategy already discussed here.
unique_repo_identifier
andhierarchical_organisation
are now combined in a single param :hierarchical_organisation
. -
And finally the third major change is the switch to gitolite-rugged thanks to Oliver Günther.
Changes
- Big refactoring of GitoliteWrapper (thanks Oliver Günther)
- Switch to Gitlab Grack to provide Git SmartHTTP feature
- Add SSH key fingerprint field in database
New features
- Export developer public ssh keys in Redmine REST API
- Export repository extras (mirrors, post receive urls, etc...) in Redmine REST API
- Add "go get" support for GoLang
- GitolitePlugins Sweepers and Extenders : to execute some actions after repository create/update/delete
- new GitCache adapters : Memcached and Redis (faster than the current database adapter)
- GitoliteHooks DSL to install your own Gitolite hooks globally
- Support for GitAnnex repositories
- Support for branch permission / protected branches
- Add rake tasks for a fully automated install #303
Fixes
- Hooks URL should be configurable
- Fix #223 (fix https:// notifications if TLSvX is mandatory)
- Fix #240 (Allow modification of the gitolite-admin repository from a different location)
- Fix #286 (Link to "my public keys" is shown even if right is not granted)
- Fix #310 (compatibility with redmine_scm_creator plugin)
- Fix #311 (mirror repository URLs should permit dots in repository path)
- Purge RecycleBin on fetch_changesets ([Configuration notes]({{ site.baseurl }}/configuration/notes/#empty-recycle-bin-periodically))
Other
- Bump to last version of Git Multimail hook
- Bump ZeroClipboard to version v2.1.1
- Bump Highcharts to version 4.0.3
Notes
Thanks to the work of Oliver Günther (really thank you), the plugin is now a lot more simple in many ways :
- the plugin is scriptless : no more need of
gitolite_scripts_dir
and shell scripts to wrap calls to sudo. Now, the only required dir is thegitolite_temp_dir
to clone the Gitolite admin repository. - SSH keys are stored in Gitolite in a directory tree under
ssh_keys
. No more need of timestamped key name :)
Example :
gitolite-admin.git/
├── conf
│ └── gitolite.conf
└── keydir
├── redmine_git_hosting
│ ├── redmine_admin_1
│ │ └── redmine_my_key
│ │ └── redmine_admin_1.pub
│ └── redmine_admin_1_deploy_key_1
│ └── redmine_deploy_key_1
│ └── redmine_admin_1_deploy_key_1.pub
└── redmine_gitolite_admin_id_rsa.pub