help-rcs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: merge doesn't work on windows


From: Nutchanon Wetchasit
Subject: Re: merge doesn't work on windows
Date: Thu, 20 Aug 2020 20:56:28 +0700

Kristof,

Disclaimer: I'm not a maintainer. And I'm not currently using Windows,
            so my ability to answer this specific question is limited.
            (See near the end of my answer for the exact runtime configuration
            I used to test)

I must note first, that the current maintainer, as far as I understand,
is maintaining a GNU version of RCS [1]. The version you mentioned however
is a Purdue University version of RCS-- which is older.

Back to your issue...

> C:\rcs\bin>merge test.txt test.org test.new
> diff3.exe: subsidiary program failed
> 
> C:\rcs\bin>echo %ERRORLEVEL%
> 2

There seems to be a porting quirk inside Purdue's Win32 port of GNU diff3.
That is, when `diff3.exe` tried to run `diff.exe`, somehow it didn't quite
manage to start that properly-- so `diff3.exe` bailed with said failure.

To avert that failure, I'd suggest that you replace `diff3.exe` and `diff.exe`
in your Purdue RCS installation with corresponding executables from
GNUWin32 project [2] (don't forget to also unpack their *.dll dependencies [3]
into the same folder too).

Then lastly, make sure that all of these binaries are installed within a path
which innermost folder is named `bin`. [4]

And you would find that `merge.exe` would magically start to work.

To give you a clearer picture: this is an exact installation steps
that I used for testing:

- Create a folder `C:\rcs`
- Create a folder `C:\rcs\bin`
- Extract all files from `bin\win32` folder inside rcs57pc1.zip [5]
  into `C:\rcs\bin`
- Extract all files from `bin` folder inside diffutils-2.8.7-1-dep.zip [2]
  into `C:\rcs\bin`
- Extract `diff.exe` and `diff3.exe` from `bin` folder within
  diffutils-2.8.7-1-bin.zip [3] into `C:\rcs\bin` ,
  overwriting existing files

I have tested this on WINE 1.6.2 (on Debian GNU/Linux 7.0 i386),
set to be Windows XP-compatible...

> C:\rcs\bin>merge test.txt test.org test.new
> 
> C:\rcs\bin>echo %ERRORLEVEL%
> 0

Regards,
Nutchanon Wetchasit

P.S. If you got this to work, you could donate to GNU project if you like. [6]
But if this didn't work, then I'd have to ask which version of Windows you're
running on with this problem; so others could try to help.

[1] https://www.gnu.org/software/rcs/
[2] 
https://sourceforge.net/projects/gnuwin32/files/diffutils/2.8.7-1/diffutils-2.8.7-1-bin.zip
[3] 
https://sourceforge.net/projects/gnuwin32/files/diffutils/2.8.7-1/diffutils-2.8.7-1-dep.zip
[4] This appeared to be a convention used in GNUWin32 ports,
    which allows ported programs to find and use `../usr` and `../etc`
    (relative to EXE location) as data and configuration directory.
    If you didn't follow this, `diff3.exe` would try to find `diff.exe`
    in a wrong folder, and it would fail.
[5] https://www.cs.purdue.edu/homes/trinkle/RCShome/rcs57pc1.zip
[6] https://www.fsf.org/about/ways-to-donate/

-----

On Thu, 6 Aug 2020 19:48:54 +0200 (CEST)
kristof.mulier@telenet.be wrote:

> Dear RCS Maintainers, 
> 
> First of all my sincere thanks for your efforts to maintain this 
> project. 
> 
> I downloaded rcs57pc1.zip (1.2MB) from your website. 
> Unfortunately, every attempt to run merge.exe fails with 
> the following error message: 
> 
> > diff3.exe: subsidiary program failed 
> 
> I tried the solutions offered on this StackOverflow post, 
> but they won't work: 
> 
> https://stackoverflow.com/questions/12748493/rcs-on-windows-rcsmerge-always-fails
> 
> So I'm basically stuck now. Can you please help me? 
> I'm certainly willing to make a donation to your organization 
> to express my gratitude. 
> 
> Kind regards, 
> Kristof Mulier



reply via email to

[Prev in Thread] Current Thread [Next in Thread]