257
\nBazaar supports all of the standard parts within the URL::
257
\nBreezy supports all of the standard parts within the URL::
259
259
<protocol>://[user[:password]@]host[:port]/[path]
261
261
allowing URLs such as::
263
http://bzruser:BadPass@bzr.example.com:8080/bzr/trunk
263
http://brzuser:BadPass@brz.example.com:8080/brz/trunk
265
For bzr+ssh:// and sftp:// URLs, Bazaar also supports paths that begin
265
For brz+ssh:// and sftp:// URLs, Breezy also supports paths that begin
266
266
with '~' as meaning that the rest of the path should be interpreted
267
267
relative to the remote user's home directory. For example if the user
268
268
``remote`` has a home directory of ``/home/remote`` on the server
269
269
shell.example.com, then::
271
bzr+ssh://remote@shell.example.com/~/myproject/trunk
271
brz+ssh://remote@shell.example.com/~/myproject/trunk
273
273
would refer to ``/home/remote/myproject/trunk``.
283
"""Bazaar %s -- a free distributed version-control tool
283
"""Breezy %s -- a free distributed version-control tool
284
284
http://bazaar.canonical.com/
287
bzr init makes this directory a versioned branch
288
bzr branch make a copy of another branch
290
bzr add make files or directories versioned
291
bzr ignore ignore a file or pattern
292
bzr mv move or rename a versioned file
294
bzr status summarize changes in working copy
295
bzr diff show detailed diffs
297
bzr merge pull in changes from another branch
298
bzr commit save some or all changes
299
bzr send send changes via email
301
bzr log show history of changes
302
bzr check validate storage
304
bzr help init more help on e.g. init command
305
bzr help commands list all commands
306
bzr help topics list all help topics
307
""" % bzrlib.__version__
287
brz init makes this directory a versioned branch
288
brz branch make a copy of another branch
290
brz add make files or directories versioned
291
brz ignore ignore a file or pattern
292
brz mv move or rename a versioned file
294
brz status summarize changes in working copy
295
brz diff show detailed diffs
297
brz merge pull in changes from another branch
298
brz commit save some or all changes
299
brz send send changes via email
301
brz log show history of changes
302
brz check validate storage
304
brz help init more help on e.g. init command
305
brz help commands list all commands
306
brz help topics list all help topics
307
""" % breezy.__version__
310
310
_global_options = \
311
311
"""Global Options
313
313
These options may be used with any command, and may appear in front of any
314
command. (e.g. ``bzr --profile help``).
314
command. (e.g. ``brz --profile help``).
316
316
--version Print the version number. Must be supplied before the command.
317
317
--no-aliases Do not process command aliases when running this command.
361
361
Checkouts are source trees that are connected to a branch, so that when
362
362
you commit in the source tree, the commit goes into that branch. They
363
363
allow you to use a simpler, more centralized workflow, ignoring some of
364
Bazaar's decentralized features until you want them. Using checkouts
364
Breezy's decentralized features until you want them. Using checkouts
365
365
with shared repositories is very similar to working with SVN or CVS, but
366
366
doesn't have the same restrictions. And using checkouts still allows
367
367
others working on the project to use whatever workflow they like.
369
A checkout is created with the bzr checkout command (see "help checkout").
369
A checkout is created with the brz checkout command (see "help checkout").
370
370
You pass it a reference to another branch, and it will create a local copy
371
371
for you that still contains a reference to the branch you created the
372
372
checkout from (the master branch). Then if you make any commits they will be
442
442
_repositories = \
445
Repositories in Bazaar are where committed information is stored. There is
445
Repositories in Breezy are where committed information is stored. There is
446
446
a repository associated with every branch.
448
Repositories are a form of database. Bzr will usually maintain this for
448
Repositories are a form of database. Breezy will usually maintain this for
449
449
good performance automatically, but in some situations (e.g. when doing
450
very many commits in a short time period) you may want to ask bzr to
451
optimise the database indices. This can be done by the 'bzr pack' command.
450
very many commits in a short time period) you may want to ask brz to
451
optimise the database indices. This can be done by the 'brz pack' command.
453
By default just running 'bzr init' will create a repository within the new
453
By default just running 'brz init' will create a repository within the new
454
454
branch but it is possible to create a shared repository which allows multiple
455
455
branches to share their information in the same location. When a new branch is
456
456
created it will first look to see if there is a containing shared repository it
498
498
difficult to deal with remotely.
500
500
If you have a branch with no working tree you can use the 'checkout' command
501
to create a working tree. If you run 'bzr checkout .' from the branch it will
501
to create a working tree. If you run 'brz checkout .' from the branch it will
502
502
create the working tree. If the branch is updated remotely, you can update the
503
working tree by running 'bzr update' in that directory.
503
working tree by running 'brz update' in that directory.
505
505
If you have a branch with a working tree that you do not want the 'remove-tree'
506
506
command will remove the tree if it is safe. This can be done to avoid the
507
507
warning about the remote working tree not being updated when pushing to the
508
508
branch. It can also be useful when working with a '--no-trees' repository
509
(see 'bzr help repositories').
509
(see 'brz help repositories').
511
511
If you want to have a working tree on a remote machine that you push to you
512
can either run 'bzr update' in the remote branch after each push, or use some
512
can either run 'brz update' in the remote branch after each push, or use some
513
513
other method to update the tree during the push. There is an 'rspush' plugin
514
514
that will update the working tree using rsync as well as doing a push. There
515
is also a 'push-and-update' plugin that automates running 'bzr update' via SSH
515
is also a 'push-and-update' plugin that automates running 'brz update' via SSH
518
518
Useful commands::
598
598
known_env_variables = [
599
("BZRPATH", "Path where bzr is to look for shell plugin external commands."),
600
("BZR_EMAIL", "E-Mail address of the user. Overrides EMAIL."),
599
("BRZPATH", "Path where brz is to look for shell plugin external commands."),
600
("BRZ_EMAIL", "E-Mail address of the user. Overrides EMAIL."),
601
601
("EMAIL", "E-Mail address of the user."),
602
("BZR_EDITOR", "Editor for editing commit messages. Overrides EDITOR."),
602
("BRZ_EDITOR", "Editor for editing commit messages. Overrides EDITOR."),
603
603
("EDITOR", "Editor for editing commit messages."),
604
("BZR_PLUGIN_PATH", "Paths where bzr should look for plugins."),
605
("BZR_DISABLE_PLUGINS", "Plugins that bzr should not load."),
606
("BZR_PLUGINS_AT", "Plugins to load from a directory not in BZR_PLUGIN_PATH."),
607
("BZR_HOME", "Directory holding .bazaar config dir. Overrides HOME."),
608
("BZR_HOME (Win32)", "Directory holding bazaar config dir. Overrides APPDATA and HOME."),
609
("BZR_REMOTE_PATH", "Full name of remote 'bzr' command (for bzr+ssh:// URLs)."),
610
("BZR_SSH", "Path to SSH client, or one of paramiko, openssh, sshcorp, plink or lsh."),
611
("BZR_LOG", "Location of .bzr.log (use '/dev/null' to suppress log)."),
612
("BZR_LOG (Win32)", "Location of .bzr.log (use 'NUL' to suppress log)."),
613
("BZR_COLUMNS", "Override implicit terminal width."),
614
("BZR_CONCURRENCY", "Number of processes that can be run concurrently (selftest)"),
615
("BZR_PROGRESS_BAR", "Override the progress display. Values are 'none' or 'text'."),
616
("BZR_PDB", "Control whether to launch a debugger on error."),
617
("BZR_SIGQUIT_PDB", "Control whether SIGQUIT behaves normally or invokes a breakin debugger."),
618
("BZR_TEXTUI_INPUT", "Force console input mode for prompts to line-based (instead of char-based)."),
604
("BRZ_PLUGIN_PATH", "Paths where brz should look for plugins."),
605
("BRZ_DISABLE_PLUGINS", "Plugins that brz should not load."),
606
("BRZ_PLUGINS_AT", "Plugins to load from a directory not in BRZ_PLUGIN_PATH."),
607
("BRZ_HOME", "Directory holding .bazaar config dir. Overrides HOME."),
608
("BRZ_HOME (Win32)", "Directory holding bazaar config dir. Overrides APPDATA and HOME."),
609
("BZR_REMOTE_PATH", "Full name of remote 'brz' command (for brz+ssh:// URLs)."),
610
("BRZ_SSH", "Path to SSH client, or one of paramiko, openssh, sshcorp, plink or lsh."),
611
("BRZ_LOG", "Location of .brz.log (use '/dev/null' to suppress log)."),
612
("BRZ_LOG (Win32)", "Location of .brz.log (use 'NUL' to suppress log)."),
613
("BRZ_COLUMNS", "Override implicit terminal width."),
614
("BRZ_CONCURRENCY", "Number of processes that can be run concurrently (selftest)"),
615
("BRZ_PROGRESS_BAR", "Override the progress display. Values are 'none' or 'text'."),
616
("BRZ_PDB", "Control whether to launch a debugger on error."),
617
("BRZ_SIGQUIT_PDB", "Control whether SIGQUIT behaves normally or invokes a breakin debugger."),
618
("BRZ_TEXTUI_INPUT", "Force console input mode for prompts to line-based (instead of char-based)."),
621
621
def _env_variables(topic):
623
623
ret = ["Environment Variables\n\n"
624
"See bzr help configuration for more details.\n\n"]
624
"See brz help configuration for more details.\n\n"]
625
625
max_key_len = max([len(k[0]) for k in known_env_variables])
626
626
desc_len = (80 - max_key_len - 2)
627
627
ret.append("=" * max_key_len + " " + "=" * desc_len + "\n")
660
660
A criss-cross in the branch history can cause the default merge technique
661
661
to emit more conflicts than would normally be expected.
663
In complex merge cases, ``bzr merge --lca`` or ``bzr merge --weave`` may give
664
better results. You may wish to ``bzr revert`` the working tree and merge
665
again. Alternatively, use ``bzr remerge`` on particular conflicted files.
663
In complex merge cases, ``brz merge --lca`` or ``brz merge --weave`` may give
664
better results. You may wish to ``brz revert`` the working tree and merge
665
again. Alternatively, use ``brz remerge`` on particular conflicted files.
667
667
Criss-crosses occur in a branch's history if two branches merge the same thing
668
668
and then merge one another, or if two branches merge one another at the same
669
669
time. They can be avoided by having each branch only merge from or into a
670
670
designated central branch (a "star topology").
672
Criss-crosses cause problems because of the way merge works. Bazaar's default
672
Criss-crosses cause problems because of the way merge works. Breezy's default
673
673
merge is a three-way merger; in order to merge OTHER into THIS, it must
674
674
find a basis for comparison, BASE. Using BASE, it can determine whether
675
675
differences between THIS and OTHER are due to one side adding lines, or
691
691
a local branch must be destroyed. (For checkouts, this is the local branch
692
692
that serves primarily as a cache.) If the branch-to-be-destroyed does not
693
693
have the same last revision as the new reference branch for the lightweight
694
checkout, data could be lost, so Bazaar refuses.
694
checkout, data could be lost, so Breezy refuses.
696
696
How you deal with this depends on *why* the branches are out of sync.
698
698
If you have a checkout and have done local commits, you can get back in sync
699
by running "bzr update" (and possibly "bzr commit").
699
by running "brz update" (and possibly "brz commit").
701
701
If you have a branch and the remote branch is out-of-date, you can push
702
the local changes using "bzr push". If the local branch is out of date, you
703
can do "bzr pull". If both branches have had changes, you can merge, commit
702
the local changes using "brz push". If the local branch is out of date, you
703
can do "brz pull". If both branches have had changes, you can merge, commit
704
704
and then push your changes. If you decide that some of the changes aren't
705
705
useful, you can "push --overwrite" or "pull --overwrite" instead.
744
744
topic_registry.register('basic', _basic_help, "Basic commands", SECT_HIDDEN)
745
745
topic_registry.register('topics', _help_on_topics, "Topics list", SECT_HIDDEN)
746
746
def get_current_formats_topic(topic):
747
from bzrlib import controldir
747
from breezy import controldir
748
748
return "Current Storage Formats\n\n" + \
749
749
controldir.format_registry.help_topic(topic)
750
750
def get_other_formats_topic(topic):
751
from bzrlib import controldir
751
from breezy import controldir
752
752
return "Other Storage Formats\n\n" + \
753
753
controldir.format_registry.help_topic(topic)
754
754
topic_registry.register('current-formats', get_current_formats_topic,
758
758
topic_registry.register('standard-options', _standard_options,
759
759
'Options that can be used with any command')
760
760
topic_registry.register('global-options', _global_options,
761
'Options that control how Bazaar runs')
761
'Options that control how Breezy runs')
762
762
topic_registry.register('urlspec', _help_on_transport,
763
763
"Supported transport protocols")
764
764
topic_registry.register('status-flags', _status_flags,
765
765
"Help on status flags")
766
766
def get_bugs_topic(topic):
767
from bzrlib import bugtracker
767
from breezy import bugtracker
768
768
return ("Bug Tracker Settings\n\n" +
769
769
bugtracker.tracker_registry.help_topic(topic))
770
770
topic_registry.register('bugs', get_bugs_topic, 'Bug tracker settings')
772
772
'Environment variable names and values')
773
773
topic_registry.register('files', _files,
774
774
'Information on configuration and log files')
775
topic_registry.register_lazy('hooks', 'bzrlib.hooks', 'hooks_help_text',
775
topic_registry.register_lazy('hooks', 'breezy.hooks', 'hooks_help_text',
776
776
'Points at which custom processing can be added')
777
topic_registry.register_lazy('location-alias', 'bzrlib.directory_service',
777
topic_registry.register_lazy('location-alias', 'breezy.directory_service',
778
778
'AliasDirectory.help_text',
779
779
'Aliases for remembered locations')