635: post-review cannot deal with files not in current version of repository, when using --revision-range

marcin.********@gmai***** (Google Code) (Is this you? Claim this profile.)
Sept. 21, 2009
1161
What's the URL of the page containing the problem?


What steps will reproduce the problem?
1. Submit file A to repository (call it revision X)
2. In one change submit file B and delete file A (call it revision Y)
3. Now do post-review --revision-range X:Y

What is the expected output? What do you see instead?

I diff to be correctly uploaded. Script fails on doing svn info for
non-existing file A.

Traceback (most recent call last):
  File "/home/marcin/bin/post-review", line 1590, in ?
    main(sys.argv[1:])
  File "/home/marcin/bin/post-review", line 1558, in main
    diff = tool.diff_between_revisions(options.revision_range)
  File "/home/marcin/bin/post-review", line 640, in diff_between_revisions
    return self.do_diff(["svn", "diff", "--diff-cmd=diff", "-r",
  File "/home/marcin/bin/post-review", line 650, in do_diff
    diff = self.convert_to_absolute_paths(diff)
  File "/home/marcin/bin/post-review", line 712, in convert_to_absolute_paths
    url  = info["URL"]
KeyError: 'URL'


What operating system are you using? What browser?

Ubuntu HH. 

Please provide any additional information below.
#1 jsa****@gmai***** (Google Code) (Is this you? Claim this profile.)
I have seen a similar problem running the latest post-review on Windows.  In my case
I had renamed files in the change, and the intial problem was triggered by
handle_renames.  I hacked the script to get past this point and hit the problem again
in convert_to_absolute_paths.  In both cases post-review was trying to run svn info
on files no longer in my working copy.

More generally speaking, if the revision range specified is in the past, running svn
info on local working copy files is not going to work.  These working files may no
longer exist, or the info may be affected by subsequent changes that do not apply to
the revision range.
david
#2 david
What about using --revision-range with a server URL?
  • +NeedInfo
david
#4 david
  • -NeedInfo
    +Incomplete