标签: backport

如何在Subversion中返回旧版本的代码?

我正和一位朋友一起开展一个项目,我想回到我们代码的旧版本并将其设置为当前版本.我该怎么做?

我在vs08上使用"anksvn".

我在我的电脑上有我想要的版本,但是提交失败了; 我收到的消息是"提交失败,文件或目录已过期".

我的PC上也有subversion客户端.

svn backport

478
推荐指数
6
解决办法
63万
查看次数

有没有人将Lambda表达式向后移植到Java 7?

阅读Java 8从lambdas中产生的字节码类型,我想起了Java 5发布的时候.当时有Retroweaver其他工具用于转换用JDK 5编译的字节码以在JRE 1.4上运行.

还有人为Java 8 lambdas创建了这样一个后向移植工具吗?它将让Java开发人员今天开始在生产质量的Java 7 JRE上使用lambdas,而不必等待6到12个月的Java 8 GA版本.

以下是我对后向传递器应该相对容易实现的原因的分析:

Java 8 lambdas似乎没有使用Java 7不具备的任何JVM功能(例如invokedynamic),并且java.lang.invoke.LambdaMetafactory该类及其依赖项看起来像纯Java,因此应该可以在第三方库中实现它们.因此,使用JDK 8编译的字节码可以通过添加带有LambdaMetafactory副本的第三方库(在不同的包下)并通过转换字节码来使用该元数据来在JRE 7上运行.也许还会生成一些合成类和方法来绕过可访问性检查,这java.lang.invoke.MagicLambdaImpl似乎意味着.或者为所有lambdas生成匿名内部类,就像一些支持lambda的早期访问JDK一样.

java lambda backport java-7 java-8

45
推荐指数
1
解决办法
7090
查看次数

如何在android 2.2.2(Froyo)中使用BitmapRegionDecoder代码?

我正在阅读关于SO 的另一个问题的答案,其中@RomainGuy评论说可以(如果我错误地解释,请纠正我)从后续版本的android到早期版本的后端代码.具体来说,我感兴趣的是从Android版本2.3.3(Gingerbread)到版本2.2.2(Froyo)的BitmapRegionDecoder的代码反向移植.

我宁愿更普遍地问这个问题是什么是最佳实践/将代码从较新版本的Android反向移植到旧版本时应该避免什么,但stackoverflow暗示我的问题可能因为过于主观而被关闭.

也许如果对该主题有足够的兴趣,这个问题可能会"变形"为一个更普遍的问题......可能是一个社区维基?

在任何情况下,我都很感激有关如何做到这一点的任何见解.无论是特定于我的用例,还是更一般的建议.从java类中调用本机方法是否会使问题复杂化(必然涉及NDK)?

如果以这种方式确实(并且合理)采用樱桃选择和后端口代码,我认为很多人会发现知道如何非常有用.

java graphics android backport android-ndk

30
推荐指数
3
解决办法
3082
查看次数

python 2.7 functools_lru_cache虽然安装但不导入

当我尝试导入matplotlib时出现错误

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/__init__.py", line 128, in <module>
  from matplotlib.rcsetup import defaultParams, validate_backend, cycler
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/rcsetup.py", line 29, in <module>
    from matplotlib.fontconfig_pattern import parse_fontconfig_pattern
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/fontconfig_pattern.py", line 32, in <module>
    from backports.functools_lru_cache import lru_cache
ImportError: No module named functools_lru_cache
Run Code Online (Sandbox Code Playgroud)

backports本身导入正常.当我尝试手动安装functools时

sudo pip install backports.functools_lru_cache
Run Code Online (Sandbox Code Playgroud)

我得到的信息

Requirement already satisfied: backports.functools_lru_cache in /usr/local/lib/python2.7/dist-packages
Run Code Online (Sandbox Code Playgroud)

然而,当我尝试

import backports.functools_lru_cache
Run Code Online (Sandbox Code Playgroud)

我得到的信息

ImportError: No module named functools_lru_cache
Run Code Online (Sandbox Code Playgroud)

系统信息Ubuntu 16 Python 2.7.12 Pip 9.0.1

python backport matplotlib

30
推荐指数
6
解决办法
2万
查看次数

python2.6中没有索引的字符串格式

我有成千上万行的python代码有python2.7 +样式字符串格式化(例如{} s中没有索引)

"{} {}".format('foo', 'bar')
Run Code Online (Sandbox Code Playgroud)

我需要在python2.6下运行此代码,python2.6 需要索引.

我想知道是否有人知道一个无痛的方式允许python2.6运行此代码.如果有一个"来自__future__ import blah"解决问题,那就太棒了.我没有看到一个.这些方面的东西将是我的第一选择.

一个遥远的第二个是一些脚本可以自动化添加索引的过程,至少在明显的情况下:

"{0} {1}".format('foo', 'bar')
Run Code Online (Sandbox Code Playgroud)

python backport string-formatting python-2.6

13
推荐指数
1
解决办法
721
查看次数

将`@ unittest.skipIf`与旧版本的Python一起使用

使用该unittest模块,我喜欢跳过测试功能,但它仅适用于Python 2.7+.

例如,考虑test.py:

import unittest
try:
    import proprietary_module
except ImportError:
    proprietary_module = None

class TestProprietary(unittest.TestCase):
    @unittest.skipIf(proprietary_module is None, "requries proprietary module")
    def test_something_proprietary(self):
        self.assertTrue(proprietary_module is not None)

if __name__ == '__main__':
    unittest.main()
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用早期版本的Python运行测试,则会收到错误消息:

Traceback (most recent call last):
  File "test.py", line 7, in <module>
    class TestProprietary(unittest.TestCase):
  File "test.py", line 8, in TestProprietary
    @unittest.skipIf(proprietary_module is None, "requries proprietary module")
AttributeError: 'module' object has no attribute 'skipIf'
Run Code Online (Sandbox Code Playgroud)

有没有办法"欺骗"旧版本的Python来忽略unittest装饰器,并跳过测试?

python unit-testing backport decorator

12
推荐指数
2
解决办法
4287
查看次数

用于Angular 1.2的debugInfoEnabled

Angular 1.3引入了一种新debugInfoEnabled()方法,如果false应用程序配置函数中调用,它可以提高性能:

myApp.config(['$compileProvider', function ($compileProvider) {
    $compileProvider.debugInfoEnabled(false);
}]);
Run Code Online (Sandbox Code Playgroud)

此外,Angular 1.3放弃了IE8的支持.这对我来说是一个问题,我的应用程序必须在IE8上运行.因此,我无法升级到角度1.3并且必须使用1.2.

有没有办法用角度1.2实现相同的功能?

特别是,至少有一部分debugInfoEnabled()做了:

  • 在创建新范围时阻止创建ng-scope/ ng-isolated-scopeCSS类
  • 不要将绑定数据和ng-class CSS类附加到具有ngBind,ngBindHtml或{{...}}插值的元素

作为一种可能的选择,我可以分叉angularjs存储库并将该功能反向回1.2.然后,使用fork维护来自上游的更新.

非常感谢任何指针.

javascript debugging backport internet-explorer-8 angularjs

11
推荐指数
1
解决办法
2713
查看次数

Backport Python 3.4的正则表达式"fullmatch()"到Python 2

Python 3.4引入了新的正则表达式方法re.fullmatch(pattern, string, flags=0).

有没有人将这种新方法反向移植到旧的Python版本?

python regex backport python-2.x python-3.x

10
推荐指数
1
解决办法
3942
查看次数

"backporting"nullptr到C++ - 前C++ 0x程序

或多或少的标题暗示.虽然我还没有使用C++ 0x,但是我想在它发生时做好准备,而且我还想减少我必须重写的代码量才能使用它的一些功能.这样我就可以一次性地向前和向后兼容.

我发现的最有趣的一个是nullptr,我最近经常使用它.

在检查了"官方解决方法"和Meyer的建议之后,我决定在我的C++和未来的C++ 0x程序中使用它.第二部分很简单 - 作为关键字,nullptr只需支持.但第一部分让我感到有些不适.

Meyers提案的功能如下:

class nullptr_t { // ? this is my issue
    // definition of nullptr_t
} nullptr = { };
Run Code Online (Sandbox Code Playgroud)

该提议的问题在于它声明了要声明为std::nullptr_tC++ 0x所需的类型.这意味着对于"感觉原生"的解决方法,必须通过重新打开std::命名空间来添加类型.我理解在C++程序中这是非法的(不像添加特殊化,这显然是皱眉和放开警告).

我想用nullptr在舒适在C++程序合法的方式.我想到的一个选项是在另一个命名空间中声明类型然后使用它using:

namespace mylibrary {
class nullptr_t {
    ....
} nullptr = { };
// end namespace
}

// These would have to go in the header file.
using mylibrary::nullptr;
using …
Run Code Online (Sandbox Code Playgroud)

c++ backport nullptr forward-compatibility c++03

9
推荐指数
1
解决办法
3834
查看次数

Python enum34按名称访问

我在Python 2.7中使用Enum backport enum34.

根据文档,应该可以使用项目访问权限通过名称访问枚举成员.也就是说,以下应该有效:

from enum import Enum

class Foo(Enum):
    bar = 1
    baz = 2

print(Foo['bar'])
Run Code Online (Sandbox Code Playgroud)

但是,当我运行代码时,我在最后一行得到了这个错误:

TypeError:'type'对象没有属性' __getitem__'

我在这里遗漏了什么,或者这个功能在2.7后端没有实现?

python enums backport python-2.7

9
推荐指数
1
解决办法
3238
查看次数