Hi Jared, Can you tell me if this works when using branches instead of revisions?
I'm not entirely sure if git-svn works with parent branches, but I thought it did. It *should* be generating a diff between the SVN repository and the branch and sending that as a parent diff along with the generated diff. You won't see this parent diff with --output-diff though. Christian -- Christian Hammond - chip...@chipx86.com Review Board - http://www.reviewboard.org VMware, Inc. - http://www.vmware.com On Wed, Jul 14, 2010 at 10:55 AM, Jared Roberts <jar...@gmail.com> wrote: > I'm new to reviewboard, so maybe I have totally the wrong idea. My > org uses svn, but I'm using git-svn. I have a chain of commits in my > git repos, and I want to post them as separate review requests, but I > can't seem to get post-review to do this. > > My git repos looks like this: > > O <-- change-3 > | > O <-- change-2 > | > O <-- change-1 > | > O <-- master <-- remotes/trunk > > I want to be able to do something like: > > git checkout change-3 > post-review --parent=change-2 > > and post a diff between change-2 and change-3 for review (ideally, > just saying "post-review HEAD^ HEAD" would be even better), even > though the repository from reviewboard's point of view is SVN. > > I've seen some discussion that seems to suggest that this ought to > work: > http://groups.google.com/group/reviewboard/browse_thread/thread/3423e2c8f71c5c3a?pli=1 > > but it doesn't for me :(. It appears I'm getting empty diffs? > > $ git checkout change-3 > $ post-review --parent=change-2 > Traceback (most recent call last): > File "/usr/local/bin/post-review", line 8, in <module> > load_entry_point('RBTools==0.2', 'console_scripts', 'post-review') > () > File "build/bdist.linux-x86_64/egg/rbtools/postreview.py", line > 2861, in main > File "build/bdist.linux-x86_64/egg/rbtools/postreview.py", line > 2554, in tempt_fate > File "build/bdist.linux-x86_64/egg/rbtools/postreview.py", line 503, > in upload_diff > TypeError: object of type 'NoneType' has no len() > > > $ post-review --parent=change-2 --output-diff --tracking-branch=trunk > -d > >>> svn info > >>> git rev-parse --git-dir > >>> git symbolic-ref -q HEAD > >>> git svn info > >>> repository info: Path: https://dev.pluggd.com/svn, Base path: > /frontend/HtmlClient/Player/trunk, Supports changesets: False > >>> git config --get reviewboard.url > >>> git merge-base change-2 refs/heads/change-3 > >>> git diff --no-color --no-prefix -r -u change-2.. > >>> git svn find-rev change-2 > >>> git diff --no-color --no-prefix -r -u > dae96a154b9f395a9945b833973654d813ea8e5f..change-2 > >>> git svn find-rev dae96a154b9f395a9945b833973654d813ea8e5f > None > > dae96a.. is change-2, so it makes sense that the diff is empty. It > should also be noted that the "git svn find-rev change-2" doesn't > return anything, since change-2 isn't in svn. As a last thrash, I > tried modifying postreview.py's GitClient.make_svn_diff, and added: > > if not rev: > rev = execute(["git", "svn", "find-rev", > options.tracking]).strip() > > after the first line that tries to find the parent's svn rev. This > makes post-review generate the right diff! But if I post it to review > board, I can't view it, presumably because it's trying to apply it > against the version in svn. Here I gave up. > > Is there a solution? > > -- > Want to help the Review Board project? Donate today at > http://www.reviewboard.org/donate/ > Happy user? Let us know at http://www.reviewboard.org/users/ > -~----------~----~----~----~------~----~------~--~--- > To unsubscribe from this group, send email to > reviewboard+unsubscr...@googlegroups.com<reviewboard%2bunsubscr...@googlegroups.com> > For more options, visit this group at > http://groups.google.com/group/reviewboard?hl=en -- Want to help the Review Board project? Donate today at http://www.reviewboard.org/donate/ Happy user? Let us know at http://www.reviewboard.org/users/ -~----------~----~----~----~------~----~------~--~--- To unsubscribe from this group, send email to reviewboard+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/reviewboard?hl=en