windows下一个svn missing的灵异问题
在电脑上执行svn更新后,出现如图这么个错误。
重新检出后仍有这个错误。
linux下检出svn,查看有问题的目录。
Cdn
cdn
test
...
呃,知道原因了,windows下目录是不区分大小写的,Cdn和cdn两个文件夹被合并了,导致svn以为少了一个目录。
真是好灵异的问题呀,解决方法,在linux下删除其中一个目录提交,windows下重新更新即可。
在电脑上执行svn更新后,出现如图这么个错误。
重新检出后仍有这个错误。
linux下检出svn,查看有问题的目录。
Cdn
cdn
test
...
呃,知道原因了,windows下目录是不区分大小写的,Cdn和cdn两个文件夹被合并了,导致svn以为少了一个目录。
真是好灵异的问题呀,解决方法,在linux下删除其中一个目录提交,windows下重新更新即可。
之前一直只用过php,由于项目中需要python版的sdk,第一次上手写python。
期间遇到了一个函数参数的问题,整理记录一下。
php代码:
function test($a) {
$a = 'test2';
}
$a = 'test';
print_r($a);
// output test
test($a);
print_r($a);
// output test
python代码:
>>> def test(a):
a = 'test2'
>>> a = 'test'
>>> a
'test'
>>> test(a)
>>> a
'test'
>>>
php代码:
function test($a) {
$a['age'] = 10;
}
$a = array(
'name' => 'test'
);
print_r($a);
// output Array ( [name] => test )
test($a);
print_r($a);
// output Array ( [name] => test )
python代码:
>>> def test(a):
a['age'] = 10
>>> a = {'name': 'test'}
>>> a
{'name': 'test'}
>>> test(a)
>>> a
{'age': 10, 'name': 'test'}
>>>
由上可以看出,在php里,函数内部的变量不会影响到函数外部的变量。
而在python里,函数内部的变量可以影响到外部的变量。
还是先看几个测试:
>>> x=2
>>> id(2)
33488572
>>> id(x)
33488572
>>> x=3
>>> id(3)
33488560
>>> id(x)
33488560
>>>
在Python中,单一元素的对象是不允许更改的,比如整型数据、字符串、浮点数等。
x=3这句的执行过程并不是先获取x原来指向的对象的地址,再把内存中的值更改为3,而是新申请一段内存来存储对象3,再让x去指向对象3,所以两次id(x)的值不同。
>>> x=[1,2,3]
>>> id(x)
31470656
>>> x[0]=5
>>> id(x)
31470656
>>>
在Python中,复杂元素的对象是允许更改的,比如列表、字典、元组等。
对于列表,其id()值返回的是列表第一个子元素x[0]的存储地址。x[0]=5只是让L[0]重新指向了对象5,而x[0]本身的存储地址并没有发生改变,所以id(x)的值没有改变。
在Python中一切皆对象,变量中存放的是对象的引用。
参考资料:
http://www.cnblogs.com/dolphin0520/archive/2013/03/15/2959602.html
shell脚本test.sh代码:
#!/bin/sh
# 查看test目录下的文件列表
ll /test
执行报错:
test.sh: line 3: ll: command not found
解决方法:
#!/bin/sh
# 查看test目录下的文件列表
ls -l /test
项目开发中,遇到需要在PHP里用exec执行svn命令,需要知道执行后的结果。
代码如下:
$return = exec("svn import -m 'add file' 1.txt http://xxxxx/1.txt");
var_dump($return);
执行结果如下:
svn: 路径 “http://xxxxx/1.txt” 已经存在
string(0) ""
可以看到return变量为空,svn命令的输出并没有给到return变量上。
查了下手册exec的说明,修改代码如下:
exec("svn import -m 'add file' 1.txt http://xxxxx/1.txt", $return);
var_dump($return);
执行结果如下:
svn: 路径 “http://xxxxx/1.txt” 已经存在
array(0) {
}
好奇怪,return还是空的。
搜索了一番,正确的代码应该是:
exec("svn import -m 'add file' 1.txt http://xxxxx/1.txt 2>&1", $return);
var_dump($return);
执行结果如下:
array(1) {
[0]=>
string(88) "svn: 路径 “http://10.182.23.34:53021/1251100188/xxx/xxxxxx/test3.txt” 已经存在"
}
表记录如下:
key | id | value |
---|---|---|
1 | 1 | 1 |
2 | 1 | 2 |
3 | 2 | 1 |
4 | 2 | 1 |
5 | 3 | 0 |
想要查询value有多个值的所有id记录,如id=1,value有1/2两种值。
sql命令:
select id, count(*), sum(value) from items group by id having sum(value) mod count(*) > 0 limit 10;