[unit] to overwrite it is enough to copy

Overwrite option means existing data should be overwritten even if
existing data is newer. If there are some other files they should be
untouched.

Signed-off-by: Denis Zalevskiy <denis.zalevskiy@jolla.com>
Merge pull request #11 from nemomobile/do-not-remove-tree-on-overwrite

[unit] to overwrite it is enough to copy
[gc] script to perform garbage collection

It should be run inside vault

Signed-off-by: Denis Zalevskiy <denis.zalevskiy@jolla.com>
HEAD can be w/o tag too and should be marked as old_tag

Signed-off-by: Denis Zalevskiy <denis.zalevskiy@jolla.com>
gc should be done also if there are deprecated commits

Also options to force and dump

Signed-off-by: Denis Zalevskiy <denis.zalevskiy@jolla.com>
execute prune one more time

to ensure garbage is collected. It takes small fraction of time.

Signed-off-by: Denis Zalevskiy <denis.zalevskiy@jolla.com>
small refactoring

Signed-off-by: Denis Zalevskiy <denis.zalevskiy@jolla.com>
amend series of removed backups

Signed-off-by: Denis Zalevskiy <denis.zalevskiy@jolla.com>
copy misc commits

commits other than anchor and outdated backup marks should be
cherry-picked

Signed-off-by: Denis Zalevskiy <denis.zalevskiy@jolla.com>
pretty formatting of commands

Signed-off-by: Denis Zalevskiy <denis.zalevskiy@jolla.com>
debug tracing of steps

Signed-off-by: Denis Zalevskiy <denis.zalevskiy@jolla.com>
basic rollback on the first stage of migration

tag relocation is unlikely to fail

Signed-off-by: Denis Zalevskiy <denis.zalevskiy@jolla.com>
allow empty commits to avoid errors in corner cases

It is safer to get empty commit than to process corner cases, proved
also by testing :)

Signed-off-by: Denis Zalevskiy <denis.zalevskiy@jolla.com>