小编dbr*_*dbr的帖子

使用Mercurial分隔私有版本和公共版本

如何使用Mercurial解决以下问题.

假设我有一个库Core.我现在想要开发一个名为Extension的扩展库.我想让Core在物理上与Extension分开,也就是说,Core是一个开源库,而Extension是一个基于Core的私有库(也许它包含了一些我想保留个人的东西.无论如何.).显然,我不想将Extension中的整个源代码推送到公共存储库.但另一方面,我可能希望将某些更改从Extension扩展到Core(如果我决定"将扩展部分"捐赠给Core),反之亦然(如果我想合并bug修复,请说).

您将如何解决这个问题,最大限度地降低扩展到Core的风险(一旦将历史记录推送到公共服务器,就不会再回头了!),同时保持灵活性以便对某些更改执行此操作.分行?克隆?MQS?别的什么?

我目前只熟悉克隆存储库,非常喜欢它的简单性.

编辑: 我提出了这个计划,但我无法让它在Windows下工作.两个存储库(核心和扩展).在Extension中有两个分支,也是Core和扩展.现在,你可以在Mercurial中为每个存储库注册一个钩子,所以我想在Core repo中注册一个'pretxnchangegroup'钩子,它不允许来自Extension分支的签入,就像Mercurial书中所解释的那样.除了我不太明白在Windows下工作.所以:

  • 任何人都有一个这样的例子(事实上,任何改变交易结果的钩子)在Windows下?
  • 我仍然可以使用移植来实现从Extension到Core分支的改变,对吗?

mercurial

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

使用JRuby/Jython实现Ruby/Python互操作性?

很可能是一个愚蠢的问题,因为我对Java/Jython/JRuby /字节码不太了解,但..

今天我偶然发现了_why的邪恶 ......它允许你从Ruby代码输出Python字节码.基本上允许它们生成相同的字节码..

Jython输出Java字节码,就像JRuby一样.由于这些都编译为相同的字节码,这是否意味着您可以使用Ruby中的任何Python库和Python中的Ruby库?

ruby python bytecode jython jruby

11
推荐指数
2
解决办法
1677
查看次数

尝试从多个位置导入模块的更简洁的方法?

有没有办法整理下面的代码,而不是一系列嵌套的try/except语句?

try:
    import simplejson as json
except ImportError:
    try:
        import json
    except ImportError:
        try:
            from django.utils import simplejson as json
        except:
            raise "Requires either simplejson, Python 2.6 or django.utils!"
Run Code Online (Sandbox Code Playgroud)

python refactoring python-import

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

截断Markdown?

我有一个Rails站点,其中的内容是用markdown编写的.我希望显示每个片段,并带有"阅读更多..."链接.

我该怎么做?简单地截断原始文本将不起作用,例如..

>> "This is an [example](http://example.com)"[0..25]
=> "This is an [example](http:"
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望允许作者(可选)插入标记以指定要用作"片段"的内容,如果不是,则需要250个单词,并附加"..." - 例如..

This article is an example of something or other.

This segment will be used as the snippet on the index page.

^^^^^^^^^^^^^^^

This text will be visible once clicking the "Read more.." link
Run Code Online (Sandbox Code Playgroud)

标记可以被认为是EOF标记(在显示完整文档时可以忽略)

我正在使用maruku进行Markdown处理(RedCloth非常偏向于Textile,BlueCloth是非常错误的,我想要一个本地Ruby解析器,它排除了peg-markdown和RDiscount)

或者(因为无论如何将Markdown翻译成HTML)正确地截断HTML是一种选择 - 尽管最好不要markdown()整个文档,只是为了获得前几行.

所以,我能想到的选项是(按照优先顺序)..

  • 向maruku解析器添加"truncate"选项,该解析器仅解析前x个单词,或者直到"摘录"标记.
  • 编写/找到解析器无关的Markdown truncate'r
  • 编写/查找智能HTML截断功能

ruby markdown ruby-on-rails

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

使用新的"hg rebase"命令有什么经验?

到目前为止,"hg rebase"如何对待你?你有没有发现任何错误或陷阱?在什么情况下它取代或补充mq?

mercurial

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

来自一个setup.py的多个项目?

我当前的setup.py(使用setuptools)安装了两件事,一件是tvdb_api(API包装器),另一件是tvnamer(命令行脚本)

我希望单独提供两个,所以用户可以做..

easy_install tvdb_api
Run Code Online (Sandbox Code Playgroud)

..只获取API包装器,或..

easy_install tvnamer
Run Code Online (Sandbox Code Playgroud)

..安装tvnamer(和tvdb_api,作为要求)

这可能没有两个单独的setup.py脚本吗?你能拥有两个来自同一python setup.py upload命令的独立PyPi包吗?

python setuptools

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

在emacs的启动时停止运行tramp-mode

我正在尝试使用tramp-mode,但现在我似乎无法摆脱它.每当我启动emacs时,它会花费大约20秒来完成各种与tramp相关的初始化.

tramp: Waiting 60s for prompt from remote shell
tramp: Setting up remote shell environment
Run Code Online (Sandbox Code Playgroud)

..等等.

我怎么卸载流浪汉?grep'ing我~/.emacs.d发现除了插件本身之外什么都没有(它似乎没有加载到任何地方..)

我已经清除了最近的文件历史记录,但这没有任何区别......

emacs tramp

10
推荐指数
2
解决办法
3573
查看次数

如何在Snow Leopard上安装iPython

iPython适用于Mac OS X 10.6.1 Snow Leopard吗?我是python noob,如何在我的Mac上安装iPython?链接?建议?

谢谢

python macos ipython

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

如何在Objective-C应用程序中退出?

我有一个启动一些应用程序的URLHandler,主要代码如下.

@implementation URLHandlerCommand

- (id)performDefaultImplementation {
    NSString *urlString = [self directParameter];

    NSLog(@"url :=: %@", urlString);

    NSTask *task;
    task = [[NSTask alloc] init];
    [task setLaunchPath: @"/usr/bin/open"];

    NSArray *arguments;
    arguments = [NSArray arrayWithObjects: @"-a", @"Path Finder.app", urlString, nil];
    [task setArguments: arguments];

    NSPipe *pipe;
    pipe = [NSPipe pipe];
    [task setStandardOutput: pipe];

    NSFileHandle *file;
    file = [pipe fileHandleForReading];

    [task launch];

    return nil;
}
Run Code Online (Sandbox Code Playgroud)

由于此例程的目标是启动另一个应用程序,我想在启动App后使此URLHandler退出.我怎样才能做到这一点?

objective-c protocol-handler

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

使用Python unittest缓存setUp()的结果

我目前有一个看起来像的unittest.TestCase ..

class test_appletrailer(unittest.TestCase):
    def setup(self):
        self.all_trailers = Trailers(res = "720", verbose = True)

    def test_has_trailers(self):
        self.failUnless(len(self.all_trailers) > 1)

    # ..more tests..
Run Code Online (Sandbox Code Playgroud)

这工作正常,但Trailers()调用大约需要2秒才能运行..鉴于setUp()在每次测试运行之前调用,测试现在需要大约10秒才能运行(只有3个测试函数)

self.all_trailers在测试之间缓存变量的正确方法是什么?

删除setUp函数,并执行..

class test_appletrailer(unittest.TestCase):
    all_trailers = Trailers(res = "720", verbose = True)
Run Code Online (Sandbox Code Playgroud)

..works,但它声称"在0.000s中进行3次测试"这是不正确的..我能想到的另一种方法是拥有一个cache_trailers全局变量(它工作正常,但相当可怕):

cache_trailers = None
class test_appletrailer(unittest.TestCase):
    def setUp(self):
        global cache_trailers
        if cache_trailers is None:
            cache_trailers = self.all_trailers = all_trailers = Trailers(res = "720", verbose = True)
        else:
            self.all_trailers = cache_trailers
Run Code Online (Sandbox Code Playgroud)

python unit-testing

9
推荐指数
3
解决办法
4900
查看次数