/ / Як я можу застосувати виправлений TortoiseSVN патч до сховища git у Windows? - git, svn, patch, quantlib

Як я можу застосувати виправлений TortoiseSVN патч до сховища git у Windows? - git, svn, patch, quantlib

Я працював над проектом, в якому булоSubversion, але потім він перемістився до GIT, перш ніж мені вдалося здійснити останні зміни. Я створив патч-файл за допомогою TortoiseSVN, але тепер я не знаю, як застосувати це. Я спробував використовувати git apply але це не працювало:

C:Usersga1009Documentsquantlib>git apply ..devOasisCatBond_QuantLib_wXL.p
atch
..devOasisCatBond_QuantLib_wXL.patch:6: trailing whitespace.
/* This file is automatically generated; do not edit.     */
..devOasisCatBond_QuantLib_wXL.patch:7: trailing whitespace.
/* Add the files to be included into Makefile.am instead. */
..devOasisCatBond_QuantLib_wXL.patch:8: trailing whitespace.

..devOasisCatBond_QuantLib_wXL.patch:9: trailing whitespace.
#include <ql/experimental/catbonds/catbond.hpp>
..devOasisCatBond_QuantLib_wXL.patch:10: trailing whitespace.
#include <ql/experimental/catbonds/catrisk.hpp>
error: QuantLib_vc10.vcxproj: No such file or directory
error: QuantLib_vc10.vcxproj.filters: No such file or directory
error: test-suite/quantlibtestsuite.cpp: No such file or directory
error: test-suite/testsuite_vc10.vcxproj: No such file or directory
error: test-suite/testsuite_vc10.vcxproj.filters: No such file or directory
error: gensrc/config/categories.xml: No such file or directory
error: gensrc/metadata/types/types.xml: No such file or directory
error: QuantLibObjects_vc10.vcxproj: No such file or directory
error: QuantLibObjects_vc10.vcxproj.filters: No such file or directory
error: qlxl/QuantLibXLStatic_vc10.vcxproj: No such file or directory
error: qlxl/QuantLibXLStatic_vc10.vcxproj.filters: No such file or directory

Ці помилки трохи дивні, тому що всі ці файли мають бути додані до іншого каталогу, наприклад з патч-файлу:

--- QuantLib/QuantLib_vc10.vcxproj  (revision 18468)
+++ QuantLib/QuantLib_vc10.vcxproj  (working copy)

Я також намагався використовувати TortoiseMerge як запропоновано в https://stackoverflow.com/a/5415912/5363, але цей інструмент скаржився, що цільова папка не є репозиторієм (це, очевидно, не є схемою svn)

РЕДАГУВАТИ: patch.exe від gnuwin32 проект скаржиться на ті ж файли. Чи правильний файл патч в чомусь неправильний? Вхід для першого файлу з помилками:

Index: QuantLib/QuantLib_vc10.vcxproj
===================================================================
--- QuantLib/QuantLib_vc10.vcxproj  (revision 18468)
+++ QuantLib/QuantLib_vc10.vcxproj  (working copy)
@@ -250,6 +250,11 @@
<ItemGroup>
<ClInclude Include="qlcashflowscpicoupon.hpp" />
<ClInclude Include="qlcashflowscpicouponpricer.hpp" />
+    <ClInclude Include="qlexperimentalcatbondsall.hpp" />
+    <ClInclude Include="qlexperimentalcatbondscatbond.hpp" />
+    <ClInclude Include="qlexperimentalcatbondscatrisk.hpp" />
+    <ClInclude Include="qlexperimentalcatbondsmontecarlocatbondengine.hpp" />
+    <ClInclude Include="qlexperimentalcatbondsriskynotional.hpp" />
<ClInclude Include="qlexperimentalfinitedifferencesdynprogvppintrinsicvalueengine.hpp" />
<ClInclude Include="qlexperimentalfinitedifferencesfdextoujumpvanillaengine.hpp" />
<ClInclude Include="qlexperimentalfinitedifferencesfdklugeextouspreadengine.hpp" />
@@ -1375,6 +1380,10 @@
<ItemGroup>
<ClCompile Include="qlcashflowscpicoupon.cpp" />
<ClCompile Include="qlcashflowscpicouponpricer.cpp" />
+    <ClCompile Include="qlexperimentalcatbondscatbond.cpp" />
+    <ClCompile Include="qlexperimentalcatbondscatrisk.cpp" />
+    <ClCompile Include="qlexperimentalcatbondsmontecarlocatbondengine.cpp" />
+    <ClCompile Include="qlexperimentalcatbondsriskynotional.cpp" />
<ClCompile Include="qlexperimentalfinitedifferencesdynprogvppintrinsicvalueengine.cpp" />
<ClCompile Include="qlexperimentalfinitedifferencesfdextoujumpvanillaengine.cpp" />
<ClCompile Include="qlexperimentalfinitedifferencesfdklugeextouspreadengine.cpp" />

Відповіді:

1 для відповіді № 1

Ви можете спробувати скористатися git-svn, щоб переконвертувати вашSVN сховище для git. Після того, як це буде в GIT, ви можете додати пульт до вашого існуючого сховища, і вишнею виділіть питання, про яке йде мова, з філії «забули зробити це» на звичайну гілку. Потім просто натисніть.

Крім того, перейдіть на справді низькотехнологічний і просто скористайтеся інструментом "відображення / злиття" для копіювання змін файлів з однієї папки до іншого.