2007/05 8
操作系统
|-- Ubuntu
|-- Windows

编辑器
|--Eclipse 这是我最爱的编辑器。完全集成php环境的发布包可以在EasyEclipse上找到。由于Eclipse优秀的可扩展性,基于Eclipse还使用到了
    |-- phpEclipse
    |-- subclipse
    |-- JSEclipse
|--Dreamweaver: 大概有一年多没有使用了,不过还是可以推荐一下。以及说明一个彩蛋,Dreamweaver的HTML代码缩进功能:保存混乱的html代码页面,用浏览器打开,全选,复制,然后在DreamWeaver的视图中粘贴。再看你的HTML代码视图。一切完好。不过在含有smarty代码的文件中可能会有些损失。

文本比较工具
|-- UltraCompare for Windows

浏览器
|-- Firefox 最爱的浏览器。和Eclipse一样,也是具有高度可扩展的。我常说,Firefox要是不装插件,那就是一坨。。。插件集包括:
     |--Firebug
    |--Google Toolbar
    |-- IE tab (for Windows)
    |-- Super DragAndGo
    |-- Web Developer
    |-- DownThemAll
    |-- clipmarks
|-- IE: 只在上银行网站会用一下。即便是用,也是在firefox中通过IE Tab使用。顺便强烈鄙视一下所有的不支持Firefox的银行网站。

PHP开发工具包
|-- simpleTest
|-- Smarty

JS开发工具包
|-- Prototype

JS 代码美化格式化工具
|-- JavaScript Code Improver

MySQL数据库UI
|-- SQLyog for Windows
|-- MySQL Query Browser for Linux

数据库设计软件
|-- MySQL Workbench

UML编辑器
|-- Poseidon for UML

播放器
|-- xmms for Linux
|-- 千千静听 for Windows

FTP工具
|-- FlashFXP for Windows
|-- Filezilla for Linux && Windows

远程登录工具
|-- PuTTY
|-- SecureCRT

IM
|-- Gaim Gtalk for Linux
|-- Gtalk for Windows
|-- 飘云TM for Windows 目前已经让QQ下岗了,基本不上了
|-- LumaQQ for Linux

字典
|-- StarDic for Linux
|-- 金山词霸 for Windows

输入法
|-- 搜狗拼音输入法 for Windows
|-- SCIM for Linux

线上应用
|-- 搜索 Google
|-- 主页 iGoogle
|-- 邮箱 Gmail
|-- 书签 Google bookmark
|-- RSS Google Reader
|-- 网站流量统计: Google Analytics
|-- Blog: s9y #1
|-- Wiki: MediaWiki #1
|-- CMS Drupal #1 #2
|-- Photo: Flickr && Pisaca
Defined tags for this entry: , ,

Posted by rollenc

Last modified on 2008-02-13 18:13
2007/04 13
经过一周的纯正PHP5环境下的工作,我确定了自己现在的事情:
把现有的环境当成试验场。
前一阵学习了不少的重构,设计模式等只是,但是,以前的开发一直要考虑PHP4的兼容性,故而在编码上看起来不伦不类的。受到语言限制,也有诸多的模式实现起来非常困难或者诡异。现在我可以大胆的进行完整的OOP。
把所有沉睡的知识召唤醒来吧!
UML,OOP,PHP5,Design patterns,Refactoring...
Defined tags for this entry: , , ,

Posted by rollenc

Last modified on 2007-04-17 12:12
2007/03 11

Error-Handing Techniques

  • 返回中立值 如:数值返回0
  • 换用下一个正确的数据
  • 返回与前次相同的数据
  • 换用最接近的合法值 如经度设置为(-180,180)之间
  • 把警告信息记录到日志文件中 兼用以上的处理,同时记录它。
  • 返回一个错误码
    • 设置一个状态变量的值(个人不推荐)
    • 用状态值作为函数的返回值
    • 用语言内建的异常机制跑出一个异常
  • 调用错误处理子程序活对象 优点:能把错误处理的职责都集中到一起。代价:错误处理代码与整个程序紧密耦合。
  • 当错误发生时显示出错信息 出错信息散布于整个应用程序中。
  • 用最妥当的方式在局部处理错误 留给执行设计和实现的程序员来解决,灵活性强,但整体正确性和可靠性无法满足,风险显著
  • 关闭程序 用于人身攸关的应用程序
知识来源:《代码大全2》
Defined tags for this entry: ,

Posted by rollenc

Last modified on 2007-03-11 20:40
2007/02 11
够崩溃,她竟然需要解压5张盘!
装了半途,告诉我错误,openoffice依赖关系不正确。退出,重起。
发现grub没有都没有设置好。重新修复安装,搞定。
默认进入终端,发现需要密码,但是我在安装过程中根本没有输入过。
修改grub,使用单用户模式进入,修改root的密码,再重启,搞定。
但是一直是在非图形界面,使用startx可以进入一个很别扭的图形,使用gdm可以进入gnome
不过密码我一贯设置六个数字,但单纯六个数字的密码是登陆不了图形gnome的,只有把密码设置的复杂一点才能正常登陆。

没有仔细去玩了,把机子封存了,明年再说,不过从今天的安装来将,opensuse真的让我失望了。
Defined tags for this entry: ,

Posted by rollenc

Last modified on 2007-02-12 15:00
2007/01 31
几经周折,以重装gdm,xserver等组件N遍为代价,终于把ubuntu的分辨率设置成了1440x900。
这一次是直接kde环境下使用系统管理,进入显示器设置-》管理员模式-》自动检测显示器-》测试-》调整分辨率-》重启X搞定的。
在gnome里面收订修改xorg.conf无数遍,终究放弃。
Defined tags for this entry: ,

Posted by rollenc

Not modified
2007/01 29
上周六参加了PHPChina上海的活动,上台简单的介绍了一下EEmap开发过程中的subversion历程,也就是前两天写的EEmap的subversion历程。接下来讨论了点关于各种管理的问题,包括bug管理,项目管理工具等。不过很不好意思的,有些事情提前离开了。
感谢PHPChinaShopEx提供给我们PHPer这种交流机会和平台。在时间容许的情况下,我会一直关注的。
把几张图片也‘劫’下来,贴一个:




原文:PEA上海(第六期)活动总结
Defined tags for this entry: ,

Posted by rollenc

Last modified on 2007-03-11 13:44
2007/01 26

1。混乱状态。



没有管理。
交流方式
通过相互的文件共享来达到代码交流的目的。
问题:无法立刻获取协作者间的代码。
不能同时对相同文件进行编辑。
代码覆盖的冲突经常发生,且不可还原


2。简单管理。



建立svn,使用文件服务器来简单的管理单一项目。
版本截图:100
rep100

解决了状态1下的各种代码交流问题。现在的交流模式方式如下图所示:

程序员中存在的错误观点:但是在刚开始使用时,很多人没有意识到meger的作用,不敢update,生怕update之后自己所修改的代码就没有了。

问题:没办法维护两个不同的版本。
由于项目的发展,第一个beta版本放出,而我们开始进行下一个版本的开发,而我个人也希望对一些代码进行整理。我初始使用了建立大量的其他文件,比如index2.php作为新版,而保持原有的index.php不变。
1。新的不能改动原有文件,因为新版还不完整,将导致错误;
2。原有文件中的bug修正可能在新的版本中同样需要,而我常常忘记把改动复制到新版。
陷入文件和版本的混乱,增加了对文件控制的复杂度。
截图rep1530
rep1530

3。subversion目录重新建构
开始使用分支:
个人分支:
我开始在建立rolelnc的个人分支,在自己的目录下进行新的开发,而不影响整个以前的版本。
而对主干只进行bug的修复
我可以随时使用meger命名来将主干的bug修复合并到我自己开发的分支上。
待我个人开发的新的功能完成时,我再使用meger命名把我的分支合并到主干上。
开发完毕之后,我可以再使用meger把我的修改合并到主干上。
流程:

截图1700


版本分支:
与个人分支相似,不过是多人对这一个分支进行开发,或者仅仅是一个版本的存档。不过后期我看到的资料显示,在tags目录下建立版本分支,如 http://192.168.0.2/svn/tags/version0.9/

4。目前的状态 截图head resp 3788


注:为了减少图片大小而展示更多的内容,以上部分图片经过了Fireworks处理。
Defined tags for this entry: ,

Posted by rollenc

Last modified on 2007-01-29 21:22
2007/01 16

Subversion 1.2(最终版)




来源:Subversion中文站
这个站有很多关于subversion的文章。建议大家去看看。
我很感谢这个站,subversion的手册翻译的很好。我的subversion第一堂课使用的就是这个。
Defined tags for this entry: ,

Posted by rollenc

Last modified on 2007-01-28 15:48
2007/01 15
很多人开始使用subversion之后,就想着,要建立一个测试用的服务器,不需要把文件update到本地再进行测试。这个在我以前的一篇文章中写过,但当时理解也不深,也写得很含糊。现在连自己都看不懂了。

原理: 基于subversion的钩子,即hook。在subversion执行一个操作时,那会相应的首先去调用相关的钩子程序(如果存在的话)。那么实现一个同步的测试服务器,我们只需要在一个用户执行完毕一个commit操作之后,让钩子程序去自动更新测试服务器的文件即可。通过这个思路,我们需要作的就是建立一个post-commit的钩子。

钩子文件在你的svn源目录下,即存放subversion版本数据的文件夹。以前面我写的两篇文章中的情况为例,
文一(win)的钩子文件应该在 E:\svn2\hooks
文二(Linux)的钩子文件应该在 /var/svn/hooks
文件夹内已经存在有一些.tmpl文件,这些只是一些模板(TeMPLate)或者说是示例文件。它们不会被执行。


先以linux为例,来讲讲如何构建一个同步的测试服务器127.0.0.2(在Ubuntu 6.10, apache2.0.55,subversion1.3.1下调试通过。2007/1/18)
我们假设你已经建立好了一个apache+subversion的环境。
0.准备工作
为同步服务器建立访问subversion版本的权限,清参考以前的文章
sudo htpasswd2 /etc/apache2/dav_svn.passwd server

1. 使用checkout建立一个工作复本
cd /var/www
sudo mkdir /var/www/127.0.0.2 #建立测试服务器站点根目录
sudo chown www-data.www-data 127.0.0.2 #更改用户所有者
sudo su www-data #切换到www-data,需要使用sudo,因为超级权限可以使用任何用户,而不需要密码,执行后会发现命令提示符可能会有变化
svn checkout http://127.0.0.10/lab.luochunhui.com/trunk 127.0.0.2  #取出subversion上的文件,可能需要密码
                                                                                  # 请保证执行checkout语句的用户是www-data,否则在以后钩子调用update时会出现无法创建或修改文件的错误
exit #退出www-data用户

说明:我们必须把/var/www/127.0.0.2目录的所有者设置成apache的运行者(www-data), 他必须对文件夹具有完全的可读写操作权限。我使用
sudo chown www-data www
sudo su www-data

这样的方式来避免把/var/www/127.0.0.2目录设置成777的权限。
另外可以执行下面的代码实现相同的功能:
cd /var/www
sudo mkdir /var/www/127.0.0.2 #建立测试服务器站点根目录
sudo svn checkout http://127.0.0.10/lab.luochunhui.com/trunk 127.0.0.2 #取出subversion上的文件,可能需要密码
sudo chown -R www-data.www-data 127.0.0.2/ #把文件用户修改成apache的执行用户

之后使用

ls -Al 127.0.0.2


应该可以得到

drwxr-xr-x 7 www-data www-data 4096 2007-01-17 10:21 .svn
...一些其他的文件


2。设置apache,把你需要的域名指向这个文件夹。
sudo gedit /etc/apache2/sites-available/127.0.0.2

输入以下文字

        ServerAdmin rollenc@localhost.com
        ServerName localhost
        DocumentRoot /var/www/127.0.0.2
	
	Options FollowSymLinks
	AllowOverride None
	
	
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		Order allow,deny
		allow from all
		# Uncomment this directive is you want to see apache2's
		# default start page (in /apache2-default) when you go to /
		#RedirectMatch ^/$ /apache2-default/
	

	ErrorLog /var/log/apache2/127.0.0.2_error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog /var/log/apache2/127.0.0.2_access.log combined
	ServerSignature On


启用他
sudo ln -s /etc/apache2/sites-available/127.0.0.2 /etc/apache2/sites-enabled/127.0.0.2

重启apache。
sudo apache2 -k restart

在浏览器上使用http://127.0.0.2可以浏览到你subversion上最新版本

3。建立钩子
现在是关键的一步,我们需要使我门的测试服务器127.0.0.2进行同步更新:
在/var/svn/hooks/目录下建立post-commit文件
cd /var/svn/hooks/
sudo gedit post-commit

输入以下内容
#!/bin/sh
REPOS="$1"
REV="$2"
svn update /var/www/127.0.0.2 --username server --password serverpassword
#echo `whoami`,$REPOS,$REV >> /home/rollenc/svn_hook_var.txt
#svn update /var/www/127.0.0.2 --username server --password serverpassword 2>/home/rollenc/svn_hook_log.txt

说明:REPOS即第一个变量$1是subversion数据库的地址,REV即第二的变量$2是commit之后的版本号。
编辑完毕后设置文件权限为可执行:
sudo chmod 755 post-commit

搞定。
下面来试一下,同步有没有成功。
再建立一个工作副本,然后添加或者修改一些东西,最后上传。
以下的操作是在客户端中进行了,不需要在服务器断进行。
cd /var/www
svn checkout http://127.0.0.10/lab.luochunhui.com/trunk 127.0.0.6 #取出subversion上的文件作为你的工作副本,你的工作以后就在这个文件夹内展开。
                                        #所以,不需要sudo,但要保证有127.0.0.6文件夹存在,而且可写
echo '' > phpinfo.php #建立一个phpinfo文件
svn add phpinfo.php   #把phpinfo加入版本库
svn commit  #提交

在浏览器中你设定的同步服务器地址http://127.0.0.2/phpinfo.php,愿上帝保佑你的成果一切正常。可以看到phpinfo的信息。

如果不正常你可以稍微修改上面使用#注释掉的命名,使其输出的文件目录符合你的系统。
去掉#,重新运行,并通过查看上面设置的txt来获得一些信息。
第一句[#echo ...]是获取当前的执行用户(如果正常应该与apache的执行用户和测试服务器文件所有者相同),$REPOS,$REV是获得的两个参数
第二句[#svn...]是把update的获取update的结果,一般错误信息在这里可以得到。


在Windows下我使用同样的方法试图建立钩子,但没有成功。感谢水蓝色青蛙(QQ:565259)的帮助,windows下的钩子问题解决。
以下是方法和代码,在windows XP下测试成功。
1,2步很类似,不再重复了
经过1,2步的操作之后,DIR的值E:/htddocs/testserver.lab.luochunhui.com 为测试服务器的根目录。如果是win2003,你可能还需要参照ubuntu的方法设置一些权限。
第三步的中的钩子程序名称需要改为:post-commit.bat写成如下:
@echo off
SET REPOS=%1
SET USER=%2
SET SVN="D:/subversion/bin/svn.exe"
SET DIR="E:/htddocs/testserver.lab.luochunhui.com"
(call %SVN% update %DIR% --username server --password serverpassword --non-interactive)


-------------以下内容已删除-----------
SET REPOS=%1
SET REV=%2
SET svn="D:/subversion/bin/svn.exe"
SET DIR="E:/htdocs/testserver.lab.luochunhui.com"
%svn% update %DIR%

按理说,和linux的执行是一样的,但就是出错。
如commit一个test文件,则显示错误信息为:

Modified: E:\htdocs\testcopy\test.php
Sending content: E:\htdocs\testcopy\test.php
Error: Commit failed (details follow):
Error: MERGE request failed on '/lab.luochunhui.com/trunk'
Error: MERGE of '/lab.luochunhui.com/trunk': 200 OK (http://127.0.0.10)

而此时,test.php已经commit成功,在subversion数据库中已经存在有本次记录,但E:\htdocs\testcopy工作复本还是显示为没有commit。需要同步的E:/htdocs/testserver.lab.luochunhui.com也没有update。

我个人压根不懂windows下的编程,以上代码是边google边学来的。所以还是希望有达人帮忙,好让我完成这篇blog,我也好给大家一个完整的交待。

最终参考了一些文档,还是没能解决win下的问题,我把测试和输出结果放下面:
@echo off
echo "" >  E:/hookLog.txt
echo "1" >> E:/hookLog.txt
SET REPOS=%1
echo "2" >> E:/hookLog.txt
SET USER=%2
echo "3" >> E:/hookLog.txt
echo %REPOS%, %USER% >> E:/hookLog.txt
SET SVN="D:/subversion/bin/svn.exe"
echo "4" >> E:/hookLog.txt
SET DIR="E:/htdocs/testserver.lab.luochunhui.com"
echo "5" >> E:/hookLog.txt
REM call %SVN% update %DIR% >> E:/hookLog.txt
REM SET PATH=D:/subversion/bin/
REM svn update "E:/htdocs/testserver.lab.luochunhui.com" >> E:/hookLog.txt
(call %SVN% update "E:/htdocs/testserver.lab.luochunhui.com") >> E:/hookLog.txt
echo "6" >> E:/hookLog.txt

REM是注释,REM掉了我使用的很多种测试,切换REM可以运行其它的一些测试,但是全部无效。
以下是上面代码的输出:
"" 
"1" 
"2" 
"3" 
E:/svn2, 54 
"4" 
"5" 
"6" 

1-6全部正常输出,惟一的是 svn update这一句没有输出任何东西。
完全放弃!等待达人。。。。
------------以上内容已删除-----------------



有问题也欢迎在下面贴出,乐意帮忙:)
Defined tags for this entry: ,

Posted by rollenc

Last modified on 2007-02-04 22:52
2007/01 15
1。安装subversion和apache2的组件(已经认为您已经安装了apache2),

 sudo apt-get install subversion subversion-tools  libapache2-svn



在/etc/apache2/mods-enabled中会多出来一下几个链接文件(实际文件在mods-available中,我们不需要去管,只需要关注enabled目录就成):

dav_fs.load dav_svn.conf dav_fs.conf dav.load dav_svn.load


2。建立svn数据库
sudo svnadmin create /var/svn 


ls /var/svn

你将得到这样的结果,则说明建立成功
conf dav db format hooks locks README.txt


3。配置apache
cd /etc/apache2/mods-enabled
sudo vi dav_svn.conf



按照提示去掉一些文件注释,最终的文件看起来如下
# dav_svn.conf - Example Subversion/Apache configuration
#
# For details and further options see the Apache user manual and
# the Subversion book.

#  ... 
# URL controls how the repository appears to the outside world.
# In this example clients access the repository as http://hostname/svn/


  # Uncomment this to enable the repository,
    DAV svn

  # Set this to the path to your repository
    SVNPath /var/svn

  # The following allows for basic http authentication.  Basic authentication
  # should not be considered secure for any particularly rigorous definition of
  # secure.

  # to create a passwd file
  # # rm -f /etc/apache2/dav_svn.passwd
  # # htpasswd2 -c /etc/apache2/dav_svn.passwd dwhedon
  # New password:
  # Re-type new password:
  # Adding password for user dwhedon
  # #

  # Uncomment the following 3 lines to enable Basic Authentication
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /etc/apache2/dav_svn.passwd

  # Uncomment the following line to enable Authz Authentication
  # AuthzSVNAccessFile /etc/apache2/dav_svn.authz

  # The following three lines allow anonymous read, but make
  # committers authenticate themselves.

  
    Require valid-user
  




或者象这样来实现独立的域名情况:

        ServerName svn.luochunhui.com
        DocumentRoot /var/svn

      
                DAV svn
                SVNPath /var/svn
                AuthType Basic
                AuthName "Subversion Repository"
                AuthUserFile /etc/apache2/dav_svn.passwd
                
                        Require valid-user
                
        




4。建立密码文件
建立第一个用户需要加-c参数

sudo htpasswd2 -c /etc/apache2/dav_svn.passwd username


输入两次密码
建立其他用户:

sudo htpasswd2 /etc/apache2/dav_svn.passwd username2


注意没有加-c,加-c的话会清除掉以前存在的密码。
如果username2为已存在用户,那这句命令的意义就是修改密码

5.重启apache

sudo apache2 -k restart


如果一切正常的话,使用浏览器打开http://127.0.0.1/svn 应该看到如下信息
Revision 0: /
Powered by Subversion version 1.3.1 (r19032).


OK,安装完成
你可以对他进行一些import,commit等操作了

导入版本的文件框架
mkdir -p tmp/lab.luochunhui.com/trunk tmp/eemap/trunk #如果你有其他已经写好的需要一起导入的文件,cp过来让在相应的trunk目录下,然后下一步。
svn import tmp http://127.0.0.10/ #更具提示输入message信息和用户,密码。

我在实验时发现有权限问题,这是你可能需要修改/var/svn的权限为可读写
sudo chmod -R 777 /var/svn

然后再继续执行上面的import操作。
现在使用浏览器打开http://127.0.0.10,可以得到

Revision 1: /

* eemap/
* lab.luochunhui.com/


继续checkout和commit吧,祝你有一个愉快的subversion。
Defined tags for this entry: , ,

Posted by rollenc

Last modified on 2010-04-20 14:51
2007/01 15
上次参加php上海策进会的聚会,去的早了点,被h058拉着狂捧,结果就被忽悠着答应下次聚会的一个subversion讲演。
聚会的日期有定下来了,本月的27号。现在也得好好准备一下了。
虽然blog上已经稍稍的写了点subversion的东西,但是很基础的。高级的东西自己也是仅在使用而已,没有进行很深入的研究。如果被追根寻底的一问,绝对玩完。
哎,到时真的要插根葱在鼻子上才敢登台了。
Defined tags for this entry: , ,

Posted by rollenc

Last modified on 2007-01-18 12:49
2007/01 6
安装Subversion
1.安装ApacheSubversion
版本:
apache2.0.59: 我安装在D:/apache2
subversion 1.4.2: 我安装在D:/Subversion/
注意:subversion暂不能在apache2.2上运行
下载两个文件,先安装apache,在安装subversion,一路下一步就行,没什么好说的。惟一说明是在安装subversion时选择附加步骤时需要选中 install and configure apache(默认是选中的,没有注意到也没关系)。贴图如下:
图subversion_install.png
subversion install

安装完成后,apache配置文件http.conf中自动加入了两行:
LoadModule dav_svn_module "D:/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "D:/Subversion/bin/mod_authz_svn.so"


2.安装TortoiseSVN
版本:
TortoiseSVN-1.4.1.7992-win32-svn-1.4.2.msi我安装在D:/TortoiseSVN
一路下一步就成,安装完成时提示重启,重启只是影响外观,对使用不造成任何影响,所以暂时不管,选No。你也可以选择重新启动explorer.exe进程来完成。

3.建立repository
建立文件夹,我选择在E:/svn2,(因为现在是重新安装演示,E:/svn有我原有数据,所以,建立一个空的svn2)
右键,在E:/svn2建立一个repository
图subversion_createrepository.png,

这时弹出一个subversion存储类型的选择框,只是使用的话,两种类型可以随便选,选择FSFS。选择后安装完成。

图subversion createrepositoryOK.png,

4.配置apache
在第一步subversion安装时自动插入的两行一下插入:
Location 的值为访问svn时的url后缀,如127.0.0.1/svn,也可以使用二级域名
SVNPath的值为第三步建立的repository路径
AuthUserFile 为访问密码文件路径
LimitExcept 为权限控制。这里设定的是除了GET(获取)等操作外,都需要对用户验证, 更多权限配置管理参考svn_book

	DAV svn
	SVNPath "E:/svn2"
	AuthType Basic
	AuthName "Subversion Repository"
	AuthUserFile "D:/Apache2/svn.password"
	
		Require valid-user
	


如果是域名绑定则使用:

        ServerName svn.luochunhui.com
	DocumentRoot E:/svn2

      
		DAV svn
		SVNPath "E:/svn2"
		AuthType Basic
		AuthName "Subversion Repository"
		AuthUserFile "D:/Apache2/svn.password"
		
			Require valid-user
		
	


5.建立密码文件

图subversion createusers.png
注意 -c
文件内容如下:
rollenc:$apr1$ek/.....$esgXZzlr/JLPsnxkfQjss1
test:$apr1$qr/.....$b95NrDKp9mHU84of3KX8c1


6.重启apache,察看127.0.0.1/svn
得到了:Revision 0: /

7.规划subversion结构
7.1:建立一个项目EEmap:
任意目录右键,TortoiseSVN->Repo-browser->输入地址http://127.0.0.1/svn
create Folder -> 输入name (EEmap)->输入 logmessage (EEmap Project)
这时就需要密码了。填入刚才的自己的用户名,密码,建立成功

7.2: 建立项目的内部结构:

按照这种方法。建立整个svn的结构,如下
svn
|-EEmap
| |-trunk
| |-branch
|-lab.luochunhui.com
| |-trunk
| |-branch

如图:subversion_constructOK.png
图subversion constructOK.png

7.建立工作复本
建立文件夹,checkout
如图subversion_checkout.png
图subversion checkout.png
建立成功之后,在EEmap目录下自动创建一个服务器上的备份,以及一个.svn的隐藏文件,EEmap文件夹上也会出现一个绿色的钩记

8.导入工作复本
由于lab.luochunhui.com已经在我的文件中了,所以,我不需要建立,而需要导入
在lab.luochunhui.com中导入
如图:subversion_import.png
图subversion import.png

但是import之后,这个还并不是你的工作复本,你需要check out才能建立你的工作复本,而直接在lab.luochunhui.com文件中check out则会出错,因为该目录中已经存在它需要取出的文件。
解决方法:
由于这个工作复本已经在subversion服务器上了,所以,你完全可以放心直接删除lab.luochunhui.com里面的所有文件,再checkout一次。


9.建立、修改文件,并提交
略去,参看svn_book

10. 建立版本号:
现在,如果我们建立了EEmap的原始模型,团队认为,可以发布0.1版本了,那么,简单的建立一个版本:
在repo中选择copy to
输入 http://127.0.0.1/EEmap/branch/versions/version0.1
图subversion copyto.png
ok,建立成功
在任何时候你都可以使用check来取出0.1版本,这个版本不收主干文件的干扰 http://127.0.0.1/EEmap/branch/versions/version0.1

完成之后,现在我的subversion内的文件如下:
subversion_basedone.png



基本的使用告一个段落

进阶使用
待续。。

[感谢samon对我上文中部分错误的指正]
Defined tags for this entry: ,

Posted by rollenc

Last modified on 2007-01-16 09:35
2006/12 7
  Ubuntu7.04 alpha版发布了,最新潮的人儿可以一试。但貌似也没改什么东西,官方上也就说了GNOME改成了2.17版本,kernel为2.6.19。而现在6.06的GNOME是2.14,kernel为2.6.15。
  地址:http://www.ubuntu.com/testing/herd1#head-df9ab99f74ee1c216c719b8143fba2a28e930903
  我是不敢再贸然安装了,虽然很喜欢Ubuntu,但是6.10版本已经折磨我够狠了。现在的7.04重新安装的话不知道又要消耗多少时间。
  不过可以用虚拟机试试。:)
Defined tags for this entry: ,

Posted by rollenc

Last modified on 2007-01-28 15:50
2006/12 5
了解麒麟原链接:http://www.kylin.org.cn/introduce.htm

1.高安全。首家通过公安部计算机信息系统安全产品质量监督检查中心第四级结构化保护级检测和中国人民解放军信息安全测评中心军用 B+级安全认证,是目前国内安全等级最高的操作系统。
    鄙视:本来就抄袭的FreeBSD,把FREEBSD进行一下编译和设置,就成了安全性最高的麒麟了?那么,我把UBUNTU改一下名称,叫rollenx操作系统,那我的rollenx就成了国内最优秀的LINUX操作系统了。
2.跨平台。通过美国自由标准化组织的 LSB1.3标准认证,兼容linux平台上的应用。
    鄙视:关你麒麟什么事?FreeBSD实现的功能,现在怎么是你麒麟的功劳了。那我目前使用UBUNTU还兼容Win的应用,使用wine来实现(不过兼容win目前来看SUSE更有优势些)。
3.中文化.通过国家信息处理产品标准符合性检测中心的 GB18030-2000标准符合性认证,达到GB18030-2000检测规范的最高级别“A+”级产品标准,具有强大的中文处理能力。
    鄙视语:图上就几张看不清的证书,不过强大的中文处理能力也不是麒麟的开发内容,具CnBeta上一文书:“银河麒麟”操作系统由中国自主研发的基本内核层和基于FreeBSD(一种Unix操作系统)改造的系统服务层组成,是一个拥有层次式内核、安全等级达到结构化保护级、能支持多种微处理器和多种计算机体系结构,并与Linux目标代码兼容的国产服务器操作系统。 银河麒麟自己也就号称是改(写?抄?)了内核,中文化也成了麒麟的特点?这应该是所有LINUX,unix,FreeBSD,Win操作系统的特点吧。
4.界面友好。Windows风格的桌面环境,操作方便。
    鄙视语:不知道上面的windows是什么意思,很明显的KDE,现在成了Windows风格了,把人当傻子?还是麒麟不知道什么是无耻?
Defined tags for this entry: ,

Posted by rollenc

Last modified on 2007-05-22 17:43
2006/12 3
    近几天测试使用了UBUNTU的几个版本,看到了xubuntu的几句说明
    Xubuntu is a complete GNU/Linux based operating system with an Ubuntu base. It is lighter on system requirements and tends to be more efficient than Ubuntu with GNOME or KDE, since it uses the Xfce Desktop environment, which makes it ideal for old or low-end machines, thin-client networks, or for those who would like to get more performance out of their hardware.

    安装使用之,感觉不错,比GNOME要清爽多了,至于是否真的象其上述所说我不敢保证,不过我这台256的机子使用这个GNU环境看起来是首选。xuuntu的LOGO是一只老鼠,满可爱的。加之现在的学习内容“设计模式”涉及到了一句话:
发现变化,并封装变化。
    这是《谁动了我的奶酪》老鼠的智慧。姑且,把桌面,飞溅等都设置成了老鼠风格的了。
不过这次安装有导致了一个新的BUG,症状:
开机,加载完GRUB的命令行,BOOT后进入UBUNTU起动的条状进度状态,加载完毕后黑屏,使用ctrl+Alt+F1等也不能切换到其他命令模式页面,使用盲打输入密码等也无效,系统没有任何声音,因此确定系统完全假死。
    临时解决方案:
  在GRUB进行完BOOT命令,开始出现UBUNTU的起动状态时,使用ctrl+alt+F1进入命令模式,看到命令输出完毕后即可正常进入登录界面。
    缘由:不解,这一了临时解决方案也是我想找出缘由,试图进入命令行查看其输出再寻解决方案时使用的,但意外地,这样的操作后系统尽然可以正常登入了。不过每次进入系统都需要这样的操作,有点烦烦。
Defined tags for this entry: ,

Posted by rollenc

Last modified on 2007-01-28 15:50

(Page 1 of 3, totaling 40 entries)