2013-09-30 31 views
0

我想使用Django的一个补丁版本来解决这里描述的问题:补丁和更新

https://code.djangoproject.com/ticket/7231

正如你可以在底部看到,一个补丁不存在,我想用它。

https://github.com/thirstydigital/django/commit/c7b99ad2d4b43d99b2c0f8ceba92b3d9eb07ed73

不过,我很担心,如果我的Django升级为新版本时会发生什么。

Django代码通常(合理)向后兼容,但我担心使用这可能会影响。我是否必须记住在升级后应用该补丁程序,并知道它是否适用于较新的版本?

回答

1

正如您在原始问题中已经提到的,有人已经创建了一个包含实现的分支:branch with extra join。在使用完全不适合您的开源代码时,这种情况经常发生。

如果你不想自己创建一个新的分支,那么你可以使用这个人的代码,并希望它随着时间的推移而更新官方生产代码库。另一种方法是创建自己的分支并自己保持最新状态。

票证已关闭并被指定为“wontfix”,因此假设您不会很快在正式的Django代码中看到它是相对安全的。但是,由于它没有官方的支持,所以不能保证你修改的代码在将来的Django正式版本中保持稳定。

如果补丁没有附带单元测试,那么您可以自己编写一些程序以确保它在将来能够正常工作(您应该这样做,以确保其当前状态中没有错误) 。然后,您可以在您的最后维护测试,或将它们发送给修补程序的原始作者,然后他们可以选择合并它们。

编辑:回复编辑回复OP的评论。

+0

我没有读过这些消息,甚至发布了一个链接到分支! 问题是更多,我知道它将与未来版本一起工作吗? –

+1

对不起,我认为我的眼睛完全跳过了你承认我连接的补丁的部分......简短的回答是'不'。您不支持的代码(即wontfix补丁)不能保证与未来版本的Django一起使用。您将不得不创建适当的测试以确保您的代码不会中断 - 但无论您编写的任何代码如何,这都应该完成。 –