Conversation
…t in the recurring_next_date compute
Contributor
|
Hi @sbejaoui, |
`oca-port` lists commits present in an older branch and missing from the target. It cannot tell a genuine gap from a change that reached 19.0 by another route, so every run re-proposes the same false positives and every maintainer re-investigates them from scratch. Record the verdicts where the tool reads them: it loads `.oca/oca-port/blacklist/<addon>.json` from the target branch's tree, so a committed file makes later runs skip these automatically, with the reason attached. Three kinds of entry, all verified against the 19.0 code rather than taken from the PR title: - migration commits ([MIG]/[ADD] of an older series), which can never port - repo-wide changes that oca-port attributes to every module they touched (OCA#1201 alone accounted for four spurious candidates across four addons) - changes already on 19.0, either identically or through a different implementation. OCA#1301 is the clearest: 19.0 sends through `account.move.send._generate_and_send_invoices`, which already sets `is_move_sent`, so the manual write it adds is redundant.
This was referenced Sep 26, 2026
sbejaoui
approved these changes
Sep 29, 2026
cpemiguelhendrickfmallari-lgtm
approved these changes
Sep 30, 2026
cpemiguelhendrickfmallari-lgtm
left a comment
There was a problem hiding this comment.
Code review. Verified the recurring_next_date removal in contract_line.py and all 6 blacklist entries — each has a clear reason, matches the description. LGTM.
Contributor
|
This PR has the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Results of an
oca-portsweep of every 19.0 addon against 16.0, 17.0 and 18.0.except
contract, which is large enough to need its own themed PRs.Port
From 18.0 to 19.0:
_prepare_value_for_stopsetsrecurring_next_dateexplicitly, but does not need to: it is a stored computed field whose@api.dependsincludesdate_end, and the compute makes the identicalget_next_invoice_date(..., max_date_end=rec.date_end)call. Cherry-picked cleanly, authorship preserved.Blacklist
The sweep turned up 16 candidates outside
contract; exactly one was a genuine gap. The other 15 are false positives that every future run would re-propose, and every maintainer would re-investigate from scratch.oca-portreads.oca/oca-port/blacklist/<addon>.jsonfrom the target branch's tree, so recording them there means later runs skip them automatically, with the reason attached. Six files added.Three kinds of entry, each checked against the 19.0 code rather than taken from the PR title:
[MIG] subscription: Migration to 18.0The last group is the interesting one. #1301 adds a manual
invoice.write({"is_move_sent": True}); 19.0 sends throughaccount.move.send._generate_and_send_invoices, which already setsis_move_sentataccount_move_send.py:482, so porting it would add a redundant write. #1243's remaining conflict is pure file driftabstract_contract_line.xmlno longer exists while the bug it fixes (quoted boolean attributes) is already gone from every view in the module.