1bdep-release(1)             General Commands Manual            bdep-release(1)
2
3
4

NAME

6       bdep-release - manage project's version during release
7

SYNOPSIS

9       bdep release [options] [prj-spec]
10
11       prj-spec = --directory|-d prj-dir | pkg-spec
12       pkg-spec = (--directory|-d pkg-dir)...
13

DESCRIPTION

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  (un‐
19       less  --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 op‐
33       tionally  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. Al‐
40       ternatively, a revision can be released by amending one or more  exist‐
41       ing  commits  using  the --amend and --squash options. In this case the
42       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-* op‐
46       tions 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  de‐
49       scribed above.
50
51       In all the modes that perform a commit, if the project's repository in‐
52       dex already contains other changes, then the commit message is automat‐
53       ically opened for editing unless --no-edit is specified. The editing of
54       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

RELEASE OPTIONS

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 us‐
76              ing 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  ex‐
89              amining  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  op‐
106              tion 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 re‐
126              lease 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  op‐
148              tion 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

COMMON OPTIONS

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       --stdout-format format
172              Representation format to use for printing to stdout.
173
174       --jobs|-j num
175              Number of jobs to perform in parallel.
176
177       --progress
178              Display progress indicators for long-lasting operations, such as
179              network transfers, building, etc.
180
181       --no-progress
182              Suppress progress indicators for long-lasting  operations,  such
183              as network transfers, building, etc.
184
185       --diag-color
186              Use color in diagnostics.
187
188       --no-diag-color
189              Don't use color in diagnostics.
190
191       --bpkg path
192              The  package  manager program to be used for build configuration
193              management.
194
195       --bpkg-option opt
196              Additional option to be passed to the package manager program.
197
198       --build path
199              The build program to be used to build packages.
200
201       --build-option opt
202              Additional option to be passed to the build program.
203
204       --curl path
205              The curl program to be used for network operations.
206
207       --curl-option opt
208              Additional option to be passed to the curl program.
209
210       --pager path
211              The pager program to be used to show long text.
212
213       --pager-option opt
214              Additional option to be passed to the pager program.
215
216       --options-file file
217              Read additional options from file.
218
219       --default-options dir
220              The directory to load additional default options files from.
221
222       --no-default-options
223              Don't load default options files.
224

DEFAULT OPTIONS FILES

226       See bdep-default-options-files(1) for an overview of  the  default  op‐
227       tions  files. For the release command the search start directory is the
228       project directory. The following options files are searched for in each
229       directory and, if found, loaded in the order listed:
230
231       bdep.options
232       bdep-release.options
233       bdep-release-{version|revision|open|tag}.options # (mode-dependent)
234
235       The  following  release  command options cannot be specified in the de‐
236       fault options files:
237
238       --directory|-d
239       --revision
240       --open
241       --tag
242

BUGS

244       Send bug reports to the users@build2.org mailing list.
245
247       Copyright (c) 2014-2023 the build2 authors.
248
249       Permission is granted to copy, distribute and/or modify  this  document
250       under the terms of the MIT License.
251
252
253
254bdep 0.16.0                        June 2023                   bdep-release(1)
Impressum