darcs

Patch 2360 D.R.Job: refactor RepoJob declaration wi... (and 1 more)

Title D.R.Job: refactor RepoJob declaration wi... (and 1 more)
Superseder Nosy List bfrk
Related Issues
Status accepted Assigned To
Milestone

Created on 2023-08-24.16:59:48 by bfrk, last changed 2024-02-19.01:11:10 by ganesh.

Files
File name Status Uploaded Type Edit Remove
d_r_job_-refactor-repojob-declaration-with-some-type-synonyms.dpatch bfrk, 2023-08-24.16:59:47 application/x-darcs-patch
patch-preview.txt bfrk, 2023-08-24.16:59:47 text/x-darcs-patch
See mailing list archives for discussion on individual patches.
Messages
msg23696 (view) Author: bfrk Date: 2023-08-24.16:59:47
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
msg23741 (view) Author: ganesh Date: 2024-02-18.17:01:40
>   * D.R.Job: refactor RepoJob declaration with some type synonyms

Looks fine.
msg23743 (view) Author: ganesh Date: 2024-02-19.01:06:45
>  * remove RebaseAwareJob, StartRebaseJob, and RebaseJob

I haven't been through this in detail but the concept seems good and
hopefully the tests are thorough :-)
History
Date User Action Args
2023-08-24 16:59:48bfrkcreate
2023-08-24 17:00:22bfrksetstatus: needs-screening -> needs-review
2024-02-18 17:01:40ganeshsetstatus: needs-review -> review-in-progress
messages: + msg23741
2024-02-19 01:06:45ganeshsetstatus: review-in-progress -> accepted-pending-tests
messages: + msg23743
2024-02-19 01:11:10ganeshsetstatus: accepted-pending-tests -> accepted