Я працював над проектом, в якому було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, ви можете додати пульт до вашого існуючого сховища, і вишнею виділіть питання, про яке йде мова, з філії «забули зробити це» на звичайну гілку. Потім просто натисніть.
Крім того, перейдіть на справді низькотехнологічний і просто скористайтеся інструментом "відображення / злиття" для копіювання змін файлів з однієї папки до іншого.