[darcs-users] Applying signed patches doesn't work on XP

Jean-Louis Leroy jll at soundobjectlogic.com
Mon Nov 14 08:45:17 UTC 2005


Hello,

I'm having troubles sending patches from a XP box to a repository located
on computer running Fedora Core 4. Darcs version is 1.03. My patches get
rejected because they are "either unsigned, or signed by a non-allowed
key, or there was a gpg failure" says Darcs.

I tried to eliminate mailer-related problems and found out that I cannot
apply patches created on XP even on XP itself:

<test>
G:\darcs>darcs get http://jimi.soundobjectlogic.com/darcs/test
Copying patch 67 of 67... done!
Applying patches to the "working" directory...
Finished getting.

G:\darcs>darcs get test clone
Copying patch 67 of 67... done!
Finished getting.

G:\darcs>cd clone

G:\darcs\clone>echo foo > t.txt

G:\darcs\clone>darcs record -a -m foo
Finished recording patch 'foo'

G:\darcs\clone>darcs send -a --sign -o ..\patch
Creating patch to G:/darcs/test...

G:\darcs\clone>cd ..\test

G:\darcs\test>darcs apply -v ..\patch

darcs failed:  Patch bundle failed hash!
This probably means that the patch has been corrupted by a mailer.
The most likely culprit is CRLF newlines.

G:\darcs\test>
</test>

Non-signed patches work:

<test>
G:\darcs\test>cd ..\clone

G:\darcs\clone>darcs send -a -o ..\patch
Creating patch to G:/darcs/test...

G:\darcs\clone>cd ..\test

G:\darcs\test>darcs apply -v ..\patch
We have the following extra patches:
Will apply the following patches:
Mon Nov 14 09:38:29 Romance Standard Time 2005  jll at soundobjectlogic.com
  * foo
diffing dir...
Applying patches to the local directories...
diffing dir...
Finished applying...
</test>

.and if I create the repo on XP it works as well:

<test>
G:\darcs>rd /s test
test, Are you sure (Y/N)? y

G:\darcs>rd /s clone
clone, Are you sure (Y/N)? y

G:\darcs>md test

G:\darcs>cd test

G:\darcs\test>darcs init

G:\darcs\test>cd ..

G:\darcs>darcs get test clone
Copying patch 0 of 0... done!
Finished getting.

G:\darcs>cd clone

G:\darcs\clone>echo foo > t.txt

G:\darcs\clone>darcs record -m foo -a
No changes!

G:\darcs\clone>darcs add t.txt

G:\darcs\clone>darcs record -m foo -a
Finished recording patch 'foo'

G:\darcs\clone>darcs send --sign -a -o ..\patch
Creating patch to G:/darcs/test...

G:\darcs\clone>cd ..\test

G:\darcs\test>darcs apply -v ..\patch
We have the following extra patches:
Will apply the following patches:
Mon Nov 14 09:42:20 Romance Standard Time 2005  jll at soundobjectlogic.com
  * foo
diffing dir...
Applying patches to the local directories...
diffing dir...
Finished applying...
</test>

Weird insn't it?

Anybody who wants to investigate this, feel free to clone the repository
mentioned above.

Jean-Louis Leroy





More information about the darcs-users mailing list