小编Gor*_*tch的帖子

如何在git中获取标签列表并使用python和dulwich创建新标签?

我有问题使用python检索git repo的以下信息:

  1. 我想获得此存储库的所有标记的列表.
  2. 我想签出另一个分支,并为分段创建一个新的分支.
  3. 我想用带注释的标签标记提交.

我查看了德威的文档,它的工作方式似乎非常简单.是否还有更容易使用的替代品?

python git dulwich

5
推荐指数
1
解决办法
1472
查看次数

使用从属子项目时在Xcode中链接问题

我正在使用Xcode编写一个iPhone项目,并使用外部库.我将Xcode项目文件添加到父目标并调整标头搜索路径并将其设置为父目标构建目标中的直接依赖项.

现在奇怪的事情发生了:我可以打开库并编译它没有问题.该库链接到一些框架,例如AVFoundation.framework.

我清理目标并开始构建父项目.在我的构建结果中,我看到它构建了库,但随后链接失败并显示以下错误消息:

Undefined symbols:
  "_AVCaptureSessionPresetMedium", referenced from:
      _AVCaptureSessionPresetMedium$non_lazy_ptr in libZXingWidget.a(ZXingWidgetController.o)
     (maybe you meant: _AVCaptureSessionPresetMedium$non_lazy_ptr)
  "_CVPixelBufferGetHeight", referenced from:
      -[ZXingWidgetController captureOutput:didOutputSampleBuffer:fromConnection:] in libZXingWidget.a(ZXingWidgetController.o)
  "_CVPixelBufferLockBaseAddress", referenced from:
      -[ZXingWidgetController captureOutput:didOutputSampleBuffer:fromConnection:] in libZXingWidget.a(ZXingWidgetController.o)
  "_AudioServicesPlaySystemSound", referenced from:
      -[ZXingWidgetController presentResultForString:] in libZXingWidget.a(ZXingWidgetController.o)
  "_AudioServicesCreateSystemSoundID", referenced from:
      -[ZXingWidgetController viewWillAppear:] in libZXingWidget.a(ZXingWidgetController.o)
  "_CVPixelBufferUnlockBaseAddress", referenced from:
      -[ZXingWidgetController captureOutput:didOutputSampleBuffer:fromConnection:] in libZXingWidget.a(ZXingWidgetController.o)
  "_CVPixelBufferGetBaseAddress", referenced from:
      -[ZXingWidgetController captureOutput:didOutputSampleBuffer:fromConnection:] in libZXingWidget.a(ZXingWidgetController.o)
  "_CVPixelBufferGetBytesPerRow", referenced from:
      -[ZXingWidgetController captureOutput:didOutputSampleBuffer:fromConnection:] in libZXingWidget.a(ZXingWidgetController.o)
  "_iconv_close", referenced from:
      zxing::qrcode::DecodedBitStreamParser::append(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, unsigned char const*, unsigned long, char const*)in …
Run Code Online (Sandbox Code Playgroud)

iphone xcode build-process objective-c

4
推荐指数
1
解决办法
6540
查看次数

用于生产代码的LLVM编译器?

我有一个关于LLVM编译器的问题:

我想用它来编译我的Mac和iOS的Objective-C源代码,从他们的发行说明看来,LLVM似乎足够稳定,可以使用它.

在使用LLVM获得良好体验之后,我还想用它来编译C++或Objective-C++.但是,我还不清楚是否仍应使用混合LLVM-GCC编译器(GCC解析器和LLVM代码生成器)或纯LLVM编译器.

我也不确定新的C++标准库,如果我应该使用它以及如何从GNU的libstdc ++转换.

问题

  1. 今天使用哪种编译器从C++生成快速生产质量代码:LLVM-GCC混合编译器或纯LLVM?
  2. 是否应该将C++标准库从GNU的libstdc ++迁移到LLVM项目创建的新libc ++库?

任何评论和提示表示赞赏.

llvm

3
推荐指数
1
解决办法
1497
查看次数

如果NFS服务器已挂载并联机,请检入python脚本

我有一个类似于检查NFS共享是否挂载在python脚本中的问题,但在我的情况下,NFS服务器已挂载,但服务器崩溃并脱机.我试图通过使用考虑到这一点,os.dir.ismount('/path/to/mountpoint/)但我的问题是这个命令需要永远完成.

当我试图做一个简单的ls /path/to/mountpoint命令时,这个命令也没有完成.有什么根本错误的吗?我的设置是一个Linux NFSv3服务器和一个Linux NFS客户端.

我通常希望如果NFS服务器不可安装或不再可访问,则该ls命令显示本地目录的内容而不是暂停终端.

python linux nfs

3
推荐指数
1
解决办法
4592
查看次数

如何在CoreData中存储typedef枚举

我有一个typedef枚举,用于表示排队系统中的作业状态,定义为

typedef enum  {
kTWjobStateRunning,
kTWjobStateQueued,
kTWjobStateError
}TWjobState;
Run Code Online (Sandbox Code Playgroud)

一切都很好,但现在我想将它作为CoreData中的属性存储.我的第一个想法是,枚举基本上是一个整数,所以将包装TWjobStateNSNumber作品中?我是否必须使用强制转换来说服编译器?

最佳实践问题
我经常在Cocoa和Foundation类中看到这种枚举的使用以及bitmasks的使用.是否有更现代,更面向对象的方式来实现同样的目标?

谢谢你的帮助.

cocoa enums core-data

2
推荐指数
1
解决办法
2556
查看次数

在Python中运行测试包中的单元测试

我试图用Python编写一个解析器,用于特殊的文本文件格式.为了了解如何构造代码,我查看了JSON解析器的源代码,它是Python标准库(Python/Lib/json)的一部分.

在这个json目录中有一个tests目录,它包含许多单元测试.我用我的测试替换了json测试,但现在我不知道如何调用它们.

查看目录有一个__init__.py文件使它成为一个模块,在这个文件里面有以下用于运行测试的代码片段:

here = os.path.dirname(__file__)

def test_suite():
    suite = additional_tests()
    loader = unittest.TestLoader()
    for fn in os.listdir(here):
        if fn.startswith("test") and fn.endswith(".py"):
            modname = "json.tests." + fn[:-3]
            __import__(modname)
            module = sys.modules[modname]
            suite.addTests(loader.loadTestsFromModule(module))
    return suite

def additional_tests():
    suite = unittest.TestSuite()
    for mod in (json, json.encoder, json.decoder):
        suite.addTest(doctest.DocTestSuite(mod))
    suite.addTest(TestPyTest('test_pyjson'))
    suite.addTest(TestCTest('test_cjson'))
    return suite

def main():
    suite = test_suite()
    runner = unittest.TextTestRunner()
    runner.run(suite)

if __name__ == '__main__':
    sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
    main()
Run Code Online (Sandbox Code Playgroud)

我现在的问题是如何执行这些单元测试?我感到困惑,因为if __name__ == '__main__':如果直接调用此文件而不将其作为模块导入,则if子句将验证为true.但是因为它在__init__.py模块的文件中,所以应该在导入后立即执行. …

python unit-testing

2
推荐指数
1
解决办法
923
查看次数