summaryrefslogtreecommitdiff
path: root/man/1/ct.pod
blob: 5ae774375dbd5996b114f9579e12657749f2a011 (plain)
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
160
=head1 NAME

caretaker - distributed dotfile and script manager

=head1 SYNOPSIS

B<ct> [I<options>] I<action> [I<arguments>]

=head1 DESCRIPTION

B<ct> is the basic script for maintaining packages

I<action> may be one of:

=over

=item B<add> I<packages>

fetch I<packages> from the package_root and install it

=item B<debug>

Show some information useful for debugging.
For real debugging, use zsh -x path/to/ct [...]

=item B<eval> I<expression>

Evauluate I<expression>. See caretaker(7)

=item B<info> I<package>

Show information on I<package>, like dependencies, version, etc

=item B<list> [I<filter>]

List packages depending on I<filter>:

=over

=item * B<all>

show all packages

=item * B<local>

show currently installed packages (default)

=item * B<not-installed>

show remote packages which are not installed

=back

=item B<log> I<package>

Show commit history for package

=item B<new> I<package>

Create new I<package> on the local and remote site.  If you have more than one
package root, the first one is used.  Note that this only works for SSH
package roots without forcecommand.

=item B<pull> [ I<package> ]

retrieve and install newest available version of I<package>.
If no argument is given, updates all installed packages

=item B<push> [ I<package> ]

push new local versions to PKG_ROOT.
If no argument is given, pushes all installed packages

=item B<refresh> [ I<package> ]

Check prereqs and update symlinks of I<package>.
If no argument is given, refreshes all installed packages

You can think of this as a 'Fake-Upgrade', it is as if the package had been
upgraded. Therefory, B<refresh> is useful if you want to test a change without
committing or pushing it.

=item B<remove> I<packages>

Remove I<packages> from the local packages tree

=item B<status> [ I<package> ]

Check for local changes to the I<package>'s files.
If no arguments is given, checks all installed packages

=item B<update> [ B<local>|B<remote> ]

Update local/remote package list (both if no argument is given)

=back

For all actions which expect a I<package> as argument, if the first argument
is C<< . >>, the package related to the current working directory will be used.

=head2 SHORT ACTIONS

Instead of the I<action>s described above, you may also use their short
forms:

  short   long form
  -----   ---------
     a    add
     e    eval
     f    pull      (think "fetch")
     i    info
     l    log
     ls   list
     n    new
     p    push
     r    refresh
     rm   remove
     s    status
     u    update

=head1 OPTIONS

Options marked as [boolean] may be negated
by prepending a 'no', like '--no-auto-update'.

Options always override the configuration file.
Also, every option refers to a configuration parameter,
so please see caretaker.conf(5) for more information.

=head1 FILES

=over

=item F<~/.config/caretaker/caretaker.conf> or F<~/.caretaker.conf>

Contains configuration vars

=back

=head1 AUTHOR

Daniel Friesel E<lt>derf@chaosdorf.deE<gt>

=head1 CREDITS

=over

=item * Lars Stoltenow (penma)

for pointing out various bugs and design mistakes

=item * Maximilian GaE<szlig> (mxey)

many ideas and suggestions

=back

=head1 SEE ALSO

caretaker.conf(5), caretaker(7)