Мой типичный рабочий процесс выглядит так:
- Проверьте коды из багажника на моем компьютере с операционной системой Windows
- Сделайте некоторые исправления (но не фиксируйте SVN) и создайте патч этих модификаций, используя «Create Patch» Tortoise SVN.
- Войдите в SSH на удаленный сервер Linux и загрузите патч. На сервере linux также проверена магистраль HEAD.
- Примените патч на сервере Linux, например:
[work@remoteLinuxBox:~/work] patch -p0 -i ~/work/fix.patch
(Stripping trailing CRs from patch.)
patching file src/java/main/myApp/view/action/test/launch/GetPeekAction.java
Hunk #1 FAILED at 385.
1 out of 1 hunk FAILED -- saving rejects to file src/java/main/myApp/view/action/test/launch/GetPeekAction.java.rej
(Stripping trailing CRs from patch.)
patching file src/java/main/myApp/view/action/test/GetAllCustomerAction.java
Hunk #1 FAILED at 76.
1 out of 1 hunk FAILED -- saving rejects to file src/java/main/myApp/view/action/test/GetAllCustomerAction.java.rej
(Stripping trailing CRs from patch.)
Но у меня всегда были такие ошибки. Я думал, что это было вызвано тем, что конец строки отличается в Windows и Linux, поэтому я преобразовал патч с помощью dos2unix, предупреждение вроде (Удаление конечных CR из патча) исчезло, но исправление все равно не удалось.
Существует одно странное поведение: если изменение файла происходит только в существующей строке, применение исправления будет работать. Но если будут добавлены новые строки, патч потерпит неудачу.
Кто-нибудь знает, как решить эту проблему? Большое спасибо