423: perforce/post-review fails on files with $ in them

gcmc****@yaho***** (Google Code) (Is this you? Claim this profile.)
chipx86
chipx86
Aug. 27, 2008
What's the URL of the page containing the problem?


What steps will reproduce the problem?
1. run post-review on a perforce repository on a file with a $ in it
2.
3.

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


What operating system are you using? What browser?


Please provide any additional information below.

Issue we've found on post-review testing.

- if a managed file includes a $ [or any other special characters for
're'], post-review will fail.

post-review assumed that files never include re special characters.  it
also assumed that $ wouldn't be processed by 'execute' command.

here's the diffs from post-review that work around the problem:

477c469,476
<             where_info = execute('p4 -c %s where "%s"' % (client,
depot_path))
---
>             where_info = execute('p4 -c %s where \'%s\'' % (client,
depot_path),
>                         split_lines=True)
>
>             for whr in where_info:
>                 m = re.match(r'\+?(.+) \/\/.+ (.+)$', whr)
>                 if m:
>                     if m.group(1) == depot_path:
>                         break
479d477
<             m = re.match(r'\+?%s \/\/.+ (.+)$' % depot_path, where_info)
482,483c480,481
<
<             local_name = m.group(1)
---
>
>             local_name = m.group(2)
511c509
<             dl = execute('diff -urNp "%s" "%s"' % (old_file, new_file),
---
>             dl = execute('diff -urNp \'%s\' \'%s\'' % (old_file, new_file),
562c560
<         data = execute('p4 print -q "%s"' % depot_path)
---
>         data = execute('p4 print -q \'%s\'' % depot_path)
chipx86
#1 chipx86
Can you post this up on http://reviews.review-board.org/ ?
  • +Component-Scripts
    +Milestone-Release1.0
chipx86
#2 chipx86
Should be fixed in r1455.
  • +Fixed
  • +chipx86