diff --git a/CHANGELOG.md b/CHANGELOG.md index 76f7dbe..670ab37 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,22 @@ --- +# 0.2.0 +
+ Version Details +

+ Release Date: *2017-07-24* + Milestone + Project Board +

+
+ +## Features +### Style Guide +❯ Added [branch naming][src-branch-naming] conventions and guidelines for [core][src-branch-naming-core]- and [story branches][src-branch-naming-story] following the [gitflow][gitflow] branching model. (#3 in PR #6) + +❯ Added conventions and guidelines for [tags][src-tags] following the [Arctic Versioning Specification][arcver]. (#4 in PR #5) + # 0.1.0
Version Details @@ -16,15 +32,21 @@ ### Style Guide ❯ Added the initial style guide [introduction][src-introdcution], information about the [structural split of changes][src-structural-split], [bad practices][src-structural-split-bad-practices] and the main chapter about [commit messages][src-commit-messages] with the [summary][src-commit-messages-summary], [body][src-commit-messages-body] and [footer][src-commit-messages-footer] elements and their [structure][src-commit-messages-structure]. (#1 in PR #2) +[arcver]: https://github.com/arcticicestudio/arcver [checkstyle-github]: https://github.com/checkstyle/checkstyle [checkstyle-jetbrains-plugin]: https://plugins.jetbrains.com/plugin/1065-checkstyle-idea [checkstyle-version]: https://github.com/checkstyle/checkstyle/releases/tag/checkstyle-8.0 +[gitflow]: http://nvie.com/posts/a-successful-git-branching-model/ [scrot-ide-setup-intellij-checkstyle-activate]: https://raw.githubusercontent.com/arcticicestudio/styleguide-java/develop/src/assets/scrot-ide-setup-intellij-checkstyle-activate.png -[src-introdcution]: https://github.com/arcticicestudio/styleguide-git#introduction -[src-structural-split]: https://github.com/arcticicestudio/styleguide-git#structural-split-of-changes -[src-structural-split-bad-practices]: https://github.com/arcticicestudio/styleguide-git#bad-practices +[src-branch-naming]: https://github.com/arcticicestudio/styleguide-git#branch-naming +[src-branch-naming-core]: https://github.com/arcticicestudio/styleguide-git#core-branches +[src-branch-naming-story]: https://github.com/arcticicestudio/styleguide-git#story-branches [src-commit-messages]: https://github.com/arcticicestudio/styleguide-git#commit-messages -[src-commit-messages-structure]: https://github.com/arcticicestudio/styleguide-git#elements-and-their-structure -[src-commit-messages-summary]: https://github.com/arcticicestudio/styleguide-git#message-summary [src-commit-messages-body]: https://github.com/arcticicestudio/styleguide-git#message-body [src-commit-messages-footer]: https://github.com/arcticicestudio/styleguide-git#message-footer +[src-commit-messages-structure]: https://github.com/arcticicestudio/styleguide-git#elements-and-their-structure +[src-commit-messages-summary]: https://github.com/arcticicestudio/styleguide-git#message-summary +[src-introdcution]: https://github.com/arcticicestudio/styleguide-git#introduction +[src-structural-split]: https://github.com/arcticicestudio/styleguide-git#structural-split-of-changes +[src-structural-split-bad-practices]: https://github.com/arcticicestudio/styleguide-git#bad-practices +[src-tags]: https://github.com/arcticicestudio/styleguide-git#tags diff --git a/README.md b/README.md index ff6bc55..e7431cb 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,12 @@

+

+

The Arctic Ice Studio Git Style Guide.

--- -To present [Git commits](https://git-scm.com/docs/git-commit) in an organized, standardized, and easy-to-read manner, this official style guide describes how the content should be structured, organized, spelled and formatted in all Arctic Ice Studio projects. +To present Git [commits](https://git-scm.com/docs/git-commit) and [branches](https://git-scm.com/docs/git-branch) in an organized, standardized, and easy-to-read manner, this official style guide describes how the content should be structured, spelled and formatted in all Arctic Ice Studio projects. There are only some strict rules but mostly guidelines since we are more interested in content than formatting and the review process may help contributors to conform to this guide later on. @@ -75,10 +77,53 @@ This metadata block **must contain the GitHub issue ID** and is **separated from **Multiple issues are separated by a comma** and **additional references** can be added in the next lines. -## Development +## Branch Naming + +> A branch should reflect the story of the commits it contains using a valuable and useful name to clarify its purpose during the development lifecycle and the persistency in the history. + +Arctic Ice Studio follows the [gitflow][gitflow] branching model with the deviations and additional conventions described below. + +Branches are an important major component for building open source projects regardless of the size. A well maintained branch merge story in the history will help to increase the long-term overall quality. + +### Core Branches + +The two infinite development lifecycle core branches must be lowercase named `master` and `develop`. + +### Story Branches + +The lowercase name of a limited development lifecycle story branch must reflect the *type* separated by a slash from the *issue ID* and followed by the short and descriptive *title* using hypen delimiters. + +`/-` + +Example: `feature/gh-17-tokenizer-api` -[![](https://img.shields.io/badge/Changelog-0.1.0-81A1C1.svg?style=flat-square)](https://github.com/arcticicestudio/styleguide-git/blob/v0.1.0/CHANGELOG.md) [![](https://img.shields.io/badge/Workflow-gitflow--branching--model-81A1C1.svg?style=flat-square)](http://nvie.com/posts/a-successful-git-branching-model) [![](https://img.shields.io/badge/Versioning-ArcVer_0.8.0-81A1C1.svg?style=flat-square)](https://github.com/arcticicestudio/arcver) +**Story Type Prefixes** + +* `feature` +* `improvement` +* `bugfix` +* `test` +* `task` +* `subtask` +* `release` + +Every branch must contain *issue ID* which is important to automatically fire some hooks to track the commit in the related GitHub repository issues and pull requests and is **required to contribute to a project**. + +A `release` branch is used to prepare a new [tagged](#tags) release version. + +## Tags + +Arctic Ice Studio follows the [gitflow][gitflow] branching model with the deviations and additional conventions described below using the [Arctic Versioning Specification][arcver]. + +All version tags are created in the `master` [core branch](#core-branches) to specify which commits reflects a release version as defined by the `release` [branch name](#branch-naming) prefix. + +* **Only use annotated tags**. Allows to include the name of the project followed by the version number to the commit message. +* **Always add the `v` prefix character to version tags**. Clarifies the tag type as specified by ArcVer. +* **Every version tag must be signed**. Ensures that the version has been tested and approved by the project owner or an authorized project contributor. + +--- -<p align="center"> <img src="http://arcticicestudio.com/favicon.ico" width=16 height=16/> Copyright © 2017 Arctic Ice Studio</p> +<p align="center">Copyright © 2017 Arctic Ice Studio<br><a href="http://www.apache.org/licenses/LICENSE-2.0"><img src="https://img.shields.io/badge/License-Apache_2.0-5E81AC.svg?style=flat-square"/></a></p> -<p align="center"><a href="http://www.apache.org/licenses/LICENSE-2.0"><img src="https://img.shields.io/badge/License-Apache_2.0-5E81AC.svg?style=flat-square"/></a> +[arcver]: https://github.com/arcticicestudio/arcver +[gitflow]: http://nvie.com/posts/a-successful-git-branching-model