1bdep-release(1) General Commands Manual bdep-release(1)
2
3
4
6 bdep-release - manage project's version during release
7
9 bdep release [options] [prj-spec]
10
11 prj-spec = --directory|-d prj-dir | pkg-spec
12 pkg-spec = (--directory|-d pkg-dir)...
13
15 The release command manages the project's version during the release.
16 Specifically, it first changes the snapshot version to the correspond‐
17 ing release version in each project package's manifest file, commits
18 these changes (unless --no-commit is specified), tags this commit
19 (unless --no-tag is specified), and, if --push is specified, pushes the
20 changes to the remote. Unless --no-open is specified, the release com‐
21 mand then opens the next development cycle by changing the version to a
22 snapshot, committing these changes (unless --no-commit is specified),
23 and, if --push is specified, pushing them to the remote. Note that com‐
24 mitting, tagging, and pushing is currently only supported for git(1)
25 project repositories.
26
27 The release command can also be used to release a new package revision
28 by passing the --revision option. In this mode release increments the
29 current version's revision component in each project package's manifest
30 file, commits these changes (unless --no-commit is specified), tags
31 this commit (unless --no-tag is specified), and, if --push is speci‐
32 fied, pushes the changes to the remote. In this mode release can be
33 optionally instructed to update an existing tag for the current version
34 to point to the latest revision (--current-tag=update) or to remove it
35 (--current-tag=remove).
36
37 When releasing a revision, the project's repository index is expected
38 to already contain other changes since for a revision all the associ‐
39 ated changes, including to version, must belong to a single commit.
40 Alternatively, a revision can be released by amending one or more
41 existing commits using the --amend and --squash options. In this case
42 the index may still contain additional changes but is not required to.
43
44 The release command also has a number of continue modes that allow the
45 completion of steps that were previously suppressed with the --no-*
46 options in the above main modes. These are --tag which tags the release
47 commit and, if --push is specified, pushes it to the remote as well as
48 --open which performs the opening of the next development cycle as
49 described above.
50
51 In all the modes that perform a commit, if the project's repository
52 index already contains other changes, then the commit message is auto‐
53 matically opened for editing unless --no-edit is specified. The editing
54 of the commit message in the absence of other changes can be requested
55 with the --edit option.
56
57 Normally, release operates on all the packages in a project. If no
58 project directory is specified, then the current working directory is
59 assumed and all the packages are released, even if the current direc‐
60 tory is a package directory. If, however, one or more package directo‐
61 ries are specified explicitly with --directory|-d, then release assumes
62 you know what you are doing and only releases these packages. All the
63 packages being released must have the same version but may have differ‐
64 ent revisions.
65
67 --revision
68 Release a new package revision instead of a new version.
69
70 --no-commit
71 Don't commit the changes. Implies --no-tag and, in the version
72 release mode, --no-open.
73
74 --no-tag
75 Don't tag the release commit. Tagging can be performed later
76 using the --tag mode option.
77
78 --tag Tag the already released version instead of releasing a new one.
79
80 --current-tag action
81 Specify what to do with an existing tag for the current version
82 when tagging a new revision. Valid values for this option are
83 keep (default), update, and remove.
84
85 --push Push the committed changes and tags to the remote.
86
87 --show-push
88 Print the push command instead of executing it. This allows
89 examining the committed changes and tags before pushing them to
90 the remote. Note that the command is printed to stdout.
91
92 --no-open
93 Don't open the next development cycle. Opening can be performed
94 later using the --open mode option.
95
96 --open Open the next development cycle instead of releasing a new ver‐
97 sion.
98
99 --amend
100 Release a revision by amending the latest commit instead of mak‐
101 ing a new one.
102
103 --squash num
104 Release a revision by squashing the specified number of previous
105 commits and then amending the result. Requires the --amend
106 option to be specified.
107
108 --alpha
109 Release an alpha instead of the final version.
110
111 --beta Release a beta version instead of the final version.
112
113 --minor
114 Release the next minor version instead of the current patch.
115
116 --major
117 Release the next major version instead of the current minor or
118 patch.
119
120 --open-beta
121 Open the development cycle with the next beta version.
122
123 --open-patch
124 Open the development cycle with the next patch version. This is
125 the default if the current patch version is not 0 (bugfix
126 release series).
127
128 --open-minor
129 Open the development cycle with the next minor version. This is
130 the default if the current patch version is 0 (feature release
131 series).
132
133 --open-major
134 Open the development cycle with the next major version.
135
136 --open-base version
137 Open the development cycle with the specified version. The base
138 version should be in the major.minor.patch form with the opened
139 version becoming major.minor.patch-a.0.z.
140
141 --edit Open the commit message for editing.
142
143 --no-edit
144 Don't open the commit message for editing.
145
146 --force check
147 Force releasing, disabling the specified check. Repeat this
148 option to disable multiple checks.
149
150 --yes|-y
151 Don't prompt for confirmation before releasing.
152
153 --directory|-d dir
154 Assume project/package is in the specified directory rather than
155 in the current working directory.
156
158 The common options are summarized below with a more detailed descrip‐
159 tion available in bdep-common-options(1).
160
161 -v Print essential underlying commands being executed.
162
163 -V Print all underlying commands being executed.
164
165 --quiet|-q
166 Run quietly, only printing error messages.
167
168 --verbose level
169 Set the diagnostics verbosity to level between 0 and 6.
170
171 --jobs|-j num
172 Number of jobs to perform in parallel.
173
174 --no-progress
175 Suppress progress indicators for long-lasting operations, such
176 as network transfers, building, etc.
177
178 --bpkg path
179 The package manager program to be used for build configuration
180 management.
181
182 --bpkg-option opt
183 Additional option to be passed to the package manager program.
184
185 --build path
186 The build program to be used to build packages.
187
188 --build-option opt
189 Additional option to be passed to the build program.
190
191 --curl path
192 The curl program to be used for network operations.
193
194 --curl-option opt
195 Additional option to be passed to the curl program.
196
197 --pager path
198 The pager program to be used to show long text.
199
200 --pager-option opt
201 Additional option to be passed to the pager program.
202
203 --options-file file
204 Read additional options from file.
205
206 --default-options dir
207 The directory to load additional default options files from.
208
209 --no-default-options
210 Don't load default options files.
211
213 See bdep-default-options-files(1) for an overview of the default
214 options files. For the release command the search start directory is
215 the project directory. The following options files are searched for in
216 each directory and, if found, loaded in the order listed:
217
218 bdep.options
219 bdep-release.options
220 bdep-release-{version|revision|open|tag}.options # (mode-dependent)
221
222 The following release command options cannot be specified in the
223 default options files:
224
225 --directory|-d
226 --revision
227 --open
228 --tag
229
231 Send bug reports to the users@build2.org mailing list.
232
234 Copyright (c) 2014-2020 the build2 authors.
235
236 Permission is granted to copy, distribute and/or modify this document
237 under the terms of the MIT License.
238
239
240
241bdep 0.13.0 July 2020 bdep-release(1)