我有一个提交master,hash 6877146,它更新了一个子模块.
$ git show 6877146
commit 6877146f1781bfbd4ec3ae2a27121a606f5f688e
Author: [snip]
Date: Wed Feb 22 16:10:20 2012 +0000
updating potatobase
diff --git a/potatobase b/potatobase
index 5877e2c..b77ba62 160000
--- a/potatobase
+++ b/potatobase
@@ -1 +1 @@
-Subproject commit 5877e2c2d82645fa44f121884291ee48cf24584d
+Subproject commit b77ba624d6a1c5e62d434ad2d06383604aeab431
Run Code Online (Sandbox Code Playgroud)
这个提交在master分支上,我目前已检查过:
$ git branch -a --contains 6877146
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/ticket-1479-refactor-blade-json-functions
Run Code Online (Sandbox Code Playgroud)
但是,在子模块上执行git log并不会显示提交:
$ git log potatobase | grep 6877146
$
Run Code Online (Sandbox Code Playgroud)
如果我明确地检查了这个提交,它就在日志中:
$ git checkout 6877146
$ git log potatobase | grep 6877146
commit 6877146f1781bfbd4ec3ae2a27121a606f5f688e
Run Code Online (Sandbox Code Playgroud)
当我检查出master时,为什么这个提交没有显示在日志中?它已经合并为主人:
$ …Run Code Online (Sandbox Code Playgroud) 从一个或多个SCM(通过checkout()或其他SCM步骤如git/svn)检出时,是否可以访问有关Jenkins工作流作业的提交者和/或罪犯的信息?
目的是使用该信息来通知提交者和/或罪犯有关工作状态的信息,例如在一个mail步骤中.
工作流定义的一个小示例:
node {
// checkout from one or more SCMs, e.g.
git url: '<URL>'
checkout([$class:...])
...
// how can we know about committers or culprits at this point?
$committers = ??
// send a mail to committers or culprits
mail to: '$committers', subject: 'JENKINS', body: '<information about the job status>'
}
Run Code Online (Sandbox Code Playgroud)
在运行SCM步骤之后,如何调整它以获取提交者的集合?
编辑:我目前正在使用Jenkins版本1.596.2和Workflow:Aggregator版本1.6,这似乎是JENKINS-24141中的一个未解决的问题
这是一个简单的reST片段:
deleting this line causes all subheadings to be rendered as h1 tags
I should be an h1
=================
I should be an h2
-----------------
foo
I should also be an h2
----------------------
foo
Run Code Online (Sandbox Code Playgroud)
这是一个演示它的演示:
初始行:http
://rst.ninjs.org/?n = f = 66780d732a33c7844f350c240804d0没有初始行:http://rst.ninjs.org/?n = 550ea2c1b4233affdce1d158c5dc4d99
我正在使用以下Python渲染reST:
from docutils.core import publish_parts
parts = publish_parts(rest_content, writer_name="html")
html_snippet = parts['html_body']
Run Code Online (Sandbox Code Playgroud)
如何在<h2>没有初始线的情况下获得副标题(特别是标签)?是否在子标题上方提供了两级层次结构?天真地提供页眉没有帮助:http://rst.ninjs.org/?n = e874f6eaad17c8ae7fd565f9ecb2212b
如果我创建了一个虚拟包-这是/tmp/example_package/setup.py(请注意要求):
from distutils.core import setup
setup(name='my_project',
description="Just a test project",
version="1.0",
py_modules=['sample'],
install_requires=['requests > 0.12'])
Run Code Online (Sandbox Code Playgroud)
这是/tmp/example_package/sample.py:
import requests
def get_example():
return requests.get("http://www.example.com")
Run Code Online (Sandbox Code Playgroud)
现在,我创建一个virtualenv:
$ virtualenv /tmp/foobar --distribute -p python2.7
Running virtualenv with interpreter /usr/bin/python2.7
New python executable in /tmp/foobar/bin/python2.7
Also creating executable in /tmp/foobar/bin/python
Installing distribute.................................................................................................................................................................................................done.
Installing pip................done.
$ source /tmp/foobar/bin/activate
Run Code Online (Sandbox Code Playgroud)
我创建了一个有冲突的需求的requirements.pip:
# this requires requests > 0.12:
file:///tmp/example_package
# but this conflicts:
requests==0.9.0
Run Code Online (Sandbox Code Playgroud)
Pip高兴地安装了这个:
$ pip install -r requirements.pip [18:40:10]
Unpacking ./example_package
Running setup.py egg_info for package …Run Code Online (Sandbox Code Playgroud) 通常,我可以使用优秀的rx宏来创建可读的正则表达式,并确保我已经转义了正确的元字符.
(rx (any "A-Z")) ;; "[A-Z]"
Run Code Online (Sandbox Code Playgroud)
但是,我无法弄清楚如何创建害羞的群体,例如\(?:AB\).rx有时会在输出中产生它们:
(rx (or "ab" "bc")) ;; "\\(?:ab\\|bc\\)"
Run Code Online (Sandbox Code Playgroud)
但我想明确添加它们.我可以:
(rx (regexp "\\(?:AB\\)"))
Run Code Online (Sandbox Code Playgroud)
但这失败了rx.
在一个完美的世界里,我希望能够写下:
(rx (shy-group "A"))
Run Code Online (Sandbox Code Playgroud)
我会满足于这样的事情(这些都不起作用):
;; sadly, `regexp` only accepts literal strings
(rx (regexp (format "\\(?:%s\\)" (rx WHATEVER))))
;; also unfortunate, `eval` quotes the string it's given
(rx (eval (format "\\(?:%s\\)" (rx WHATEVER))))
Run Code Online (Sandbox Code Playgroud)
如何使用害羞组创建正则表达式rx?
我有很多简单的Django视图,如下所示:
@team_leader_required
def view_all_teams(request):
teams = Team.objects.all()
template_vars = {'toolbar': 'teams',
'teams': teams}
return render(request, "all_teams.html", template_vars)
Run Code Online (Sandbox Code Playgroud)
我最终写了很多关于表单的单元测试:
def test_view_all_teams_renders(self):
user = self.create_team_leader()
self.log_in(user)
response = self.client.get(reverse('all_teams'))
self.assertHttp200(response)
Run Code Online (Sandbox Code Playgroud)
尽管我有创建用户的便利方法(例如.create_team_leader)和各种便利断言(例如.assertHttp200),但我的测试中仍然存在大量重复.
(我的测试很简单,因为我看不到其他任何有用的断言这些视图 - TestCase.assertTemplateUsed如果你重命名模板就会中断,即使视图是正确的.)
很容易错过测试,这让我在重命名模板时没什么信心.有什么方法可以自动生成测试用例吗?像(伪代码):
for every view in urls:
if view doesn't take extra arguments:
test that view returns 200 when a logged in superuser does a GET
Run Code Online (Sandbox Code Playgroud)
编辑
这是我的urls.py中的代表性片段:
urlpatterns = patterns('',
url(r'^teams/$', 'teams.views.view_all_teams', name='all_teams'),
url(r'^teams/major/$', 'teams.views.view_major_teams', name='major_teams'),
url(r'^teams/minor/$', 'teams.views.view_minor_teams', name='minor_teams'),
url(r'^teams/(?P<team_id>\d+)/$', 'teams.views.view_team', name='view_team'),
url(r'^teams/(?P<team_id>\d+)/edit$', …Run Code Online (Sandbox Code Playgroud) 在Pharo,我知道整数理解这个信息to:.工作区提供建议:

但是,如果我从工作区检查一个整数,它没有提到to::

搜索SmallInteger也不会在系统浏览器中显示任何内容:

如何发现可以发送给对象的消息?理想情况下,我也希望看到他们的源代码.
鉴于以下Jenkinsfile:
@NonCPS
void touchFiles() {
sh "touch foo"
sh "touch bar"
}
node('general') {
touchFiles()
sh "ls"
}
Run Code Online (Sandbox Code Playgroud)
我在Jenkins的控制台日志中看到以下内容:
Running on box35 in /internal/slave/build/workspace/1499786637.EXAMPLE_test-repo_test_jenkinsfile
[Pipeline] {
[Pipeline] sh
[1499786637.EXAMPLE_test-repo_test_jenkinsfile] Running shell script
+ touch foo
[Pipeline] sh
[1499786637.EXAMPLE_test-repo_test_jenkinsfile] Running shell script
+ ls
foo
Run Code Online (Sandbox Code Playgroud)
请注意,“ bar”尚未创建。
为什么只在sh这里第一次运行?如何sh在Jenkinsfile中排除一系列调用?
(我知道我会写,sh "touch foo; touch bar"但是在更复杂的Jenkinsfiles中,有时需要单独的sh调用。)
这个问题与我的另一篇文章有关:为什么allocate_shared和make_shared这么慢
在这里,我可以更清楚地描述这个问题.
考虑以下代码:
struct A {
char data_[0x10000];
};
class C {
public:
C() : a_() { }
A a_;
};
int main() {
C c;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我发现代码中C() : a_(),编译器使用A memset(addr,0,0x10000)作为构造函数.如果类型A有一个空构造函数,则asm代码是正确的.
为了更清楚地描述问题,我写了一些测试代码:
#include <stdlib.h>
struct A {
//A() {}
char data_[0x10000];
void dummy() { // avoid optimize erase by compiler
data_[rand() % sizeof(data_)] = 1;
}
int dummy2() { // avoid optimize erase by compiler
return data_[0];
}
};
class B {
public:
template<class …Run Code Online (Sandbox Code Playgroud) 我希望[在Pharo 6中使用正则表达式进行匹配.
这很好用:
| matcher |
matcher := RxMatcher forString: '\['.
matcher matches: '['. "produces true"
Run Code Online (Sandbox Code Playgroud)
但是,我无法在内部看到如何做到这一点[].既不工作[[]也不[\[]工作.
我可以匹配收盘]罚款[]],但我无法弄清楚如何做到这一点[.
python ×3
jenkins ×2
pharo ×2
smalltalk ×2
c++ ×1
c++11 ×1
constructor ×1
django ×1
docutils ×1
elisp ×1
emacs ×1
git ×1
pip ×1
python-2.7 ×1
python-2.x ×1
reflection ×1
regex ×1
unit-testing ×1