PHPackages                             aoe/tagging - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. aoe/tagging

AbandonedArchivedLibrary[DevOps &amp; Deployment](/categories/devops)

aoe/tagging
===========

Build-Tool to automatic increase the version and create a tag in the remote VCS repository.

0.4.4(7y ago)1012.3k118GPL-3.0PHPPHP &gt;=5.6.0

Since Aug 3Pushed 7y ago34 watchersCompare

[ Source](https://github.com/AOEpeople/Tagging)[ Packagist](https://packagist.org/packages/aoe/tagging)[ Docs](https://github.com/AOEpeople/tagging)[ RSS](/packages/aoe-tagging/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (5)Versions (33)Used By (0)

[![Build Status](https://camo.githubusercontent.com/891c204f370691f044fc0e407e2e92f91b21fc2743cce97acd8d2e896fe5e8e8/68747470733a2f2f7472617669732d63692e6f72672f414f4570656f706c652f54616767696e672e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/AOEpeople/Tagging)

Tagging
=======

[](#tagging)

This PHP library provide the functionality to automatic create a new tag/version in a remote VCS repository dependending on the last created tag/version. It follows the semantic versioning pattern: You are be able configure the version type to increase. For example "major" or "minor" increasement.

Features:

- Follows the semantic versioning pattern
- Major, minor and patch version are supported
- GIT integration
- Commit (and push) additional files before creating a new tag/version
- Dry run. Just evaluate the next tag/version

Index
-----

[](#index)

- [Installation](#installation)
    - [Clone](#clone)
    - [Composer](#composer)
- [Usage](#usage)
    - [Version-Type](#version-type)
    - [Commit files before creating a new tag/version](#commit-files-before-creating-a-new-tagversion)
    - [Evaluate (dry run)](#evaluate-dry-run)

Installation
------------

[](#installation)

This library is build with composer. So you can even clone this repisory and install the dependencies via composer or just require this library in the composer.json of your project.

### Clone

[](#clone)

clone the repitory from GitHub

```
git clone https://github.com/AOEpeople/Tagging.git .

```

and install dependencies via composer

```
wget http://getcomposer.org/composer.phar
php composer.phar install

```

### Composer

[](#composer)

or just add the package name to your composer.json

```
"require": {
    "aoe/tagging": "0.1.*"
}

```

Usage
-----

[](#usage)

```
php bin/tagging [VCS] [REPOSITORY] [PATH]

```

for example:

```
php bin/tagging git https://github.com/company/package.git /path/to/local/checkout

```

### Version-Type

[](#version-type)

By default the version will be increased by the "patch" version. For example: 0.2.5 will be increased to 0.2.6. You can configure which version type you want to increase by setting the `--version-type` option

```
php bin/tagging git https://github.com/company/package.git /path/to/local/checkout --version-type=minor

```

In the example above the minor version will be increased. For example: 0.2.5 will be increased to 0.3.0.

Allowed version types are:

- major
- minor
- patch

### Commit files before creating a new tag/version

[](#commit-files-before-creating-a-new-tagversion)

In some cases it is useful to commit (and push) a file into the remote before a new tag/version will be created. For example if you have a version file within your repository that must be updated before creating a new tag/version. If you need to commit (and push) files into the remote, just add the `--commit-and-push` option. The value is required and must contain the relative path to the file that should be commited.

```
php bin/tagging git https://github.com/company/package.git /path/to/local/checkout --commit-and-push=version.txt

```

The above example will commit (and push) the file "version.txt" into the remote before creating a new tag/version.

If you want to customize the message for the commit, just append the `--message` option and specify the message as value. By default the message is empty.

```
php bin/tagging git https://github.com/company/package.git /path/to/local/checkout --commit-and-push=version.txt --message="my custom commit message"

```

### Custom start version

[](#custom-start-version)

Sometimes you need to define from which version the new one is generated. For example you have the following already existing versions:

- 1.1.0
- 1.2.0

But you need to create a patch version for 1.1.0 (1.1.1). Since this library is always using your latest version for increasing it will create a patch version for 1.2.0 (1.2.1). To avoid this it is possible to specify a start version by setting the option `--from-version` with the value `1.1.0`. This will create the version 1.1.1.

```
php bin/tagging git https://github.com/company/package.git /path/to/local/checkout --from-version=1.1.0

```

### Evaluate (dry run)

[](#evaluate-dry-run)

You can set the `--evaluate` option to find out which tag/version will be created. If set, nothing is really done. You just get an output of the next version/tag that would be created without the evaluate option.

```
php bin/tagging git https://github.com/company/package.git /path/to/local/checkout --evaluate

```

### Tagging for branches

[](#tagging-for-branches)

Sometimes we even need to tag branches, e.g. after you have pushed a bugfix to your branch instead of pushing it into master. For this case, its enough to set the option with branch name: `--branch`.

```
php bin/tagging git https://github.com/company/package.git /path/to/local/branch-checkout --branch=myBranchName

```

### Checking out a specified branch

[](#checking-out-a-specified-branch)

In case you have any changes that need to be commited and pushed to a specific branch you have to checkout the specific branch before commiting and pushing. This can be achieved by adding the option: `--switch-branch`. But to be able to check out a specific branch, you have to specify the branch name with `--branch` too.

```
php bin/tagging git https://github.com/company/package.git /path/to/local/branch-checkout --branch=myBranchName --switch-branch

```

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity32

Limited adoption so far

Community25

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 84% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~37 days

Recently: every ~186 days

Total

32

Last Release

2789d ago

PHP version history (4 changes)0.0.1PHP &gt;=5.3.0

0.3.0PHP &gt;=5.4.0

0.3.6PHP &gt;=5.5.0

0.4.2PHP &gt;=5.6.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/6331769?v=4)[AOE](/maintainers/AOEpeople)[@AOEpeople](https://github.com/AOEpeople)

---

Top Contributors

[![kschu91](https://avatars.githubusercontent.com/u/5566756?v=4)](https://github.com/kschu91 "kschu91 (42 commits)")[![bilalarslan](https://avatars.githubusercontent.com/u/1686446?v=4)](https://github.com/bilalarslan "bilalarslan (4 commits)")[![tomasnorre](https://avatars.githubusercontent.com/u/1212481?v=4)](https://github.com/tomasnorre "tomasnorre (2 commits)")[![felixsemmler](https://avatars.githubusercontent.com/u/9789350?v=4)](https://github.com/felixsemmler "felixsemmler (1 commits)")[![sandritter](https://avatars.githubusercontent.com/u/9157713?v=4)](https://github.com/sandritter "sandritter (1 commits)")

---

Tags

gittagtaggingautomaticsubversionbuildvcs

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/aoe-tagging/health.svg)

```
[![Health](https://phpackages.com/badges/aoe-tagging/health.svg)](https://phpackages.com/packages/aoe-tagging)
```

###  Alternatives

[banago/phploy

PHPloy - Incremental Git (S)FTP deployment tool that supports submodules, multiple servers and rollbacks.

1.4k47.2k](/packages/banago-phploy)[marcocesarato/php-conventional-changelog

Generate changelogs and release notes from a project's commit messages and metadata and automate versioning with semver.org and conventionalcommits.org

2511.3M109](/packages/marcocesarato-php-conventional-changelog)[fortrabbit/craft-copy

Tooling for Craft on fortrabbit

7617.2k1](/packages/fortrabbit-craft-copy)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
