1DARCS(1) User Commands DARCS(1)
2
3
4
6 darcs - an advanced revision control system
7
9 darcs COMMAND ...
10
12 darcs is a nifty revision control tool. For more a detailed descrip‐
13 tion, see the html documentation, which should be available at
14 /usr/share/doc/darcs/manual/index.html. To easily get more specific
15 help on each command, you can call `darcs COMMAND --help'
16
17
19 get Get is used to get a local copy of a repository.
20
21
22 initialize
23 Generally you will only call initialize once for each project
24 you work on, and calling it is just about the first thing you
25 do. Just make sure you are in the main directory of the
26 project, and initialize will set up all the directories and
27 files darcs needs in order to start keeping track of revisions
28 for your project.
29
30
32 add Add needs to be called whenever you add a new file or directory
33 to your project. Of course, it also needs to be called when you
34 first create the project, to let darcs know which files should
35 be kept track of.
36
37
38 remove Remove should be called when you want to remove a file from your
39 project, but don't actually want to delete the file. Otherwise
40 just delete the file or directory, and darcs will notice that it
41 has been removed. Be aware that the file WILL be deleted from
42 any other copy of the repository to which you later apply the
43 patch.
44
45
46 mv Darcs mv needs to be called whenever you want to move files or
47 directories. Unlike remove, mv actually performs the move itself
48 in your working copy.
49
50
51 replace
52 Replace allows you to change a specified token wherever it
53 occurs in the specified files. The replace is encoded in a spe‐
54 cial patch and will merge as expected with other patches.
55 Tokens here are defined by a regexp specifying the characters
56 which are allowed. By default a token corresponds to a C iden‐
57 tifier.
58
59
61 record Record is used to name a set of changes and record the patch to
62 the repository.
63
64
65 pull Pull is used to bring changes made in another repository into
66 the current repository (that is, either the one in the current
67 directory, or the one specified with the --repodir option). Pull
68 allows you to bring over all or some of the patches that are in
69 that repository but not in this one. Pull accepts arguments,
70 which are URLs from which to pull, and when called without an
71 argument, pull will use the repository from which you have most
72 recently either pushed or pulled.
73
74
75 push Push is the opposite of pull. Push allows you to copy changes
76 from the current repository into another repository.
77
78
79 send Send is used to prepare a bundle of patches that can be applied
80 to a target repository. Send accepts the URL of the repository
81 as an argument. When called without an argument, send will use
82 the most recent repository that was either pushed to, pulled
83 from or sent to. By default, the patch bundle is sent by email,
84 although you may save it to a file.
85
86
87 apply Apply is used to apply a bundle of patches to this repository.
88 Such a bundle may be created using send.
89
90
92 whatsnew
93 whatsnew gives you a view of what changes you've made in your
94 working copy that haven't yet been recorded. The changes are
95 displayed in darcs patch format. Note that --look-for-adds
96 implies --summary usage.
97
98
99 query manifest
100 The manifest command lists the version-controlled files in the
101 working copy.
102
103
104 query tags
105 The tags command writes a list of all tags in the repository to
106 standard output.
107
109 revert Revert is used to undo changes made to the working copy which
110 have not yet been recorded. You will be prompted for which
111 changes you wish to undo. The last revert can be undone safely
112 using the unrevert command if the working copy was not modified
113 in the meantime.
114
115
116 unrevert
117 Unrevert is used to undo the results of a revert command. It is
118 only guaranteed to work properly if you haven't made any changes
119 since the revert was performed.
120
121
122 unrecord
123 Unrecord does the opposite of record in that it makes the
124 changes from patches active changes again which you may record
125 or revert later. The working copy itself will not change.
126
127
128 amend-record
129 Amend-record is used to replace a patch with a newer version
130 with additional changes.
131
132 WARNINGS: You should ONLY use amend-record on patches which only
133 exist in a single repository! Also, running amend-record while
134 another user is pulling from the same repository may cause
135 repository corruption.
136
137
138 resolve
139 Resolve is used to mark and resolve any conflicts that may exist
140 in a repository. Note that this trashes any unrecorded changes
141 in the working copy.
142
143
144 tag Tag is used to name a version of this repository (i.e. the whole
145 tree).
146
147
148 setpref
149 Setpref allows you to set a preference value in a way that will
150 propagate to other repositories.
151
152 Valid preferences are: test predist boringfile binariesfile.
153
154
155 rollback
156 Rollback is used to undo the effects of a single patch without
157 actually deleting that patch. Instead, it applies the inverse
158 patch as a new patch. Unlike unpull and unrecord (which accom‐
159 plish a similar goal) rollback is perfectly safe, since it
160 leaves in the repository a record of the patch it is removing.
161
162
163 diff Diff can be used to create a diff between two versions which are
164 in your repository. Specifying just --from-patch will get you a
165 diff against your working copy. If you give diff no version
166 arguments, it gives you the same information as whatsnew except
167 that the patch is formatted as the output of a diff command
168
169
170 changes
171 Changes gives a changelog-style summary of the repository his‐
172 tory, including options for altering how the patches are
173 selected and displayed.
174
175
176 annotate
177 Annotate displays which patches created or last modified a
178 directory file or line. It can also display the contents of a
179 particular patch in darcs format.
180
181
182 dist Dist is a handy tool for implementing a "make dist" target in
183 your makefile. It creates a tarball of the recorded edition of
184 your tree.
185
186
187 trackdown
188 Trackdown tries to find the most recent version in the reposi‐
189 tory which passes a test. Given no arguments, it uses the
190 default repository test. Given one argument, it treats it as a
191 test command. Given two arguments, the first is an initializa‐
192 tion command with is run only once, and the second is the test
193 command.
194
195
196 unpull Unpull completely removes recorded patches from your local
197 repository. The changes will be undone in your working copy and
198 the patches will not be shown in your changes list anymore.
199 Beware that if the patches are not still present in another
200 repository you will lose precious code by unpulling!
201
202
203 obliterate
204 Obliterate completely removes recorded patches from your local
205 repository. The changes will be undone in your working copy and
206 the patches will not be shown in your changes list anymore.
207 Beware that you can lose precious code by obliterating!
208
209
210 put Put is the opposite of get. Put copies the content of the cur‐
211 rent repository and puts it in a newly created repository.
212
213
214 optimize
215 Optimize can help to improve the performance of your repository
216 in a number of cases.
217
218
219 check Check verifies that the patches stored in the repository, when
220 successively applied to an empty tree, properly recreate the
221 stored pristine tree.
222
223
224 repair Repair attempts to fix corruption that may have entered your
225 repository.
226
227
228
230 Report bugs by mail to bugs@darcs.net or via the web site at
231 http://bugs.darcs.net/.
232
233
235 David Roundy <droundy@abridgegame.org>.
236
237
238
239darcs July 2007 DARCS(1)