all
The all
command will let you perform (some) commands on
all of your repositories, and provides a way of finding all
of your repositories as well.
There are some commands you might especially want to perform on every
repository you've got, once in a while. fossil all
includes four of the most likely as sub-commands:
[./cmd_pull.wiki | pull
],
[./cmd_push.wiki | push
],
[./cmd_rebuild.wiki | rebuild
] and
[./cmd_sync.wiki | sync
].
Follow the links to find out what each of those do, and then a moment
of thought will tell you why you might want to have them available for
all repositories.
Certainly you'll want your repositories all rebuilt when you upgrade
fossil after there has been a change in the repository
structure. For the others, it depends. Usually you would want
across-the-board versions if you've been "off Net" for a while, and
have commits to multiple repositories than you need to share, or want
to get the repository changes that have been made by others, or both.
The last sub-command provided by all
is "list
."
While the other sub-commands give you a way to conveniently take care
of all of your repositories for some common tasks, the
list
provides a way to take care of any subset of your
repositories in any way you want. It provides a list of all of your
repositories' locations. fossil all list
outputs a one-per-line listing of the path for each of your
repositories. With that in hand, you can easily script just about any
repository manipulations you want.
Or, you could just jog your memory.
The all
command uses the .fossil file in the home
directory to find all of your repositories, so you can mess it up by
moving your repositories around. This is easy to do inadvertently if
you have a cavalier attitude about repos, but you'll know pretty
quickly that you've done it—many commands you try to use from
inside of a checkout won't work correctly. The .fossil file is
an sqlite db file which fossil uses to keeping track of
repository locations. Advice: if you move your repositories around,
let fossil know you did;
[./cmd_close.wiki | close
] them before you move
them, and then [./cmd_open.wiki | open
] them from
their new locations.
See also: [./cmd_pull.wiki | fossil pull],
[./cmd_push.wiki | fossil push],
[./cmd_rebuild.wiki | fossil rebuild],
[./cmd_sync.wiki | fossil sync],
[./cmd_open.wiki | fossil open],
[./cmd_close.wiki | fossil close],
[./reference.wiki | Reference],
[http://www.sqlite.org | SQLite]