2.3 KiB
2.3 KiB
Filing a bug
Before filing a bug or starting to write a patch, check the latest development version from https://github.com/vimwiki/vimwiki/tree/dev to see if your problem is already fixed.
Issues can be filed at https://github.com/vimwiki/vimwiki/issues/ .
Creating a pull request
If you want to provide a pull request on GitHub, please start from the dev
branch, not from the
master
branch. (Caution, GitHub shows master
as the default branch from which to start a PR.)
More info for (aspiring) core developers
Git branching model
- there are two branches with eternal lifetime:
dev
: This is where the main development happens. Tasks which are done in one or only a few commits go here directly. Always try to keep this branch in a working state, that is, if the task you work on requires multiple commits, make sure intermediate commits don't make Vimwiki unusable (or at least push these commits at one go).master
: This branch is for released states only. Whenever a reasonable set of changes has piled up in thedev
branch, a [release is done](#Preparing a release). After a release,dev
has been merged intomaster
andmaster
got exactly one additional commit in which the version number inplugin/vimwiki.vim
is updated. Apart from these commits and the merge commit fromdev
, nothing happens onmaster
. Never shouldmaster
merge intodev
. When the users ask, we should recommend this branch for them to use.
- Larger changes which require multiple commits are done in feature branches. They are based on
dev
and merge intodev
when the work is done.
Preparing a release
git checkout dev
- Update the changelog in the doc, nicely grouped, with a new version number and release date.
- Update the list of contributors.
- Update the version number at the top of the doc file.
- If necessary, update the Readme and the home page.
git checkout master && git merge dev
- Update the version number at the top of plugin/vimwiki.vim.
- Set a tag with the version number in Git:
git tag vX.Y
git push --tags
- In GitHub, go to Releases -> Draft a new release -> choose the tag, convert the changelog from the doc to markdown and post it there. Make plans to build an automatic converter and immediately forget this plan.
- Tell the world.
%% vim:tw=99