diff options
| author | cashmere <cashmere@autistici.org> | 2026-09-04 09:05:24 +0200 |
|---|---|---|
| committer | cashmere <cashmere@autistici.org> | 2026-09-04 09:05:24 +0200 |
| commit | 4f49b16079b27d7ce633619e4cddfdf2bffbc952 (patch) | |
| tree | c296c1e7f3c3e2f6859c6d3a1b1b208779b89679 /www/co-vs-up.md | |
| download | relic-master.tar.gz | |
Diffstat (limited to 'www/co-vs-up.md')
| -rw-r--r-- | www/co-vs-up.md | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/www/co-vs-up.md b/www/co-vs-up.md new file mode 100644 index 0000000..b0e74ca --- /dev/null +++ b/www/co-vs-up.md @@ -0,0 +1,31 @@ +# Checkout vs Update + +Fossil has two commands that look like they do the same thing on initial +examination, [`fossil update`][up] and [`fossil checkout`][co], but +there are several key differences: + +1. `fossil checkout` aborts if there are changed files in the local + directory unless you give the `--force` option, whereas + `fossil update` merges upstream changes with your local changes. + Since Fossil tends to follow the CVS command design, and CVS + popularized the [merge on update][cvsmu] workflow, we expect that + Fossil’s update behavior is more likely to be what you want. + +2. Update triggers an autosync attempt; checkout does not. + +3. Several features in `fossil update` do not exist in + `fossil checkout`, so developing a habit to type `fossil up` + means you’re more likely to have the features you want at hand. + +4. Inversely, the `fossil checkout --keep` feature doesn’t exist in + `fossil update`, but it’s a rarely-needed operation, so it doesn’t + provide a good reason to develop a habit of using `fossil checkout` + instead. + +In summary, these are two separate commands; neither is an alias for the +other. They overlap enough that they can be used interchangeably for +some use cases, but `update` is more powerful and more broadly useful. + +[co]: /help/checkout +[cvsmu]: http://web.mit.edu/gnu/doc/html/cvs_7.html#SEC37 +[up]: /help/update |
