完全不同的东西
项目描述
<nav class="contents" id="contents" role="doc-toc">
内容
</nav>scd(完全不同的东西)是一个小工具,其目的是:让您的版本遇到设计不足的问题。它采用与bumpversion略有不同的方法:它不进行提交或标记,也不通过命令更新版本。它需要配置文件并调整有关此文件的版本。
它可能看起来有点复杂,但如果您有一个复杂的设置,它会非常有效,您不仅需要以文字格式管理版本,还需要以不同的、复杂的方式在完全不同的文件中管理版本。此外,它可以消除 .bumpversion.cfg 中的大量复制 粘贴。此外,它适用于正则表达式,因此可以消除凹凸版本的设计限制。
详情请查看官方文档。这个 README 文件只是一个旋风之旅。
安装
与任何 Python 包一样,您可以使用 pip 或源安装 scd。
pip install scd[yaml,colors]
或者
git clone https://github.com/9seconds/scd
cd scd
python setup.py install
配置
这是一个示例,配置文件可能如下所示:
version:
number: 1.0.1
scheme: semver
search_patterns:
full: <s>"{{</s> <s>semver</s> <s>}}"</s>
vfull: <s>"v{{</s> <s>semver</s> <s>}}"</s>
major_minor_block: <s>"\\d+\\.\\d+(?=\\s\\#\\sBUMPVERSION)"</s>
replacement_patterns:
full: <s>"{{</s> <s>full</s> <s>}}"</s>
major_minor: <s>"{{</s> <s>major</s> <s>}}.{{</s> <s>minor</s> <s>}}"</s>
major_minor_p: <s>"{{</s> <s>major</s> <s>}}.{{</s> <s>minor</s> <s>}}{%</s> <s>if</s> <s>patch</s> <s>%}.{{</s> <s>patch</s> <s>}}{%</s> <s>endif</s> <s>%}"</s>
defaults:
search: full
replace: full
files:
setup.py:
- search_raw: <s>"(?>=version\\s=\\s\\\"){{</s> <s>full</s> <s>}}"</s>
docs/conf.py:
- default
- search: vfull
replace: major_minor_p
- search: major_minor_block
replace_raw: <s>"{{</s> <s>next_major</s> <s>}}"</s>
是的,YAML!但您也可以使用 JSON 或 TOML。
Mustaches 是Jinja2模板(例如在 Ansible中)。此外,如您所见,每个文件都有一个替换列表。
是的,版本控制是由方案完成的。
您可以在文档中找到详尽的解释。
用法
好吧,你不会相信,但是
scd
或更详细
scd -v
>>> Use /home/sergey/dev/pvt/scd/.scd.yaml as config file
>>> Parsed config as YAML
>>> Version is 0.1.0.dev34+342f2c2
>>> Start to process /home/sergey/dev/pvt/scd/setup.py
>>> Modify 'version="0.0.1",' to 'version="0.1.0.dev34+342f2c2",'
>>> Start to process /home/sergey/dev/pvt/scd/docs/source/conf.py
>>> Modify "version = '1.0'" to "0.1'"
>>> Modify "release = '1.0.0b1'" to "0.1.0'"
>>> Start to process /home/sergey/dev/pvt/scd/scd/__init__.py
>>> Modify '__version__ = "0.1.0"' to '0.1.0.dev34"'
为什么是scd?
因为每个版本发布看起来都一样。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
scd-1.2.3.tar.gz
(19.8 kB
查看哈希)
内置分布
scd-1.2.3-py2.py3-none-any.whl
(23.4 kB
查看哈希)