File: gcli-releases.1.in

package info (click to toggle)
gcli 2.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, trixie
  • size: 2,096 kB
  • sloc: ansic: 19,013; makefile: 312; yacc: 261; sh: 142; lex: 53
file content (159 lines) | stat: -rw-r--r-- 4,712 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
.Dd @PACKAGE_DATE@
.Dt GCLI-RELEASES 1
.Os @PACKAGE_STRING@
.Sh NAME
.Nm gcli releases
.Nd manage releases on git forges
.Sh SYNOPSIS
.Nm
.Op Fl sl
.Op Fl n Ar n
.Op Fl o Ar owner Fl r Ar repo
.Nm
.Cm create
.Fl t Ar tagname
.Op Fl n Ar name
.Op Fl c Ar commitish
.Op Fl a Pa asset
.Op Fl o Ar owner Fl r Ar repo
.Op Fl d
.Op Fl p
.Nm
.Cm delete
.Op Fl o Ar owner Fl r Ar repo
.Op Fl y
.Ar release-id
.Sh DESCRIPTION
Use
.Nm
to list, create or delete releases for repositories on
.Xr git 1
forges such as GitLab, Gitea or GitHub. Without a subcommand
specified,
.Nm
will list releases in the given or autodetected repository. If you are
the owner of that repo, you will also see draft releases. You will not
see those if you are not the owner of that particular repository.
.Sh OPTIONS
.Bl -tag -width indent
.It Fl s , -sorted
Reverse the output such that most recent items appear at the bottom.
.It Fl l , -long
Print a long list instead of a short table.
.It Fl o , -owner Ar owner
List releases in the repo of the given owner. This option can only be
used in combination with
.Fl r .
.It Fl r , -repo Ar repo
List releases in the given repo. This option can only be used in
combination with
.Fl o .
.It Fl n , -count Ar n
Fetch at least
.Ar n
releases. Setting
.Ar n
to -1 will fetch all releases. Default: 30. Note that on repositories
with many releases fetching all releases can take a considerable
amount of time and may result in rate limiting by the GitHub API.
.El
.Sh SUBCOMMANDS
.Bl -tag -width indent
.It Cm create
Create a new release on the given or autodetected repository. The
editor will come up and ask you to enter a message for the release.
.Pp
The following flags can be specified:
.Pp
.Bl -tag -width indent
.It Fl t , -tag Ar tagname
Specify a tag to be used or to be created for the release. This option
is mandatory. See
.Fl c
for how to specify from what the tag should be created.
.It Fl n , -name Ar name
Name of the release.
.It Fl c , -commitish Ar commitish
When a new tag is to be created, this specifies what the tag is based
on. It can be either a branch or a commit hash. Unused if the tag
already exists. Otherwise this defaults to the default branch from
.Xr git 1 .
.It Fl o , -owner Ar owner
Operate on the repository of the specified owner. This option can only
be used in combination with
.Fl r .
Use this if you want to e.g. create the release in an organization and
not your own account.
.It Fl r , -repo Ar repo
Create the release in the given repository. This option can only be
used in combination with
.Fl o .
.It Fl a , -asset Pa asset
Attach the given asset to the release. It will be uploaded to Github
and be made available for download. You can specify this option
multiple times to attach more than one asset to the release.
.It Fl y , -yes
Do not ask for confirmation before creating the release. Assume yes.
.El
.It Cm delete
Delete a release.
.Pp
The following options can be specified:
.Bl -tag -width indent
.It Fl r , -repo Ar repo
Delete the release in the given repository. This option can only be
used in combination with
.Fl o .
.It Fl o , -owner Ar owner
Delete the release in the repository of the given owner. This option
can only be used in combination with
.Fl r .
Use this if you want to delete a release in a given organization and
not your own account.
.It Fl y , -yes
Do not ask for confirmation before deleting the repository. Assume
yes.
.El
.El
.Sh EXAMPLES
Delete release with ID 54656866 in herrhotzenplotz/gcli-playground
without asking for confirmation:
.Pp
.Bd -literal -offset indent
$ gcli releases delete --owner herrhotzenplotz \\
  --repo gcli-playground --yes 54656866
.Ed
.Pp
Create a new release named Foobar in herrhotzenplotz/gcli-playground.
Create a new tag called banana based on the commit with the hash
0fed3c9 and upload
.Pa foobar.tar.xz , barfoo.tar.gz
and
.Pa CHANGELOG
as assets to the release.
.Pp
.Bd -literal -offset indent
$ gcli releases create --owner herrhotzenplotz \\
  --repo gcli-playground --tag banana --name Foobar \\
  --commitish 0fed3c9 --asset foobar.tar.xz \\
  --asset barfoo.tar.gz --asset CHANGELOG
.Ed
.Sh SEE ALSO
.Xr git 1 ,
.Xr gcli 1
.Sh AUTHORS
.An Nico Sonack aka. herrhotzenplotz Aq Mt nsonack@herrhotzenplotz.de
and contributors.
.Sh BUGS
Currently uploading release assets to GitLab doesn't work.
Prereleases and draft releases are unsupported by GitLab. Using those
flags in a GitLab forge type remote will produce warnings but still
create the release.
.Pp
Please report bugs via E-Mail to
.Mt @PACKAGE_BUGREPORT@ .
.Pp
Alternatively you can report them on any of the forges linked at
.Lk @PACKAGE_URL@ .
However, the preferred and quickest method is to use the mailing
list.