4586: rbt diff: CRITICAL: too many values to unpack

totoroliu

What version are you running?

RBTools 0.7.10
svn, version 1.9.3 (r1718519)

What steps will reproduce the problem?

  1. SVN commit a text file "test5" with this content:
--                                                                          --
--              Copyright (C) 2002-2004 Dmitriy Anisimkov                   --
--                                                                          --
--  This library is free software; you can redistribute it and/or modify    --

  1. Remove LINE2:
--              Copyright (C) 2002-2004 Dmitriy Anisimkov                   --

  1. rbt diff

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

I expect to see something similar to "svn diff" output:

Index: test5
===================================================================
--- test5   (revision 19370)
+++ test5   (working copy)
@@ -1,5 +1,4 @@
 --                                                                          --
---              Copyright (C) 2002-2004 Dmitriy Anisimkov                   --
 --                                                                          --
 --  This library is free software; you can redistribute it and/or modify    -- 

But "rbt diff" shows:
CRITICAL: too many values to unpack

What operating system are you using?

Ubuntu 16.04.3 LTS

Attach the debug out from the command.

$ $ rbt diff --debug
>>> RBTools 0.7.10
>>> Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609]
>>> Running on Linux-4.4.0-93-generic-x86_64-with-Ubuntu-16.04-xenial
>>> Home = /home/rickliu
>>> Current directory = /home/rickliu/scrach/TestProject_trunk/Test
>>> Command line: rbt diff --debug
>>> Running: tf vc help
>>> Checking for a Subversion repository...
>>> Running: svn --non-interactive info
>>> Running: diff --version
>>> Running: svn --non-interactive --version -q
>>> repository info: Path: http://xxx.com/svn/svntest, Base path: /TestProject/trunk/Test, Supports changesets: False
>>> Making HTTP GET request to http://172.16.182.156/api/
>>> Running: svn --non-interactive info
>>> Running: diff --version
>>> Running: svn --non-interactive --version -q
>>> repository info: Path: http://xxx.com/svn/svntest, Base path: /TestProject/trunk/Test, Supports changesets: False
>>> Running: svn --non-interactive status -q --ignore-externals
>>> Running: svn --non-interactive diff --diff-cmd=diff --notice-ancestry -r BASE
>>> Running: svn --non-interactive info test5
>>> Running: svn --non-interactive diff --diff-cmd=diff --notice-ancestry -r BASE --no-diff-deleted
>>> Running: svn --non-interactive info test5
>>> Running: svn --non-interactive info test5
>>> Running: svn --non-interactive info test5
Traceback (most recent call last):
  File "/usr/local/bin/rbt", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/rbtools/commands/main.py", line 133, in main
    command.run_from_argv([RB_MAIN, command_name] + args)
  File "/usr/local/lib/python2.7/dist-packages/rbtools/commands/__init__.py", line 678, in run_from_argv
    exit_code = self.main(*args) or 0
  File "/usr/local/lib/python2.7/dist-packages/rbtools/commands/diff.py", line 70, in main
    extra_args=extra_args)
  File "/usr/local/lib/python2.7/dist-packages/rbtools/clients/svn.py", line 366, in diff
    diff = self.convert_to_absolute_paths(diff, repository_info)
  File "/usr/local/lib/python2.7/dist-packages/rbtools/clients/svn.py", line 624, in convert_to_absolute_paths
    file, rest = self.parse_filename_header(line)
ValueError: too many values to unpack

Please provide any additional information below.