小编Mar*_*ver的帖子

基于github项目获取本地gerrit和存储库(包括分支)

我们的目标是使用git和gerrit基于托管在外部仓库(github)上的项目进行内部开发.我们会定期从外部仓库中提取新的变更和分支,并使用gerrit来管理审核流程(以及Jenkins构建所有流程).

我们的初始过程是通过git从外部仓库克隆到本地仓库,然后在gerrit中创建一个空项目,最后将本地克隆推送到gerrit.

然而,在那时,我们看到gerrit repo中没有分支!现在我们通过手动添加分支和refids来解决这个问题,但这看起来很复杂和脆弱.我认为外部分支会默认进入,没有额外的扭曲.他们当然是在github repo制作的克隆中.

理想情况下,能够直接从github克隆到gerrit并让它正常工作是很好的...不清楚为什么额外的本地回购只需要转移东西,或为什么分支不出现在gerrit中将本地克隆推送到它时进行克隆.建议?

git github gerrit

8
推荐指数
1
解决办法
5157
查看次数

在Gerrit中,如何防止提交的补丁集不完全是最新的?

两个开发人员正在开发分支上进行两个完全不同的更改(例如,两个不同的文件).他们同时提交他们的工作,触发两个Jenkins构建.这些构建很好,但一篇评论比另一篇要长.

第一个dev提交他们的补丁集,并且没有开发的中间提交,所以Gerrit将其合并.

第二个dev后来提交了他们的补丁集.虽然现在有一个中间提交,但合并本身是微不足道的,Gerrit执行合并.

现在我们有两个构建,它们都不包含另一个构建的工作.

如果有任何中间提交,我想阻止第二次提交,即使合并完全无关紧要,导致开发人员改为重新提交并更新他们的提交(并在此过程中触发Jenkins中的新构建).

在审核完成后,我在Gerrit中设置了什么来阻止这些无关紧要但又不需要的合并,补丁集正在提交,但目标分支上有中间合并?

git gerrit jenkins

7
推荐指数
1
解决办法
1158
查看次数

Android - 多级活动链的问题

(请注意,我在网上搜索了我在下面描述的警告,并且几乎没有提到它们.)

我与API 10级.我有一个偏好屏幕(基于XML),并在那里创建一个自定义的ListActivity如下的选项之一工作:

  • PreferenceActivity包含一个创建...的选项
    • ListActivity是一个使用...的对话框
      • setOnClickListener()包含一个onClick()方法(在调用finish()之前)将startActivity()一个新的Intent ...
        • 子活动启动...
          • 执行可变时间的AsyncTask工作时调用...
          • onPostExecute()调用finish()

问题是,它的工作原理......但是我从一开始就收到了大量的警告:

10-16 21:59:25.010: WARN/WindowManager(170): Rebuild removed 4 windows but added 3
10-16 21:59:25.010: WARN/WindowManager(170): This window was lost:.....
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当任务快速执行时,只会发出大量警告!当我添加了一个Thread.sleep()方法调用我的AsyncTask人为夸大其运行时它的工作和任何扔任何警告.实际上,只要运行时间大于(大约)500毫秒就可以正常工作.(请注意,我尝试使用startActivityForResult()没有更大的影响 - 出现同样的问题.)


我们的目标是用户选择首选项目,他们改变其设置,某些处理发生,然后用户在他们开始在偏好菜单左后卫.

我认为这是一个竞争条件......窗口被销毁的顺序取决于运行时...我得到的印象是当子Activity在其父ListActivity之前关闭时会发出警告.但是在1s sleep()中加入是不合理的解决方案,除非这是某种类型的Android错误(不太可能,但后来我已经再次复制了几个).

那么,我的这个缺陷导致了这一系列的警告?很高兴地说"在偏好,做到这一点,然后那样做,然后完成"但我认为我正在做的是相同的.也许不是......想法?


编辑:我决定尝试将此ListActivity作为自定义对话框...这是我最近尝试做的更痛苦的事情之一(getApplication()不起作用,许多其他事情似乎出错了..在某种程度上可能是经验不足,但对话真的不是为了这个......

android warnings android-intent android-asynctask android-activity

6
推荐指数
1
解决办法
4598
查看次数

VHDL:基于非常快的时钟创建非常慢的时钟脉冲

(我会在EE中发布这个,但似乎这里有更多的VHDL问题......)

背景:我正在使用Xilinx Spartan-6LX9 FPGA和Xilinx ISE 14.4(webpack).

我偶然发现了可怕的"PhysDesignRules:372 - 门控时钟"警告,我看到有很多关于这一点的讨论.一致意见似乎是使用FPGA上的其中一个DCM进行时钟分频但是...我的DCM似乎无法从32 MHz到4.096 KHz(根据向导它在5MHz时达到最低点) 32MHz ......尝试为这种低频目的链接多个DCM似乎很荒谬.

我当前的设计使用clk_in计数到指定值(15265),将该值重置为零并切换clk_out位(因此我最终得到50%的占空比,FWIW).它完成了这项工作,我可以轻松地使用clk_out的上升沿来驱动我设计的下一个阶段.它似乎工作得很好,但是...... 门控时钟(即使它不在时钟偏差的范围内,恕我直言也非常相关).(注意:所有时钟测试都是在对给定时钟敏感的进程中使用rising_edge()函数完成的.)

所以,我的问题:

  • 如果我们谈论从更快的 clk_in中获得相对较慢的clk_out,那么门控还是被认为是坏的吗?或者这种"计数到x并发送脉冲"这一点对FPGA来说非常典型,以生成KHz范围内的"时钟",而其他一些不必要的副作用可能会触发此警告?

  • 有没有更好的方法从MHz范围的主时钟创建一个低KHz范围的时钟,请记住,使用多个DCM似乎在这里是过度的(如果在极低的输出频率下可能的话)?我意识到50%的占空比可能是多余的,但假设一个时钟进入并且使用板载DCM,那么用FPGA如何进行主要的时钟分频?

编辑:给定以下内容(其中CLK_MASTER是32 MHz输入时钟,CLK_SLOW是所需的慢速时钟,LOCAL_CLK_SLOW是一种存储整个占空比的时钟状态的方法),我了解到这种配置导致警告:

architecture arch of clock is
    constant CLK_MASTER_FREQ: natural := 32000000; -- time := 31.25 ns
    constant CLK_SLOW_FREQ: natural := 2048;
    constant MAX_COUNT: natural := CLK_MASTER_FREQ/CLK_SLOW_FREQ;
    shared variable counter: natural := 0;
    signal LOCAL_CLK_SLOW: STD_LOGIC := '0';
begin
    clock_proc: process(CLK_MASTER)
    begin
        if rising_edge(CLK_MASTER) then
            counter := counter + …
Run Code Online (Sandbox Code Playgroud)

clock fpga vhdl

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

需要帮助正确模拟带有AVD的三星Galaxy Nexus

我正在努力确保我的应用程序正在使用流行的Galaxy Nexus作为基础在ICS上进行测试.我想尽可能忠实地模仿它.

我用以下参数创建了一个AVD(来自config.ini).这主要是使用GUI创建的(disk.dataPartition.size是一个基于我读过的其他文章的手工编辑的参数).内存值可能偏低,但这对我来说不会造成问题.

由于设备没有外部SD卡,我对hw.sdCard说"不",但我显然没有在/ mnt/scdcard中看到任何内容(与/ sdcard相同)并且无法写入它(重新安装不是问题AFAIK:该安装根本不存在).

我已经用几种不同的方式对它进行了测试,包括adb shell.并且,是的,我在这里搜索了一个答案...这个设置的大部分是基于这个相关问题的答案,最终导致我使用disk.dataPartition.size作为命令行选项的等价物(按此网站).

编辑:如果我将hw.sdcard设置为yes它会给我一个sdcard,但是我想知道这是否是正确的方法(假设在这个版本的模拟器中有正确的方法).另外,在使用实际的外部SD卡模拟ICS设备时,这并没有什么帮助......

所以(因为我实际上没有Galaxy Nexus可以使用):

  • 我会看到内部"sdcard"区域和挂载点 (/ mnt/sdcard,/ sdcard,两者或其他什么?)
  • 我可以做些什么来正确地模仿"sdcard"(因为它本身并不是真正的SD卡)?
  • 额外奖励:我还会在带有物理SD卡的设备看到什么?/可拆卸(如在Honeycomb中)?别的什么?
abi.type=armeabi-v7a
disk.dataPartition.size=512
hw.cpu.arch=arm
hw.cpu.model=cortex-a8
hw.keyboard.lid=no
hw.lcd.density=320
hw.mainKeys=no
hw.ramSize=512
hw.sdCard=no
image.sysdir.1=add-ons\addon-google_apis-google_inc_-15\images\armeabi-v7a\
image.sysdir.2=system-images\android-15\armeabi-v7a\
sdcard.size=64M
skin.name=WXGA720
skin.path=platforms\android-15\skins\WXGA720
snapshot.present=true
vm.heapSize=48
Run Code Online (Sandbox Code Playgroud)

android sd-card android-emulator android-4.0-ice-cream-sandwich

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

内核建设:"torvalds"和"稳定"回购如何相关?

说到Kernel.org内核回购,有一些是最新的:

  • 的Linux /内核/ git的/稳定
  • 的Linux /内核/的git /托沃兹

这些似乎在它们各自的标签方面基本上是不相交的.似乎除非我正在努力工作,否则我应该坚持克隆"稳定"(我目前的测试是基于现有的稳定内核).这是正确的假设吗?

torvalds树实际上是稳定的完整超集(虽然它看起来不是这样,看着标签)?如果不是,似乎很可能,变化如何在两者之间来回传播?

linux git linux-kernel

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

Python 2.7 和 xml.etree:如何创建具有多个命名空间的 XML 文件?

我正在尝试创建一个 XML 文件,使其具有以下骨架,最好使用 Python 2.7 中的 xml.etree 模块:

<?xml version="1.0"?>
<foo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" thing1="this" thing2="that">
  ....
  <somedata bar="1">
    <moredata whatsit="42"></moredata>
  </somedata>
  ....
</foo>
Run Code Online (Sandbox Code Playgroud)

令我烦恼的是“foo ....”这句话。我尝试使用 nsmap 引入 xsi 和 xsd,但这导致了“无法序列化”错误。

我可以构造或以其他方式破解该行的文本,使其完全符合我的要求,但我想学习使用 xml.etree 以编程方式执行此操作(在这种情况下,引入外部库并不可取)。

我认为这是一种常见的模式,但我只是没有在 Python 和 etree 的任何地方找到它。

python xml elementtree python-2.7

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

如果列表后没有足够的连续内存,CPython 如何处理列表扩展?

由于是可变的,当 Pythonlist被扩展时(例如mylist.extend()mylist += anotherlist),列表的 id 不会改变。

我知道(至少在 CPython 中)列表在内存中是连续的(并且 id 恰好是列表头的地址)。如果列表后面的内存已经高度碎片化并且无法分配列表扩展(即使有足够的可用空间,尽管该区域不连续)怎么办?分配失败?如何缓解这种情况?

python list append extend

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

如何通过单行或命令行选项获取Python解释器的详细版本?

--version本身的输出有点过于简单:

C:\>python --version
Python 2.7.5
Run Code Online (Sandbox Code Playgroud)

但是,如果我从命令提示符运行Python,我得到类似于以下内容的东西,解释器的详细版本信息全部在一行:

C:\> python
Python 2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Run Code Online (Sandbox Code Playgroud)

有一个简单的方法,在一行命令中或通过一些选项来获得相同的详细版本信息行作为字符串,我可以用来填充环境变量等?

实际上,是否有一个更加冗长的变体--version我不知道?

python

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

Python - 使用“部分”解决不适合 lambda 的后期绑定问题 - 成本与收益?

注意: 我在问是否有一种 Pythonic 的方式来做到这一点(使用默认参数似乎比使用部分 Pythonic 更少),并且是否有任何一种方法的重大限制(“成本” - 我不希望时间有显着差异,但是也许还有其他限制我没有看到使平衡倾向于一种方法与另一种方法)。

我试图了解在 lambda 不可行的后期绑定情况下使用“部分”的成本。我已经根据本指南创建了一些示例代码来说明这一点。

由于后期绑定,以下内容无法按预期工作:

def create_thingies():
    thingies = []
    for i in range(1,6):
        def thingy(x):
            print("Some output", i)
            return i ** (x * i)
        thingies.append(thingy)
    return thingies

results=[]
for thingy in create_thingies():
    results.append(thingy(2))
print(results)
Run Code Online (Sandbox Code Playgroud)

输出:

Some output 5
Some output 5
Some output 5
Some output 5
Some output 5
[9765625, 9765625, 9765625, 9765625, 9765625]
Run Code Online (Sandbox Code Playgroud)

使用“部分”我们可以避免这个问题,但代价是什么?

from functools import partial
def create_thingies():
    thingies = []
    for i in range(1,6):
        def …
Run Code Online (Sandbox Code Playgroud)

python lambda late-binding

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

AMQPConnectionError 使用 Pika 和 RabbitMQ 与 Asyncore - 为什么?

为什么我在使用 Asyncore 而不是使用 BlockingConnection 时会收到 AMQPConnectionError?

如果只是“Asyncore 在 Windows 中不起作用”,那就这样吧,尽管我还没有找到任何禁止使用它的东西。(这个问题与平台无关。)为了便于迁移,我想使用在 Python 2.7 和 Python 3.4 上都可用的异步库,并且 Asyncore 应该在这里工作。

我将 RabbitMQ 3.2.4 与 Python 2.7.6 和 pika 0.9.13 一起使用。用户和管理员运行级别没有区别。除了上面更新的警告消息外,记录器在代码中的存在与否与错误无关。在 Linux (Ubuntu 14.04) 和 Windows 7 中也会出现相同的错误,因此这不是平台问题。

因为使用 BlockingConnection 的 pika 性能相当差,所以我想尝试使用 Asyncore 适配器。对于测试床设置来说似乎非常简单(我尝试给它提供凭据,尽管这无关紧要,如果不提供,回调将被剔除......无论哪种方式它都会失败。):

根据教程使用 BlockingConnection - 它可以工作,但吞吐量低:

connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
Run Code Online (Sandbox Code Playgroud)

使用 AsyncoreConnection - 我尝试过的所有变体都立即失败:

connection = pika.AsyncoreConnection(pika.ConnectionParameters(host='localhost'))
Run Code Online (Sandbox Code Playgroud)

错误:

connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
Run Code Online (Sandbox Code Playgroud)

python rabbitmq pika

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

Python:self 与 type(self) 以及类变量的正确使用

在 Python 中使用类变量时,可以通过“self”(感谢引用)或“type(self)”(直接)访问和(如果它是可变的)直接操作它,而不可变变量(例如整数)显然得到当您只使用“self”时,会被新的实例对象遮蔽。

那么,在处理 Python 类变量时,总是使用“type(self)”来处理从类方法中引用的类变量是否更可取/Pythonic?

(我知道类变量有时不受欢迎,但是当我使用它们时,我想以一致的方式访问它们(如果它们是不可变类型,则采用一种方式,如果它们是可变的,则采用另一种方式。)

编辑:是的,如果你修改一个不可变的值,你会得到一个新对象。修改可变对象的值的副作用是导致这个问题的原因 - “self”会给你一个引用,你可以用它来改变类变量而不隐藏它,但是如果你给它分配一个新对象,它会隐藏它。使用 classname.classvar 或 type(self).classvar 或 self.__class__ 可确保您始终使用类变量,而不仅仅是隐藏它(尽管子类使这变得复杂,如下所述)。

python class-variables

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