Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
bdep-release(1)		    General Commands Manual	       bdep-release(1)

NAME
       bdep-release - manage project's version during release

SYNOPSIS
       bdep release [options] [prj-spec]

       prj-spec	= --directory|-d prj-dir | pkg-spec
       pkg-spec	= (--directory|-d pkg-dir)...

DESCRIPTION
       The  release  command manages the project's version during the release.
       Specifically, it	first changes the snapshot version to the  correspond-
       ing  release  version  in each project package's	manifest file, commits
       these changes (unless --no-commit is specified),	tags this commit  (un-
       less  --no-tag  is  specified), and, if --push is specified, pushes the
       changes to the remote. Unless --no-open is specified, the release  com-
       mand then opens the next	development cycle by changing the version to a
       snapshot,  committing  these changes (unless --no-commit	is specified),
       and, if --push is specified, pushing them to the	remote.	Note that com-
       mitting,	tagging, and pushing is	currently only	supported  for	git(1)
       project repositories.

       The  release command can	also be	used to	release	a new package revision
       by passing the --revision option. In this mode release  increments  the
       current version's revision component in each project package's manifest
       file,  commits  these  changes  (unless --no-commit is specified), tags
       this commit (unless --no-tag is specified), and,	if  --push  is	speci-
       fied, pushes the	changes	to the remote. In this mode release can	be op-
       tionally	 instructed  to	update an existing tag for the current version
       to point	to the latest revision (--current-tag=update) or to remove  it
       (--current-tag=remove).

       When  releasing	a revision, the	project's repository index is expected
       to already contain other	changes	since for a revision all  the  associ-
       ated changes, including to version, must	belong to a single commit. Al-
       ternatively,  a revision	can be released	by amending one	or more	exist-
       ing commits using the --amend and --squash options. In  this  case  the
       index may still contain additional changes but is not required to.

       The  release command also has a number of continue modes	that allow the
       completion of steps that	were previously	suppressed with	the --no-* op-
       tions in	the above main modes. These are	--tag which tags  the  release
       commit  and, if --push is specified, pushes it to the remote as well as
       --open which performs the opening of the	next development cycle as  de-
       scribed above.

       In all the modes	that perform a commit, if the project's	repository in-
       dex already contains other changes, then	the commit message is automat-
       ically opened for editing unless	--no-edit is specified.	The editing of
       the  commit  message  in	 the absence of	other changes can be requested
       with the	--edit option.

       Normally, release operates on all the packages  in  a  project.	If  no
       project	directory  is specified, then the current working directory is
       assumed and all the packages are	released, even if the  current	direc-
       tory  is	a package directory. If, however, one or more package directo-
       ries are	specified explicitly with --directory|-d, then release assumes
       you know	what you are doing and only releases these packages.  All  the
       packages	being released must have the same version but may have differ-
       ent revisions.

RELEASE	OPTIONS
       --revision
	      Release a	new package revision instead of	a new version.

       --no-commit
	      Don't  commit  the changes. Implies --no-tag and,	in the version
	      release mode, --no-open.

       --no-tag
	      Don't tag	the release commit. Tagging can	be performed later us-
	      ing the --tag mode option.

       --tag  Tag the already released version instead of releasing a new one.

       --current-tag action
	      Specify what to do with an existing tag for the current  version
	      when  tagging  a	new revision. Valid values for this option are
	      keep (default), update, and remove.

       --push Push the committed changes and tags to the remote.

       --show-push
	      Print the	push command instead of	executing it. This allows  ex-
	      amining  the  committed  changes and tags	before pushing them to
	      the remote. Note that the	command	is printed to stdout.

       --no-open
	      Don't open the next development cycle. Opening can be  performed
	      later using the --open mode option.

       --open Open  the	next development cycle instead of releasing a new ver-
	      sion.

       --amend
	      Release a	revision by amending the latest	commit instead of mak-
	      ing a new	one.

       --squash	num
	      Release a	revision by squashing the specified number of previous
	      commits and then amending	the result. Requires the  --amend  op-
	      tion to be specified.

       --alpha
	      Release an alpha instead of the final version.

       --beta Release a	beta version instead of	the final version.

       --minor
	      Release the next minor version instead of	the current patch.

       --major
	      Release  the  next major version instead of the current minor or
	      patch.

       --open-beta
	      Open the development cycle with the next beta version.

       --open-patch
	      Open the development cycle with the next patch version. This  is
	      the  default  if	the current patch version is not 0 (bugfix re-
	      lease series).

       --open-minor
	      Open the development cycle with the next minor version. This  is
	      the  default  if the current patch version is 0 (feature release
	      series).

       --open-major
	      Open the development cycle with the next major version.

       --open-base version
	      Open the development cycle with the specified version. The  base
	      version  should be in the	major.minor.patch form with the	opened
	      version becoming major.minor.patch-a.0.z.

       --edit Open the commit message for editing.

       --no-edit
	      Don't open the commit message for	editing.

       --force check
	      Force releasing, disabling the specified check. Repeat this  op-
	      tion to disable multiple checks.

       --yes|-y
	      Don't prompt for confirmation before releasing.

       --directory|-d dir
	      Assume project/package is	in the specified directory rather than
	      in the current working directory.

COMMON OPTIONS
       The  common  options are	summarized below with a	more detailed descrip-
       tion available in bdep-common-options(1).

       -v     Print essential underlying commands being	executed.

       -V     Print all	underlying commands being executed.

       --quiet|-q
	      Run quietly, only	printing error messages.

       --verbose level
	      Set the diagnostics verbosity to level between 0 and 6.

       --stdout-format format
	      Representation format to use for printing	to stdout.

       --jobs|-j num
	      Number of	jobs to	perform	in parallel.

       --progress
	      Display progress indicators for long-lasting operations, such as
	      network transfers, building, etc.

       --no-progress
	      Suppress progress	indicators for long-lasting  operations,  such
	      as network transfers, building, etc.

       --diag-color
	      Use color	in diagnostics.

       --no-diag-color
	      Don't use	color in diagnostics.

       --bpkg path
	      The  package  manager program to be used for build configuration
	      management.

       --bpkg-option opt
	      Additional option	to be passed to	the package manager program.

       --build path
	      The build	program	to be used to build packages.

       --build-option opt
	      Additional option	to be passed to	the build program.

       --curl path
	      The curl program to be used for network operations.

       --curl-option opt
	      Additional option	to be passed to	the curl program.

       --pager path
	      The pager	program	to be used to show long	text.

       --pager-option opt
	      Additional option	to be passed to	the pager program.

       --options-file file
	      Read additional options from file.

       --default-options dir
	      The directory to load additional default options files from.

       --no-default-options
	      Don't load default options files.

DEFAULT	OPTIONS	FILES
       See bdep-default-options-files(1) for an	overview of  the  default  op-
       tions  files. For the release command the search	start directory	is the
       project directory. The following	options	files are searched for in each
       directory and, if found,	loaded in the order listed:

       bdep.options
       bdep-release.options
       bdep-release-{version|revision|open|tag}.options	# (mode-dependent)

       The following release command options cannot be specified  in  the  de-
       fault options files:

       --directory|-d
       --revision
       --open
       --tag

BUGS
       Send bug	reports	to the users@build2.org	mailing	list.

COPYRIGHT
       Copyright (c) 2014-2024 the build2 authors.

       Permission  is  granted to copy,	distribute and/or modify this document
       under the terms of the MIT License.

bdep 0.17.0			   June	2024		       bdep-release(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=bdep-release&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help