Я разрабатываю приложение Django с использованием выпуска Django 1.3.1:
https://code.djangoproject.com/browser/django/tags/releases/1.3.1
Я обнаружил ошибку, которая была идентифицирована и исправлена командой Django:
https://code.djangoproject.com/ticket/16128
Набор изменений, связанный с исправлением ошибки, находится в стволе Django
https://code.djangoproject.com/changeset/17755
У меня вопрос: как я могу воспользоваться преимуществами исправления ошибок, не обновляя версию транка Django?
К пачке прикреплены файлы, последняя из которых:
https://code.djangoproject.com/attachment/ticket/16128/16128.diff
Я вижу, что этот файл является стандартным файлом 'diff', который может быть обработан утилитой 'patch'. Я попытался применить его к моей установке django 1.3.1 (на машине разработчика), но она не работает ... Исходные строки (подлежащие замене) не совсем те, которые ожидаются в файле diff.
К какому «начальному состоянию» относится этот файл сравнения? Другими словами, к какой версии django она может быть применена?
Есть ли другой способ, кроме применения его «вручную»? Даже если я применяю его вручную, я вижу, что исправленный код вызывает новые версии методов, не включенных в исправление ... что означает, что я должен выяснить, читая код, какие другие файлы должны быть исправлены, и залатать их ...
В этот момент я думаю что-то вроде: «Вау, это сложно, давайте подождем следующий выпуск Django - 1.5, для этого билета - и найдем обходной путь!». Но, с другой стороны, если система исправлений существует, должна быть возможность применить это исправление к моей установке Django 1.3.1 ...
Кто-нибудь сталкивался с такой же проблемой? Если да, то как тебе это удалось?
Заранее спасибо за помощь