~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/help_topics.py

  • Committer: Martin Pool
  • Date: 2007-06-15 07:01:24 UTC
  • mfrom: (2528 +trunk)
  • mto: This revision was merged to the branch mainline in revision 2530.
  • Revision ID: mbp@sourcefrog.net-20070615070124-clpwqh5gxc4wbf9l
Merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
193
193
--profile      Profile execution using the hotshot profiler
194
194
--lsprof       Profile execution using the lsprof profiler
195
195
--lsprof-file  Profile execution using the lsprof profiler, and write the
196
 
               results to a specified file.
 
196
               results to a specified file.  If the filename ends with ".txt",
 
197
               text format will be used.  If the filename ends with
 
198
               ".callgrind", output will be formatted for use with KCacheGrind.
 
199
               Otherwise, the output will be a pickle.
 
200
 
 
201
See doc/developers/profiling.txt for more information on profiling.
197
202
 
198
203
Note: --version must be supplied before any command.
199
204
"""
276
281
              commits are only made locally
277
282
"""
278
283
 
 
284
_repositories = \
 
285
"""Repositories
 
286
 
 
287
Repositories in Bazaar are where committed information is stored. It is
 
288
possible to create a shared repository which allows multiple branches to
 
289
share their information in the same location. When a new branch is
 
290
created it will first look to see if there is a containing repository it
 
291
can share.
 
292
 
 
293
When two branches of the same project share a repository, there is
 
294
generally a large space saving. For some operations (e.g. branching
 
295
within the repository) this translates in to a large time saving.
 
296
 
 
297
To create a shared repository use the init-repository command (or the alias
 
298
init-repo). This command takes the location of the repository to create. This
 
299
means that 'bzr init-repository repo' will create a directory named 'repo',
 
300
which contains a shared repository. Any new branches that are created in this
 
301
directory will then use it for storage.
 
302
 
 
303
It is a good idea to create a repository whenever you might create more
 
304
than one branch of a project. This is true for both working areas where you
 
305
are doing the development, and any server areas that you use for hosting
 
306
projects. In the latter case, it is common to want branches without working
 
307
trees. Since the files in the branch will not be edited directly there is no
 
308
need to use up disk space for a working tree. To create a repository in which
 
309
the branches will not have working trees pass the '--no-trees' option to
 
310
'init-repository'.
 
311
 
 
312
Related commands:
 
313
 
 
314
  init-repository   Create a shared repository. Use --no-trees to create one
 
315
                    in which new branches won't get a working tree.
 
316
"""
 
317
 
 
318
 
 
319
_working_trees = \
 
320
"""Working Trees
 
321
 
 
322
A working tree is the contents of a branch placed on disk so that you can
 
323
see the files and edit them. The working tree is where you make changes to a
 
324
branch, and when you commit the current state of the working tree is the
 
325
snapshot that is recorded in the commit.
 
326
 
 
327
When you push a branch to a remote system, a working tree will not be
 
328
created. If one is already present the files will not be updated. The
 
329
branch information will be updated and the working tree will be marked
 
330
as out-of-date. Updating a working tree remotely is difficult, as there
 
331
may be uncommitted changes or the update may cause content conflicts that are
 
332
difficult to deal with remotely.
 
333
 
 
334
If you have a branch with no working tree you can use the 'checkout' command
 
335
to create a working tree. If you run 'bzr checkout .' from the branch it will
 
336
create the working tree. If the branch is updated remotely, you can update the
 
337
working tree by running 'bzr update' in that directory.
 
338
 
 
339
If you have a branch with a working tree that you do not want the 'remove-tree'
 
340
command will remove the tree if it is safe. This can be done to avoid the
 
341
warning about the remote working tree not being updated when pushing to the
 
342
branch. It can also be useful when working with a '--no-trees' repository
 
343
(see 'bzr help repositories').
 
344
 
 
345
If you want to have a working tree on a remote machine that you push to you
 
346
can either run 'bzr update' in the remote branch after each push, or use some
 
347
other method to update the tree during the push. There is an 'rspush' plugin
 
348
that will update the working tree using rsync as well as doing a push. There
 
349
is also a 'push-and-update' plugin that automates running 'bzr update' via SSH
 
350
after each push.
 
351
 
 
352
Useful commands:
 
353
 
 
354
  checkout     Create a working tree when a branch does not have one.
 
355
  remove-tree  Removes the working tree from a branch when it is safe to do so.
 
356
  update       When a working tree is out of sync with it's associated branch
 
357
               this will update the tree to match the branch.
 
358
"""
 
359
 
279
360
 
280
361
topic_registry.register("revisionspec", _help_on_revisionspec,
281
362
                        "Explain how to use --revision")
295
376
    from bzrlib import bugtracker
296
377
    return bugtracker.tracker_registry.help_topic(topic)
297
378
topic_registry.register('bugs', get_bugs_topic, 'Bug tracker support')
 
379
topic_registry.register('repositories', _repositories,
 
380
                        'Basic information on shared repositories.')
 
381
topic_registry.register('working-trees', _working_trees,
 
382
                        'Information on working trees')
298
383
 
299
384
 
300
385
class HelpTopicIndex(object):
355
440
    def get_help_topic(self):
356
441
        """Return the help topic this can be found under."""
357
442
        return self.topic
 
443