http://reviews.reviewboard.org/
What version are you running?
1.6.1
What's the URL of the page this enhancement relates to, if any?
n/a
Describe the enhancement and the motivation for it.
Stacked git is a patch management system built on top of git.
http://www.procode.org/stgit/
quilt is another patch management system (inferior to stgit, last I checked). http://savannah.nongnu.org/projects/quilt
We're also using subversion (svn) as our main repository.
So far, the way I work has been like so:
Checkout working directory from svn.
Create a new git repository in my working directory and check everything in local git repository.
Put stgit on top of that. So that's stgit on top of git on top of an svn working directory.
hack, hack, hack away and make a bunch of patches. (The patches are stored as git commits by stgit in the local git repository.)
As I get the patches to my liking, I can commit them back to svn.
So far so good, stgit allows me to "polish" the patches so that when someone digs through the svn history, I look like someone who seems to know what they were doing, with not too much backtracking, partial working commits, etc. (Backing up intermediate work is done via stg export.)
Enter reviewboard.
Now I has a problem.
I might have 20 or so patches at any given time (which is not really a large number -- a large number would be in the 1000s.)
For example, currently I have these patches:
[scameron@localhost linux-3.1]$ stg series
+ hpsa-set-max-sectors
+ hpsa-detect-controller-lockup
+ hpsa-rename-HPSA_MAX_SCSI_DEVS_PER_HBA
+ hpsa-fix-array-overflow
+ hpsa-update-dev-attributes-when-they-change
+ scsi-document-generic-scsi-host-attributes
+ scsi-document-generic-scsi-device-attributes
+ hpsa-document-scsi-host-attributes-properly
+ hpsa-document-scsi-device-attributes
+ hpsa-add-heartbeat-sysfs-host-attribute
+ hpsa-remove-unimplemented-CCISS_HEARTBEAT-ioctl
+ cciss-auto-engage-scsi-mid-layer-at-driver-load-time
+ hpsa-enable-soft-reset-via-sys
+ hpsa-disable-lockup-detector-during-soft-reset
+ debug-reset
+ hpsa-use-multiple-reply-queues
+ hpsa-fix-msa2xxx-problem
+ hpsa-add-host-reset-error-handler
+ hpsa-add-abort-error-handler
+ hpsa-show-whether-aborts-supported
> hpsa-simulate-lockup
[scameron@localhost linux-3.1]$
Many are independent of one another, and these are no problem. I can generate an svn diff which reviewboard is happy with by rearranging the order of the independent patches with stg such that each patch is in turn moved to the first position in the stack, then "svn diff" gives me a good diff. It's a pain in the ass, but workable.
The problem comes when I have patches that depend on one another.
Reviewboard does seem to have the concept of a "parent diff", and you can get to this (by a bizarre seeming sequence of moves in which you create a review, give it some diff it will be happy with, then edit the review to update the diff, and when you update the diff, it gives you the chance to specify a "parent diff".) However, reviewboard doesn't like the format of diffs from "stg show" or git diff, for some reason. (If it did, my problem would be solved, I think, as I could use "stg show" to get my dependent diff, and "git diff" to get the combined diffs which it depends on (the "parent diff") and feed those to review board.)
If I have a patch X, which depends on patch A, B, and C, then I think I can get the "parent diff" by pushing on A, B, and C, then doing "svn diff". I can't get the patch X itself in a usable form though. "stg show" will get it, and I can also get it with "git show (with the commit hash)" but these are in a form which reviewboard seems unable to comprehend. Svn can't get this diff, except conglomerated together with the "parent diff".
Consequently, Reviewboard ends up serializing the review process at best, as I then have to commit the "parent diff" to svn in order to even review the diffs that depend on the parent diff. That's not really workable for me.
What operating system are you using? What browser?
Linux, various flavors, firefox various versions.
Please provide any additional information below.