Comment #10 on issue 3067 by patrick.horn: Parent diffs with mercurial are
I'm using RB 1.7.12 and I had a slightly different problem with a simpler
solution (when using hg-style diffs).
The old code allowed the 'origChangesetId' from any file in the parent diff
to become the source_rev for every file in the child diff; however it only
worked if the parent diff had any files in common with the child. My
attached patch fixes this. While the code in 1.7.12 was not 100% correct,
this effectively solved the issue. If you try with 1.7.12 and the attached
patch, the problem should be solved. I also had no issues when removing
files and re-adding them back--this should be handled by the "f.origInfo !=
PRE_CREATION" check. Perhaps it is a bug with git-style diffs.
I have yet to test in RB 1.7.13, but looking at the commit log, it looks
like the code changed significantly between 1.7.12 and 1.7.13 with
https://reviews.reviewboard.org/r/4121/ (45faed44) -- From what I can tell,
the code now will only work in the case that you specify a parent diff with
a global "# Parent" comment because it now only checks the global
origChangesetId, so I think this change just made the issue more
The good news is that with commits 253ff68 and 5acf49a it is now possible
to specify the parent commit ID via the API, so the API parameter might be
a nice solution to this problem in versions after 1.7.13. I will try to do
some tests on 1.7.13 or a later version. I also have only tested with
hg-style diffs, not git-style diffs so those might be different.
fix-parent-diff-1.7.12.patch 1011 bytes
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
You received this message because you are subscribed to the Google Groups
To unsubscribe from this group and stop receiving emails from it, send an email
To post to this group, send email to email@example.com.
Visit this group at http://groups.google.com/group/reviewboard-issues.
For more options, visit https://groups.google.com/groups/opt_out.