post-review: failed to execute command: svn diff

1,144 views
Skip to first unread message

rb

unread,
Oct 26, 2012, 2:33:17 PM10/26/12
to revie...@googlegroups.com
Hi,

Working to get ReviewBoard setup for our dev group. Please see output below
and provide guidance on possible causes/resolution.

Thanks,

Mark

=========================================

C:\workareas\svn\test\rb-test > post-review --debug

>>> RBTools 0.4.2

>>> Python 2.7.1 (r271:86832, Aug 28 2012, 23:46:59) [MSC v.1600 64 bit
(AMD64)]

>>> Running on Windows-7-6.1.7601-SP1

>>> Home = C:\Users\user1\AppData\Roaming

>>> Current Directory = C:\workareas\svn\test\rb-test

>>> Checking the repository type. Errors shown below are mostly harmless.

DEBUG:root:Checking for a CVS repository...

DEBUG:root:Checking for a ClearCase repository...

DEBUG:root:Checking for a Git repository...

DEBUG:root:Checking for a Mercurial repository...

DEBUG:root:Checking for a Perforce repository...

DEBUG:root:Checking for a Plastic repository...

DEBUG:root:Checking for a Subversion repository...

DEBUG:root:Running: svn info

DEBUG:root:Running: diff --version

DEBUG:root:repository info: Path:
https://svn-srvr/svn/proj_tpc_tca_test-comp-a, Base path:
/rel-branches/release_1.0_rc5, Supports changesets: False

>>> Finished checking the repository type.

>>> HTTP GETting api/

>>> HTTP GETting https://rb-srvr/api/info/

>>> Using the new web API

DEBUG:root:Running: svn diff --diff-cmd=diff

Failed to execute command: ['svn', 'diff', '--diff-cmd=diff']

['Index: test.txt\n',
'===================================================================\n',
'Usage: diff [OPTIONS] <file1> <file2

>\n', '\n', 'Display the differences between <file1> and <file2> in unified
diff\n', "format. OPTIONS are diff extensions as described by 'svn help
diff'.\n", "Use '--' alone to indicate that no more options follow.\n", "svn:
E200012: 'diff' returned 2\n"]




C:\workareas\svn\test\rb-test > diff --version

diff (GNU diffutils) 2.8.7

Written by Paul Eggert, Mike Haertel, David Hayes,

Richard Stallman, and Len Tower.


Copyright (C) 2004 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.




C:\workareas\svn\test\rb-test > svn --version

svn, version 1.7.5 (r1336830)

compiled May 11 2012, 03:17:57


Copyright (C) 2012 The Apache Software Foundation.

This software consists of contributions made by many people; see the NOTICE

file for more information.

Subversion is open source software, see http://subversion.apache.org/


The following repository access (RA) modules are available:


* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.

- handles 'http' scheme

- handles 'https' scheme

* ra_svn : Module for accessing a repository using the svn network protocol.

- with Cyrus SASL authentication

- handles 'svn' scheme

* ra_local : Module for accessing a repository on local disk.

- handles 'file' scheme

* ra_serf : Module for accessing a repository via WebDAV protocol using serf.

- handles 'http' scheme

- handles 'https' scheme

Christian Hammond

unread,
Oct 26, 2012, 3:21:57 PM10/26/12
to revie...@googlegroups.com, revie...@googlegroups.com
Huh, if I'm reading it right, it looks like no files are being passed to svn diff.

Can you show me what svn status says?

Christian
> --
> 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...@googlegroups.com
> For more options, visit this group at http://groups.google.com/group/reviewboard?hl=en
>
>

rb

unread,
Oct 29, 2012, 8:24:33 AM10/29/12
to revie...@googlegroups.com

Christian,

There are two files that are modified. I ran status followed by post review
debug again. Post review output seems to be picking up on the test.txt file.

Thanks,

Mark

=========================================

C:\workareas\svn\test\rb-test > svn stat -u

M 81 test.txt

M 81 test2.txt

Status against revision: 81



C:\workareas\svn\test\rb-test > post-review --debug

>>> RBTools 0.4.2

>>> Python 2.7.1 (r271:86832, Aug 28 2012, 23:46:59) [MSC v.1600 64 bit (AMD64)]

>>> Running on Windows-7-6.1.7601-SP1

>>> Home = C:\Users\user1\AppData\Roaming

>>> Current Directory = C:\workareas\svn\test\rb-test

>>> Checking the repository type. Errors shown below are mostly harmless.

DEBUG:root:Checking for a CVS repository...

DEBUG:root:Checking for a ClearCase repository...

DEBUG:root:Checking for a Git repository...

DEBUG:root:Checking for a Mercurial repository...

DEBUG:root:Checking for a Perforce repository...

DEBUG:root:Checking for a Plastic repository...

DEBUG:root:Checking for a Subversion repository...

DEBUG:root:Running: svn info

DEBUG:root:Running: diff --version

DEBUG:root:repository info: Path:
https://svn-srvr/svn/proj_tpc_tca_testcomp-a, Base path:
/rel-branches/release_1.0_rc5, Supports changesets: False

>>> Finished checking the repository type.

>>> HTTP GETting api/

>>> HTTP GETting https://rb-srvr/api/info/

>>> Using the new web API

DEBUG:root:Running: svn diff --diff-cmd=diff

Failed to execute command: ['svn', 'diff', '--diff-cmd=diff']

['Index: test.txt\n',
'===================================================================\n',
'Usage: diff [OPTIONS] <file1> <file2>\n', '\n', 'Display the differences
between <file1> and <file2> in unified diff\n', "format. OPTIONS are diff
extensions as described by 'svn help diff'.\n", "Use '--' alone to indicate
that no more options follow.\n", "svn: E200012: 'diff' returned 2\n"]




Christian Hammond

unread,
Oct 30, 2012, 3:40:45 AM10/30/12
to revie...@googlegroups.com
What happens if you run:

    svn diff --diff-cmd=diff

directly?

Christian

--
Christian Hammond - chi...@chipx86.com
Review Board - http://www.reviewboard.org
VMware, Inc. - http://www.vmware.com

rb

unread,
Oct 30, 2012, 10:49:54 AM10/30/12
to revie...@googlegroups.com
On Tue, October 30, 2012 3:40 am, Christian Hammond wrote:
> What happens if you run:
>
> svn diff --diff-cmd=diff
>
> directly?
>
> Christian
>
> --
> Christian Hammond - chi...@chipx86.com
> Review Board - http://www.reviewboard.org
> VMware, Inc. - http://www.vmware.com
>


Christian,

It is the same as the output from post-review debug. If I remove GNU diff from
first in the path, post-review complains about not having GNU diff.

Mark

+++++++++++++++++++++++++++++++++++++++=


C:\workareas\svn\test\rb-test > svn up

Updating '.':

At revision 83.


C:\workareas\svn\test\rb-test > svn stat -u

M 83 test.txt

Status against revision: 83


C:\workareas\svn\test\rb-test > svn diff test.txt

Index: test.txt

===================================================================

--- test.txt (revision 83)

+++ test.txt (working copy)

@@ -1,3 +1,4 @@

+test test

save this cahnge

nire

owewew


C:\workareas\svn\test\rb-test > post-review --debug

>>> RBTools 0.4.2

>>> Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)]

>>> Running on Windows-7-6.1.7601-SP1

>>> Home = C:\Users\user1\AppData\Roaming

>>> Current Directory = C:\workareas\svn\test\rb-test

>>> Checking the repository type. Errors shown below are mostly harmless.

DEBUG:root:Checking for a CVS repository...

DEBUG:root:Checking for a ClearCase repository...

DEBUG:root:Checking for a Git repository...

DEBUG:root:Checking for a Mercurial repository...

DEBUG:root:Checking for a Perforce repository...

DEBUG:root:Checking for a Plastic repository...

DEBUG:root:Checking for a Subversion repository...

DEBUG:root:Running: svn info

DEBUG:root:Running: diff --version

DEBUG:root:repository info: Path:
https://svn-srvr/svn/proj_tpc_tca_test-comp-a, Base path:
/rel-branches/release_1.0_rc5, Supports changesets: False

>>> Finished checking the repository type.

>>> HTTP GETting api/

>>> HTTP GETting https://rb-srvr/rb/s/test_project_c/api/info/
C:\workareas\svn\test\rb-test > svn diff --diff-cmd=diff

Index: test.txt

===================================================================

Usage: diff [OPTIONS] <file1> <file2>

Display the differences between <file1> and <file2> in unified diff

format. OPTIONS are diff extensions as described by 'svn help diff'.

Use '--' alone to indicate that no more options follow.

svn: E200012: 'diff' returned 2


C:\workareas\svn\test\rb-test > svn propget reviewboard:url

https://rb-srvr/rb/s/test_project_c



C:\workareas\svn\test\rb-test > svn info

Path: .

Working Copy Root Path: C:\workareas\svn\test\rb-test

URL: https://svn-srvr/svn/proj_tpc_tca_test-comp-a/rel-branches/release_1.0_rc5

Repository Root: https://svn-srvr/svn/proj_tpc_tca_test-comp-a

Revision: 83

Node Kind: directory

Schedule: normal

Last Changed Author: testuser1

Last Changed Rev: 83

Last Changed Date: 2012-10-30 10:19:47 -0400 (Tue, 30 Oct 2012)



rb

unread,
Nov 1, 2012, 8:56:44 AM11/1/12
to revie...@googlegroups.com

Anyone have any thoughts on this issue? This issue is being experienced by
other developers and we would like to get it resolved as soon as possible.

Thanks,

Mark


rb

unread,
Nov 5, 2012, 1:03:32 PM11/5/12
to revie...@googlegroups.com

After a reinstall of things it appears to have moved past the diff issue. now
have a "ValueError: No JSON object could be decoded".

Mark

==========================================================



C:\workareas\svn\test\rb-test > svn stat -u

M 84 test.txt

Status against revision: 84



C:\workareas\svn\test\rb-test > diff --version

diff (GNU diffutils) 2.8.7

Written by Paul Eggert, Mike Haertel, David Hayes,

Richard Stallman, and Len Tower.

Copyright (C) 2004 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.



C:\workareas\svn\test\rb-test > svn diff --diff-cmd=diff

Index: test.txt

===================================================================

--- test.txt (revision 84)

+++ test.txt (working copy)

@@ -1,3 +1,4 @@

+test test

save this cahnge

nire

owewew



C:\workareas\svn\test\rb-test > post-review --debug

>>> RBTools 0.4.2

>>> Python 2.7.1 (r271:86832, Oct 12 2012, 00:08:27) [MSC v.1600 64 bit (AMD64)]

>>> Running on Windows-7-6.1.7601-SP1

>>> Home = C:\Users\user1\AppData\Roaming

>>> Current Directory = C:\workareas\svn\test\rb-test

>>> Checking the repository type. Errors shown below are mostly harmless.

DEBUG:root:Checking for a CVS repository...

DEBUG:root:Checking for a ClearCase repository...

DEBUG:root:Checking for a Git repository...

DEBUG:root:Checking for a Mercurial repository...

DEBUG:root:Checking for a Perforce repository...

DEBUG:root:Checking for a Plastic repository...

DEBUG:root:Checking for a Subversion repository...

DEBUG:root:Running: svn info

DEBUG:root:Running: diff --version

DEBUG:root:repository info: Path:
https://svn-srvr/svn/proj_tpc_tca_test-comp-a, Base path:
/rel-branches/release_1.0_rc5, Supports changesets: False

>>> Finished checking the repository type.

>>> HTTP GETting api/

>>> HTTP GETting https://rb-srvr/rb/s/test_project_c/api/info/

>>> Using the new web API

DEBUG:root:Running: svn diff --diff-cmd=diff

DEBUG:root:Running: svn info test.txt

DEBUG:root:Running: svn info test.txt

DEBUG:root:Running: svn info test.txt

DEBUG:root:Running: svn info test.txt

>>> HTTP GETting https://rb-srvr/rb/s/test_project_c/api/repositories/

Traceback (most recent call last):

File "C:\csvn\Python25\Scripts\post-review-script.py", line 8, in <module>

load_entry_point('RBTools==0.4.2', 'console_scripts', 'post-review')()

File
"C:\csvn\Python25\lib\site-packages\rbtools-0.4.2-py2.7.egg\rbtools\postreview.py",
line 1296, in main

File
"C:\csvn\Python25\lib\site-packages\rbtools-0.4.2-py2.7.egg\rbtools\postreview.py",
line 862, in tempt_fate

File
"C:\csvn\Python25\lib\site-packages\rbtools-0.4.2-py2.7.egg\rbtools\postreview.py",
line 350, in new_review_request

File
"C:\csvn\Python25\lib\site-packages\rbtools-0.4.2-py2.7.egg\rbtools\postreview.py",
line 596, in _get_server_info

File
"C:\csvn\Python25\lib\site-packages\rbtools-0.4.2-py2.7.egg\rbtools\clients\svn.py",
line 355, in find_server_repository_info

File
"C:\csvn\Python25\lib\site-packages\rbtools-0.4.2-py2.7.egg\rbtools\postreview.py",
line 494, in get_repositories

File
"C:\csvn\Python25\lib\site-packages\rbtools-0.4.2-py2.7.egg\rbtools\postreview.py",
line 671, in api_get

File
"C:\csvn\Python25\lib\site-packages\rbtools-0.4.2-py2.7.egg\rbtools\postreview.py",
line 607, in process_json

File "C:\csvn\Python25\lib\json\__init__.py", line 326, in loads

return _default_decoder.decode(s)

File "C:\csvn\Python25\lib\json\decoder.py", line 360, in decode

obj, end = self.raw_decode(s, idx=_w(s, 0).end())

File "C:\csvn\Python25\lib\json\decoder.py", line 378, in raw_decode

raise ValueError("No JSON object could be decoded")

ValueError: No JSON object could be decoded

rb

unread,
Nov 13, 2012, 2:40:59 PM11/13/12
to revie...@googlegroups.com

We have another user with this strange svn diff issue with post-review. I
somehow got past this issue, completely by accident. Any help on resolution
would be appreciated.

Mark

Christian Hammond

unread,
Nov 13, 2012, 3:03:33 PM11/13/12
to revie...@googlegroups.com, revie...@googlegroups.com
It's just possible svn diff no longer supports the --diff option. I'm not at a computer right now, but does it appear at all in the help output?

Christian

James Oravec

unread,
Jun 27, 2014, 4:45:18 PM6/27/14
to revie...@googlegroups.com
Hi Christian,

We've upgrade one of our source repositories from CVS to SVN. I'm trying to post to reviewboard and am getting a similar issue as what is stated in this thread. I'm hoping you might be able to give me some suggestions. I've posted the question to stack overflow too.

I'm trying to use reviewboard with SVN. Others in the office have got their system setup and are able to post (copies of a VM that got it working the first time). I've compared my system setup against theirs and things look the same, as far as I can tell.

When I run the rbt post command I get:

Failed to execute command: ['svn', 'diff', '--diff-cmd=diff', '--notice-ancestry ', '-r', 'BASE'] ['Index: main.cpp\n', '========================================================= ==========\n', 'Usage: diff [OPTIONS] \n', '\n', 'Display the dif ferences between and in unified diff\n', "format. OPTIONS are d iff extensions as described by 'svn help diff'.\n", "Use '--' alone to indicate that no more options follow.\n", "svn: E200012: 'diff' returned 2\n"]

I've made my svn client and gnu diff the first two things in my system path: C:\Program Files (x86)\GnuWin32\bin;C:\Program Files (x86)\CollabNet

I'm running Windows 8 machine.

Some detail. svn --version gives:

svn, version 1.8.9 (r1591380) compiled Jun 6 2014, 03:53:07 on x86-microsoft-windows5.1.2600

Copyright (C) 2014 The Apache Software Foundation. This software consists of contributions made by many people; see the NOTICE file for more information. Subversion is open source software, seehttp://subversion.apache.org/

The following repository access (RA) modules are available:

  • ra_svn : Module for accessing a repository using the svn network protocol.
    • with Cyrus SASL authentication
    • handles 'svn' scheme
  • ra_local : Module for accessing a repository on local disk.
    • handles 'file' scheme
  • ra_serf : Module for accessing a repository via WebDAV protocol using serf.
    • using serf 1.3.4
    • handles 'http' scheme
    • handles 'https' scheme

diff --version gives:

diff (GNU diffutils) 2.8.7 Written by Paul Eggert, Mike Haertel, David Hayes, Richard Stallman, and Len Tower.

Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Any thoughts or ideas on what I should check or what I'm missing? I'm going to post to the google group too to see if they have any ideas, if they have a solution I'll update this post too.

Thanks,
James

David Trowbridge

unread,
Jun 27, 2014, 5:47:01 PM6/27/14
to reviewboard
What is the output of 'svn help diff'?

-David


--
Get the Review Board Power Pack at http://www.reviewboard.org/powerpack/
---
Sign up for Review Board hosting at RBCommons: https://rbcommons.com/
---

Happy user? Let us know at http://www.reviewboard.org/users/
---
You received this message because you are subscribed to the Google Groups "reviewboard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to reviewboard...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

VenomFangs

unread,
Jun 27, 2014, 5:54:32 PM6/27/14
to revie...@googlegroups.com
Hi David,

Below is the output:

diff (di): Display local changes or differences between two revisions or paths.
usage: 1. diff
       2. diff [-c M | -r N[:M]] [TARGET[@REV]...]
       3. diff [-r N[:M]] --old=OLD-TGT[@OLDREV] [--new=NEW-TGT[@NEWREV]] \
               [PATH...]
       4. diff OLD-URL[@OLDREV] NEW-URL[@NEWREV]
       5. diff OLD-URL[@OLDREV] NEW-PATH[@NEWREV]
       6. diff OLD-PATH[@OLDREV] NEW-URL[@NEWREV]

  1. Use just 'svn diff' to display local modifications in a working copy.

  2. Display the changes made to TARGETs as they are seen in REV between
     two revisions.  TARGETs may be all working copy paths or all URLs.
     If TARGETs are working copy paths, N defaults to BASE and M to the
     working copy; if URLs, N must be specified and M defaults to HEAD.
     The '-c M' option is equivalent to '-r N:M' where N = M-1.
     Using '-c -M' does the reverse: '-r M:N' where N = M-1.

  3. Display the differences between OLD-TGT as it was seen in OLDREV and
     NEW-TGT as it was seen in NEWREV.  PATHs, if given, are relative to
     OLD-TGT and NEW-TGT and restrict the output to differences for those
     paths.  OLD-TGT and NEW-TGT may be working copy paths or URL[@REV].
     NEW-TGT defaults to OLD-TGT if not specified.  -r N makes OLDREV default
     to N, -r N:M makes OLDREV default to N and NEWREV default to M.
     If OLDREV or NEWREV are not specified, they default to WORKING for
     working copy targets and to HEAD for URL targets.

     Either or both OLD-TGT and NEW-TGT may also be paths to unversioned
     targets. Revisions cannot be specified for unversioned targets.
     Both targets must be of the same node kind (file or directory).
     Diffing unversioned targets against URL targets is not supported.

  4. Shorthand for 'svn diff --old=OLD-URL[@OLDREV] --new=NEW-URL[@NEWREV]'
  5. Shorthand for 'svn diff --old=OLD-URL[@OLDREV] --new=NEW-PATH[@NEWREV]'
  6. Shorthand for 'svn diff --old=OLD-PATH[@OLDREV] --new=NEW-URL[@NEWREV]'

Valid options:
  -r [--revision] ARG      : ARG (some commands also take ARG1:ARG2 range)
                             A revision argument can be one of:
                                NUMBER       revision number
                                '{' DATE '}' revision at start of the date
                                'HEAD'       latest in repository
                                'BASE'       base rev of item's working copy
                                'COMMITTED'  last commit at or before BASE
                                'PREV'       revision just before COMMITTED
  -c [--change] ARG        : the change made by revision ARG (like -r ARG-1:ARG)

                             If ARG is negative this is like -r ARG:ARG-1
                             If ARG is of the form ARG1-ARG2 then this is like
                             ARG1:ARG2, where ARG1 is inclusive
  --old ARG                : use ARG as the older target
  --new ARG                : use ARG as the newer target
  -N [--non-recursive]     : obsolete; try --depth=files or --depth=immediates
  --depth ARG              : limit operation by depth ARG ('empty', 'files',
                             'immediates', or 'infinity')
  --diff-cmd ARG           : use ARG as diff command
  --internal-diff          : override diff-cmd specified in config file
  -x [--extensions] ARG    : Specify differencing options for external diff or
                             internal diff or blame. Default: '-u'. Options are
                             separated by spaces. Internal diff and blame take:
                               -u, --unified: Show 3 lines of unified context
                               -b, --ignore-space-change: Ignore changes in
                                 amount of white space
                               -w, --ignore-all-space: Ignore all white space
                               --ignore-eol-style: Ignore changes in EOL style
                               -p, --show-c-function: Show C function name
  --no-diff-added          : do not print differences for added files
  --no-diff-deleted        : do not print differences for deleted files
  --ignore-properties      : ignore properties during the operation
  --properties-only        : show only properties during the operation
  --show-copies-as-adds    : don't diff copied or moved files with their source
  --notice-ancestry        : diff unrelated nodes as delete and add
  --summarize              : show a summary of the results
  --changelist [--cl] ARG  : operate only on members of changelist ARG
  --force                  : force operation to run
  --xml                    : output in XML
  --git                    : use git's extended diff format
  --patch-compatible       : generate diff suitable for generic third-party
                             patch tools; currently the same as
                             --show-copies-as-adds --ignore-properties

Global options:
  --username ARG           : specify a username ARG
  --password ARG           : specify a password ARG
  --no-auth-cache          : do not cache authentication tokens
  --non-interactive        : do no interactive prompting (default is to prompt
                             only if standard input is a terminal device)
  --force-interactive      : do interactive prompting even if standard input
                             is not a terminal device
  --trust-server-cert      : accept SSL server certificates from unknown
                             certificate authorities without prompting (but only

                             with '--non-interactive')
  --config-dir ARG         : read user configuration files from directory ARG
  --config-option ARG      : set user configuration option in the format:
                                 FILE:SECTION:OPTION=[VALUE]
                             For example:
                                 servers:global:http-library=serf

Thanks,
James

David Trowbridge

unread,
Jun 27, 2014, 8:49:11 PM6/27/14
to reviewboard
So looking a little bit more closely at the error that it came up with, it looks like when 'svn diff' is trying to call out to 'diff', it's ending up running 'svn diff' again instead of getting gnu diff. Can you try running the command that it's calling (svn diff --diff-cmd=diff --notice-ancestry -r BASE) by hand and see if you get a similar result?

-David

VenomFangs

unread,
Jun 30, 2014, 9:49:14 AM6/30/14
to revie...@googlegroups.com
Hi David,

When I run the command, I get:

C:\projects\Program>svn diff --diff-cmd=diff --notice-ancestry -r BASE
Index: Program.dsk
===================================================================
Usage: diff [OPTIONS] <file1> <file2>

Display the differences between <file1> and <file2> in unified diff
format.  OPTIONS are diff extensions as described by 'svn help diff'.
Use '--' alone to indicate that no more options follow.
svn: E200012: 'diff' returned 2

VenomFangs

unread,
Jun 30, 2014, 9:57:42 AM6/30/14
to revie...@googlegroups.com
The file it is blowing up on looks to be a binary file that gets generated from the IDE. I'm going to see if there is a way to add the file to an ignore list and see if that solves the problem.
...

VenomFangs

unread,
Jun 30, 2014, 10:04:02 AM6/30/14
to revie...@googlegroups.com
I did the command from the higher directory which is why it was complaining about the binary file. I added an ignore to that file and then found that I get the similar message for main.cpp in the source directory. So, same problem... I'll keep playing with it, if you have any ideas, please let me know.

...

VenomFangs

unread,
Jun 30, 2014, 10:59:46 AM6/30/14
to revie...@googlegroups.com
Doing some reading it looks like the diff command will throw the Error 2 if the file is a binary. I remember when I was using perforce that we could specify if the file was a binary or not, despite the file extension. Is there a way to see what SVN sees the file as? e.g. even though it shows a .cpp file, is there a setting that may make svn or the diff think the file is binary when it is not?

Happy user? Let us know at <a href="http://www.reviewboard.org/users/" target="_blank" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fwww.revie
...

VenomFangs

unread,
Jun 30, 2014, 11:07:54 AM6/30/14
to revie...@googlegroups.com
Found how to set the type of the file in SVN, but that had no affect on my underlying issue. 

Found a link on stack overflow for binary type and the command to specify just text. I used 'svn propset svn:mime-type text/plain main.cpp'

This did not solve the problem. I still get the "svn: E200012: 'diff' returned 2\n"


Sign up for Review Board hosting at RBCommons: <a href="h
...

VenomFangs

unread,
Jun 30, 2014, 11:39:29 AM6/30/14
to revie...@googlegroups.com
Christian/David, one of the other developers got their system working, but didn't write down their steps to get things working. Unfortunately, we need to get other developers setup to be able to post too... 

I have a couple more ideas to check on:
1) Is there a way to see the full command for rbt post that is used? E.g. I see the failed command message on my end, but if he modified it at all on his end, is there a way to see what he used and where he made that modification?
Currently it fails with: 
Failed to execute command: ['svn', 'diff', '--diff-cmd=diff', '--notice-ancestry', '-r', 'BASE']

2) I'd also like to try to check to make sure the diff has proper access to SVN, for the 2nd file compare. Is there a way to check this?




> For more options, visit this group at http://groups.google.com/group<w
...

VenomFangs

unread,
Jun 30, 2014, 12:37:33 PM6/30/14
to revie...@googlegroups.com
After much frustration, we figured out the issue. The solution was to rename the "diff.exe" in the collab net folder to something other than diff.

When doing a "where diff" I was able to see that the path and order was correct, in which GNU diff showed before CollabNet's diff. However CollabNet's diff was being used when running the command because the collab net diff is in the same directory as collab net's svn.exe. This means when the OS looks for a diff.exe it check's svn's local directory first then the system path. That being said, renaming "diff.exe" in the collab net folder will allow the gnu diff to be referenced, which will post properly.

...

David Trowbridge

unread,
Jun 30, 2014, 3:38:13 PM6/30/14
to reviewboard
I'm glad you finally figured it out, and I'm sorry that it was a frustrating debug experience.

-David


--
Get the Review Board Power Pack at http://www.reviewboard.org/powerpack/
---
Sign up for Review Board hosting at RBCommons: https://rbcommons.com/
---

Happy user? Let us know at http://www.reviewboard.org/users/
---
You received this message because you are subscribed to the Google Groups "reviewboard" group.
Reply all
Reply to author
Forward
0 new messages