2 patches for repository http://darcs.net/screened:
patch d515665962407180e48377d5db39a3dba4f7f3d7
Author: Ben Franksen <ben.franksen@online.de>
Date: Sun Mar 5 13:22:54 CET 2023
* D.R.Job: refactor RepoJob declaration with some type synonyms
patch c6286d838e038ef26bc0c76ca45570b4a3c30f00
Author: Ben Franksen <ben.franksen@online.de>
Date: Sat Jul 1 15:48:31 CEST 2023
* remove RebaseAwareJob, StartRebaseJob, and RebaseJob
These became principally obsolete with the new rebase implementation in
darcs-2.16, but to get rid of them required some restructuring. Reporting a
rebase in progress should be done for every command after it has run; but we
also updated the format when a rebase is finished. It was necessary to
disentangle these two procedures, since updating the format should only be
done if we are actually in a repository-modifying transaction (which in
particular means we checked that we are allowed to modify it, see issue2650)
so it made the most sense to do this from inside finalizeRepositoryChanges.
To guard against regressions wrt editing the format file, I renamed
writeRepoFormat to unsafeWriteRepoFormat and added a safe variant
modifyRepoFormat that works only inside a transaction. The unsafe variant is
only used when we create a fresh new repo and in the optimize upgrade
command which re-creates the repository structure.
The repoformat test was extended and fixed (it pretended to test the
"garbage" repo with a corrupted format file but did not actually do that).
Also added some minimal tests to check if we report the correct number of
(remaining) suspended patches, even if the command gets cancelled.
For RepoJobV1 and RepoJobV2 we failed to report rebase status and check for
old-style rebase. This is now fixed, too.
Attachments
|