From d59b9e8caec0f4c3e8a2eb944706f6caf5afdde5 Mon Sep 17 00:00:00 2001 From: Arctic Ice Studio Date: Mon, 24 Jul 2017 08:36:11 +0200 Subject: [PATCH 1/3] Add tag naming conventions This includes guidelines like the prefix character and the versioning specification (ArcVer) used for the name. GH-4 --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index ff6bc55..254f7ca 100644 --- a/README.md +++ b/README.md @@ -75,6 +75,16 @@ 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. +## 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. + ## Development [![](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) @@ -82,3 +92,6 @@ This metadata block **must contain the GitHub issue ID** and is **separated from

Copyright © 2017 Arctic Ice Studio

+ +[gitflow]: http://nvie.com/posts/a-successful-git-branching-model +[arcver]: https://github.com/arcticicestudio/arcver From d7da6bd3da6a19a304928b528ad53f0f01efb908 Mon Sep 17 00:00:00 2001 From: Arctic Ice Studio Date: Mon, 24 Jul 2017 07:59:39 +0200 Subject: [PATCH 2/3] Add branch naming conventions This includes guidelines for core- and story branches, the predefined prefixes and definitions of the name components. GH-3 --- README.md | 44 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index ff6bc55..cf66f5d 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,42 @@ 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. -[![](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) +`/-` + +Example: `feature/gh-17-tokenizer-api` + +**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. + +--- -<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> +[gitflow]: http://nvie.com/posts/a-successful-git-branching-model From 185413512aa9ae6ac14a6f7ac24c232ac6ff3bb1 Mon Sep 17 00:00:00 2001 From: Arctic Ice Studio <development@arcticicestudio.com> Date: Mon, 24 Jul 2017 16:40:23 +0200 Subject: [PATCH 3/3] Prepare stable development release version 0.2.0 --- CHANGELOG.md | 32 +++++++++++++++++++++++++++----- README.md | 2 +- 2 files changed, 28 insertions(+), 6 deletions(-) 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 +<details> + <summary>Version Details</summary> + <p> + Release Date: *2017-07-24* + <a href="https://github.com/arcticicestudio/styleguide-git/milestone/2">Milestone</a> + <a href="https://github.com/arcticicestudio/styleguide-git/projects/3">Project Board</a> + </p> +</details> + +## 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 <details> <summary>Version Details</summary> @@ -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 ddff379..e7431cb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ <p align="center"><img src="https://rawgit.com/arcticicestudio/styleguide-git/develop/src/assets/styleguide-git-banner-typography.svg"/></p> -<p align="center"><a href="https://github.com/arcticicestudio/styleguide-git/blob/v0.1.0/CHANGELOG.md"><img src="https://img.shields.io/badge/Changelog-0.1.0-81A1C1.svg?style=flat-square"/></a> <a href="https://github.com/arcticicestudio/arcver"><img src="https://img.shields.io/badge/Versioning-ArcVer-81A1C1.svg?style=flat-square"/></a></p> +<p align="center"><a href="https://github.com/arcticicestudio/styleguide-git/blob/v0.2.0/CHANGELOG.md"><img src="https://img.shields.io/badge/Changelog-0.2.0-81A1C1.svg?style=flat-square"/></a> <a href="https://github.com/arcticicestudio/arcver"><img src="https://img.shields.io/badge/Versioning-ArcVer-81A1C1.svg?style=flat-square"/></a></p> <p align="center">The Arctic Ice Studio Git Style Guide.</p>