1TITO(8)                        Tito User Manual                        TITO(8)
2
3
4

NAME

6       tito - manage RPM based projects using git
7

SYNOPSIS

9       tito init
10
11       tito tag [OPTIONS]
12
13       tito build --test --rpm
14
15       tito build [OPTIONS]
16
17       tito release [OPTIONS] TARGET
18
19       tito report
20

DESCRIPTION

22       After setting up a directory as a Git repo, use tito to manage the tags
23       and builds. A simple workflow may look like:
24
25        1. Save user preferences as described in titorc(5)
26
27        2. Initialize a .tito directory
28
29        3. Test
30
31            1. Make changes to source
32
33            2. Use git to commit changes
34
35            3. Build: tito build --rpm --test
36
37        4. Finalize a release
38
39            1. Tag: tito tag
40
41            2. Push: git push && git push $ORIGIN $TAG
42
43            3. Build: tito build [OPTIONS]
44

OPTIONS

46   tito init
47       This will create a top-level metadata directory called ".tito/" and
48       commit it to git. This directory will store tito’s configuration and
49       package metadata on a per branch basis. It will be filtered out when
50       creating .tar.gz’s.
51
52           Note
53           Your spec file should list the source as %{name}-%{version}.tar.gz
54
55   tito tag [options]
56       By default, tito will tag by bumping the rpm version (i.e. we bump the
57       Z in X.Y.Z). If you’d prefer to bump the package release instead
58       (normally should just be used for changes to the spec file or patches
59       applied within it), you can change the tagger class in .tito/tito.props
60       to ReleaseTagger. This will affect all packages in this git branch; if
61       you’d prefer to do this on a per-package basis you can do so in a
62       package specific tito.props.
63
64       If you work in a OBS style git with a separate .changes file for the
65       changelog, change the tagger class to tito.susetagger.SUSETagger. The
66       SUSETagger is based on the VersionTagger.
67
68       -h, --help
69           show this help message and exit
70
71       --debug
72           print debug messages (can be also set using DEBUG environment
73           variable)
74
75       --offline
76           do not attempt any remote communication (avoid using this please)
77
78       -o OUTPUTDIR, --output=OUTPUTDIR
79           Write temp files, tarballs, and RPMs to OUTPUTDIR. Create
80           sub-directories as needed by rpmbuild(8). (default /tmp/tito)
81
82       --tag-release
83           Deprecated, no longer required.
84
85       --keep-version
86           Use spec file version/release exactly as specified in spec file to
87           tag package.
88
89       --use-version=USE_VERSION
90           Update the spec file with the specified version.
91
92       --use-release=USE_RELEASE
93           Update the spec file with the specified release.
94
95       --no-auto-changelog
96           Don’t automatically create a changelog entry for this tag if none
97           is found
98
99       --accept-auto-changelog
100           Automatically accept the generated changelog.
101
102       --auto-changelog-message=MESSAGE
103           Use MESSAGE as the default changelog message for new packages
104
105       --changelog=MESSAGE
106           Use MESSAGE as the changelog when tagging, this can be specified
107           every time a package is tagged. Useful when needing to generate
108           custom changelogs. This will override the auto generated changelog.
109
110       -u, --undo
111           Undo the most recent (un-pushed) tag.
112
113           Note
114           Tito will create automatic changelog from git commits. Unless you
115           specify one of auto options, tito will open text editor and allow
116           you to edit the text. Editor is by default. This can be changes by
117           environment variable EDITOR.
118
119   tito build [options]
120       -h, --help
121           show this help message and exit
122
123       --debug
124           print debug messages (can be also set using DEBUG environment
125           variable)
126
127       --offline
128           do not attempt any remote communication. Avoid using this please.
129           See OFFLINE section below.
130
131       -o OUTPUTDIR, --output=OUTPUTDIR
132           Write temp files, tarballs and RPMs to OUTPUTDIR. (default
133           /tmp/tito)
134
135       --tgz
136           Build .tar.gz
137
138       --srpm
139           Build srpm
140
141       --rpm
142           Build srpm and rpm
143
144       -i, --install
145           Install any binary RPMs being built.
146
147           Warning
148           uses sudo rpm -Uvh --force
149
150       --no-sudo
151           Don’t escalate privileges when installing. Use when running this
152           command with required privileges.
153
154       --dist=DISTTAG
155           Apply DISTTAG to srpm and/or rpm. (e.g., ".el5")
156
157       --test
158           use current branch HEAD instead of latest package tag.
159
160       --no-cleanup
161           do not clean up temporary build directories/files
162
163       --rpmbuild-options=OPTIONS
164           Pass OPTIONS to rpmbuild.
165
166       --builder=BUILDER
167           Override the normal builder by specifying a full class path or one
168           of the pre-configured shortcuts. Only useful if you need to
169           override the default builder for some purpose, such as testing a
170           build via mock.
171
172       --arg=BUILDER_ARGS
173           Custom arguments specific to a particular builder. (key=value)
174
175       --scl=COLLECTION
176           Build package for software collection. This is mostly useful for
177           building src.rpm, because for rpm you want to define this option
178           for specific tag in tito.props
179
180       --quiet
181           Suppress output from the build process.
182
183       --verbose
184           Expose more output from the build process.
185
186   tito release [options] TARGETS
187       Runs the release targets defined in .tito/releasers.conf.
188
189       -h, --help
190           show this help message and exit
191
192       --debug
193           print debug messages (can be also set using DEBUG environment
194           variable)
195
196       --offline
197           do not attempt any remote communication. Avoid using this please.
198           See OFFLINE section below.
199
200       -o OUTPUTDIR, --output=OUTPUTDIR
201           Write temp files, tarballs and RPMs to OUTPUTDIR. (default
202           /tmp/tito)
203
204       --tag=PKGTAG
205           build a specific tag instead of the latest version (e.g.,
206           spacewalk-java-0.4.0-1)
207
208       --dry-run
209           Do not actually commit/push anything during release.
210
211       --no-build
212           Do not perform a brew/koji build, only DistGit commit. (only for
213           Koji/DistGit releasers)
214
215       --all
216           Run all release targets defined in .tito/releasers.conf.
217
218       --list
219           List all release targets defined in .tito/releasers.conf.
220
221       --all-starting-with=ALL_STARTING_WITH
222           Run all release targets starting with the given string. (i.e. if
223           you have defined release targets yum-f15 and yum-f14 in
224           releasers.conf, --all-starting-with=yum will run only these
225           targets, and ignore any others.)
226
227       --scratch
228           Perform a scratch build in Koji. Can be specified using environment
229           variable SCRATCH set to 1 as well.
230
231       --yes
232           Do not ask to confirm release commits or edit their messages.
233
234   tito report [options]
235       Display a report of all packages with differences between HEAD and
236       their most recent tag, as well as a patch for that diff. Used to
237       determine which packages are in need of a rebuild.
238
239       -h, --help
240           show this help message and exit
241
242       --debug
243           print debug messages (can be also set using DEBUG environment
244           variable)
245
246       --offline
247           do not attempt any remote communication. Avoid using this please.
248           See OFFLINE section below.
249
250       -o OUTPUTDIR, --output=OUTPUTDIR
251           Write temp files, tarballs and RPMs to OUTPUTDIR. (default
252           /tmp/tito)
253
254       --untagged-diffs
255           Print out diffs for all packages with changes between their most
256           recent tag and HEAD. Useful for determining which packages are in
257           need of a re-tag.
258
259       --untagged-commits
260           Print out the list for all packages with changes between their most
261           recent tag and HEAD. Useful for determining which packages are in
262           need of a re-tag.
263

OFFLINE

265       Offline lets you potentially do builds you can’t reproduce, normally we
266       check that the tag you’re building exists in the remote repo. If it
267       hasn’t been pushed, it’s quite easy to do a build that will result in a
268       checksum that is no longer the same. This is something you should try
269       to avoid.
270

EXAMPLES

272       Build and install a test package from the latest code in current git
273       HEAD
274           tito build --rpm --test -i
275
276       Overriding the default builder to build via mock instead
277           tito build --builder mock --arg mock=fedora-15-x86_64 --rpm
278

SEE ALSO

280       titorc(5) releasers.conf(5) tito.props(5)
281
282       /usr/share/doc/tito-*/README.mkd
283

AUTHORS

285       Devan Goodwin <dgoodwin@rm-rf.ca>
286
287       James Bowes <jbowes@repl.ca>
288
289       Jan Pazdziora
290
291       Jesus M Rodriguez <jesusr@redhat.com>
292
293       Pall Sigurdsson <palli@opensource.is>
294
295       Miroslav Suchý <msuchy@redhat.com>
296
297       and: Adam Miller, Alex Wood, Aron Parsons, Brenton Leanhardt, Ivan
298       Nečas, John Eckersberg, Kenny MacDermid, Lukáš Zapletal, Luke Meyer,
299       Marian Csontos, Martin Bačovský, Michael Stead, Mike McCune, mscherer,
300       Paul Morgan, Sean P. Kane, Steve Ashcrow Milner
301
302
303
304tito                              07/08/2023                           TITO(8)
Impressum