命令行下直接svn,提示未安装 ,并且给出安装方法。sudo apt-get install subversion
执行命令安装完成后,svn help查看帮助。
linux系统的使用还是很简单的,根据提示操作很方便。
以下摘自sae的svn教程:
1. 从SVN仓库中检索出代码到工作拷贝:
# svn checkout https://svn.sinaapp.com/appname [workcopy]
其中workcopy是可选的,如果不写workcopy,SVN会默认将appname做为workcopy。
如果只检索某个版本:
# svn checkout https://svn.sinaapp.com/appname/appversion [workcopy]
只检索某个版本的某个目录:
# svn checkout https://svn.sinaapp.com/appname/appversion/folder [workcopy]
2. 向SVN仓库提交代码:
# svn commit -m "here is message"
3. 将本地文件添加到工作拷贝:
# svn add something
注:如果something为文件,svn会将这个文件添加到工作拷贝;如果something是目录,svn会将目录及里面的文件全添加到工作拷贝。something也可以是通配符*,这样会忽略已经添加过的文件。
4. 从工作拷贝中删除一个文件:
# svn delete something
注:如果something为文件,svn会将这个文件从工作拷贝中删除;如果something是目录,svn会将目录及里面的文件全部从工作拷贝中删除。
5. 直接从SVN仓库中删除文件:
# svn delete -m "delete something" https://svn.sinaapp.com/appname/appversion/something
注:可以从SVN仓库中直接删除单个文件或单个目录甚至某个版本。
6. 将一个本地项目导入到SVN仓库:
导入应用的某个版本:
# svn import localdir https://svn.sinaapp.com/appname/appversion
注:要确保目前应用的appversion不冲突。
7. 查看工作拷贝中的文件或目录状态:
# svn status [something]
8. 更新自己的工作拷贝:
# svn update
注:从SVN仓库下载最新版本,此命令会导致本地没有提交的更改丢失,建议使用此命令前先查看一下本地拷贝状态(svn status)。
9. 取消对代码修改
取消对代码的修改分为两种情况。
第一种情况:改动没有被提交(commit)。
这种情况下,使用svn revert就能取消之前的修改。
svn revert用法如下:
# svn revert [-R] something
其中something可以是(目录或文件的)相对路径也可以是绝对路径。
当something为单个文件时,直接svn revert something就行了;当something为目录时,需要加上参数-R(Recursive,递归),否则只会将something这个目录的改动。
在这种情况下也可以使用svn update命令来取消对之前的修改,但不建议使用。因为svn update会去连接仓库服务器,耗费时间。
注意:svn revert本身有固有的危险,因为它的目的是放弃未提交的修改。一旦你选择了恢复,Subversion没有方法找回未提交的修改。
第二种情况:改动已经被提交(commit)。这种情况下,用svn merge命令来进行回滚。
回滚的操作过程如下:
1). 保证我们拿到的是最新代码:
svn update
假设最新版本号是28。
2). 然后找出要回滚的确切版本号:
svn log [something]
假设根据svn log日志查出要回滚的版本号是25,此处的something可以是文件、目录或整个项目
如果想要更详细的了解情况,可以使用svn diff -r 28:25 [something]
3). 回滚到版本号25:
svn merge -r 28:25 something
为了保险起见,再次确认回滚的结果:
svn diff [something]
发现正确无误,提交。
4). 提交回滚:
svn commit -m "Revert revision from r28 to r25,because of ..."
提交后版本变成了29。
将以上操作总结为三条如下:
a. svn update,svn log,找到最新版本(latest revision)
b. 找到自己想要回滚的版本号(rollbak revision)
c. 用svn merge来回滚: svn merge -r : something
10. 查看SVN仓库日志信息:
# svn log [workcopy]
查看所有本地的历史日志,如果workcopy为某文件,那么就是查看某个文件的日志信息。
查看SVN仓库所有文件的日志信息:
# svn log https://svn.sinaapp.com/appname/
这个命令会查看所有修改过的日志。
注:SAE提供的SVN服务完全支持标准SVN的所有命令,更详细的使用说明请查阅SVN官方帮助文档。
SVN命令帮助文档:http://www.subversion.org.cn/svnbook/1.4/svn.ref.html
中文完全帮助文档:http://svnbook.red-bean.com/index.zh.html
Read more...
tortoisehg下载bitbucket源码
为了学习web.py,下载simple-todo,但是需要工具。又研究了一下。使用比较简单,右键--clone--简单配置下就好。
下载地址:http://tortoisehg.bitbucket.org/
[caption id="attachment_408" align="alignnone" width="300" caption="tortoisehg"][/caption]
Read more...
web.py安装学习之hello world。
学习什么也离不开这个hello world,T_T,
1、下载webpy-webpy-webpy-0.36-63-gc7dcc24.tar.gz,解压,Python setup.py install。安装完毕
2、 编写a.py。内容如下:
Read more...
import web
urls = ("/.*", "hello")
app = web.application(urls, globals())
class hello:
def GET(self):
return 'Hello, world!'
if __name__ == "__main__":
app.run()
3、运行,python a.py,访问http://127.0.0.1:8080/。上面写的0.0.0.0,有木有,难道是特意的。显示无法连接,当时差点晕了,(现在反应迟钝,经不起吓)。
在命令行的 code.py 后加参数 "IP 地址:端口" 来控制 web 服务器的监听范围
附上学习文档http://webpy.org/cookbook/
又要为微博写个应用,准备学习web.py
django还没出师,有想学web.py了。
有这么几个原因:
想把应用放到 sae,django版本太低,但是官方可以安装其他版本。现在在家,真心不愿意在windows下捣鼓了,太他妈多事了。
第二,django应用太多,太复杂。我只写一个简单微博应用,不需要那么完整复杂的功能。听说web.py很简洁,学习一下吧,也好见解一下各个的优势,像大牛自己写一个框架T_T。
第三,接触越多越好,以后说不定就用到了。
好吧,开始了。今天下午种花生,累屎鸟,反应迟钝了。
Read more...
用python写了一个百度贴吧的删帖器
几天前的事了,断断续续也写了几天。用了wxpython写的界面,在ubuntu下写的,在xp下编译成功,win7测试成功。
为防止工具乱用,只支持一个贴吧。代码很多是参考别人的写法,省去了自己阅读javascript的时间,所以总体比较简单,借机大体学习了wxpython,很强大,就是用py2exe编译出来的文件太大了。可能是自己没有优化吧。
现在写程序发现总是调用别人写的代码,神马时候能有水平写个接口让别人用一下T_T..
Read more...
wxpython checklistbox的使用
官网文档:http://www.wxpython.org/docs/api/wx.CheckListBox-class.html
主要用到一个GetChecked(self)
Return a tuple of integers corresponding to the checked items in the control, based on IsChecked.
Read more...
#获取选择的列表,返回一个元组
select_list = self.clb.GetChecked()
for i in range(len(select_list)):
#print select_list[i],'...'
del_url = TIEBA_URL + self.URLList[select_list[i]]
#print self.sampleList[select_list[i]]
django 前端代码的自定义
今天django群里的一个程序员问:“django的类试图,虽然代码更为简洁,但是是不是前端的可以定制性也降低了呢?”
不懂神马是类视图,不过只要制定,我就想到自己,从学习django到现在前端是肿么做的。
开始的时候就想用twitter bootstrap整前端,这样方便的多,但问题很明显,与django的前端显示代码不容易整合,特别是forms。因为开始时我只会用{{ form.as_table }}等,后来看了官网的forms的定制。
有了定制,基本的问题都解决了,但是还是有不方便的。像我把admin里的时间插件移动到了前端。这个我没有办法正好,不过我测试过了,用{{from}}在浏览器直接生成的代码放到template里,就管用。哈哈,这次可以方便的使用了。
不过这样的坏处也很明显,以后的维护会很麻烦。
与群里的说的也是这样,不知道对他有没有帮助。他还说还有一个函数视图,这个标记,以后搜索看看什么意思。
Read more...
django发送json数据并格式化datetime时间数据风波二
有点无语哇,没有基础直接“跑”就是这种结果。前面写的一篇《django发送json数据并格式化datetime时间数据》,今天晚上用ie8突然发现哇T_T,Date没转换过来,急哭了。原因是前面测试很长时间是在ubuntu下做的,这次回家了,用的windows。发现测试很重要。
正题:是转换的日期字符串格式不正确。开始群里告诉我是浏览器的原因,还真找到几篇文章,但发现没用。重新搜索javascript 的Date参数格式,挨个在两个浏览器里的控制台测试,终于找到了。。。T_T泪奔~
再次搜索python strftime 格式化,修改。测试。通过了~\(≧▽≦)/~
记录:
几种datetime格式,测试了第一个,并使用:
Read more...
var someDate=new Date("Month dd,yyyy hh:mm:ss");
var someDate=new Date("Month dd,yyyy")
var someDate=new Date(yy,mm,dd,hh,mm,ss)
var someDate=new Date(GMT milliseconds from 1/1/1970)
strftime 格式化记录,防止再次搜索:
%a 星期几的简写 Weekday name, abbr.
%A 星期几的全称 Weekday name, full
%b 月分的简写 Month name, abbr.
%B 月份的全称 Month name, full
%c 标准的日期的时间串 Complete date and time representation
%d 十进制表示的每月的第几天 Day of the month
%H 24小时制的小时 Hour (24-hour clock)
%I 12小时制的小时 Hour (12-hour clock)
%j 十进制表示的每年的第几天 Day of the year
%m 十进制表示的月份 Month number
%M 十时制表示的分钟数 Minute number
%S 十进制的秒数 Second number
%U 第年的第几周,把星期日做为第一天(值从0到53)Week number (Sunday first weekday)
%w 十进制表示的星期几(值从0到6,星期天为0)weekday number
%W 每年的第几周,把星期一做为第一天(值从0到53) Week number (Monday first weekday)
%x 标准的日期串 Complete date representation (e.g. 13/01/08)
%X 标准的时间串 Complete time representation (e.g. 17:02:10)
%y 不带世纪的十进制年份(值从0到99)Year number within century
%Y 带世纪部分的十制年份 Year number
%z,%Z 时区名称,如果不能得到时区名称则返回空字符。Name of time zone
%% 百分号
django中的filter查询含有列表中的值
正确查询语句:
articles_list = Articles.objects.filter(group__in= group_list).order_by('-id')[0:16]
group_list是一个group对象列表。开始,用的下面这个查询语句:
articles_list = Articles.objects.filter(group in group_list).order_by('-id')[0:16]
发现不行,然后想用for循环,然后将QuerySet进行合并。搜索没有找到好用的方法进行QuerySet的合并。
查看官方文档,Django QuerySet API 帮助文档:https://docs.djangoproject.com/en/1.3/ref/models/querysets/
发现正确方法。其实可以想到,像gt,lt等的用法可以想象到in的用法。
Read more...
简短总结之招聘哼哼哈嘿
这几天继续网吧蹭网,碰到的问题也解决掉了,到现在为止就剩下图片的大小和显示了。这几天中有时间我浏览了一下国内外各个it公司的实习生招聘信息。不爽哇,其中有很多根本不会在二流学校招人,更不用说我这样的不入流的学校了。不过,我打算还是试试,不行再说。
在浏览当中我感觉豆瓣很不错,看了那个豆瓣招聘的小站,莫名的就动心了^_^。
嗯 目标远大,需要继续努力。学习新知识、上课、英语、never give up!!
Read more...