如何使用Lex/lex yacc 语法树/ 蓝讯

Kolor Panotour Pro 使用方法
首页缩略图、项目名称
文字 ——颜色、字体、大小
链接 ——显示文字、链接地址(网址或是邮箱)、窗口打开方式(跳转/新窗口)
颜色——前台背景颜色、后台背景颜色
工具箱样式——文字(字体、颜色)、背景颜色、边框(宽度、颜色)、阴影
拖放图片设置顺序
本地文件、循环播放
名称、个人主页
本地图片、标题、方位、编辑
自动旋转——旋转方向(左/右)、延迟时间、旋转速度
场景切换——旋转一周切换/旋转设定时间切换
自动播放——自动旋转、自动切换
小型星——持续时间、是否每个场景加载
启动画面——本地文件、消失方式、显示方式
鼠标定位模式
声音——开关、音量
控制——控制键隐藏
添加全景图片
3、多边形热点
4、图片热点(框选)
描点顺序:-&-&-&
5、视频热点(框选)
描点顺序:-&-&-&
6、点状热点
7、镜头光晕
8、声音热点
9、裁剪全景
10、上一个全景
11、下一个全景
文件夹、文件名
播放器、设备
生成方式、使用多分辨率、图片质量
保护配置——内容插入到XML代码中、加密XML文件
高级设置——限制域名、运行报错
将本地文件上传到指定ftp。
> 本站内容系网友提交或本网编辑转载,其目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除内容!
批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT. 1. REM REM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行.例: REM 你现在看到的就是注解,这一句将不会被执行.在以后的例子中解释的内容都REM 会放在REM后面.请大家注意. 2. ECHO ECHO 是一个回显命令主 ...
我们一般应用Qt相关文件时,都是进入相应的IDE环境 编写code ,并在一打开(新建)的project中添加 头文件(.h)和 C/C++文件(.c/.cpp).然而实际中,我们经常会遇到已经有 相关(用其他编辑器编写的,如Vi.geidt 和 记事薄等)的头文件(.h)和 C/C++文件(.c/.cpp)了,需要在IDE 环紧中compile
目前有个插件叫krpano HTML5 Viewer可以实现全景展示,官网都是英文,而且网上资料也比较少些,需要看看官网实例.文档. 下载地址:/ 引用一下别人的博客:http://my.oschina.net/u/591525/blog/158572 Krpano功能介绍 Krpano viewer的主程序所使用的 ...
1. REM REM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行.例: REM 你现在看到的就是注解,这一句将不会被执行.在以后的例子中解释的内容都REM 会放在REM后面.请大家注意. 2. ECHO ECHO 是一个回显命令主要参数有OFF和 ON,一般用ECHO message来显示一个特定的消息 .例:
一. try { //方法一 //调用自己的exe传递参数 //Process proc = new Process(); //proc.StartInfo.FileName = @&D:\\hotelsoft\\zk.exe&; //proc.Start(); //Thread.Sleep(3);//暂停3秒 //foreach (Sy ...
具体上代码我的BaseDao: public class BaseDao&T& {
private Properties pro=
public BaseDao(){
ParameterizedType pt=(ParameterizedType) this.getClass().ge ...
问题来源:在使用MPI时,将程序并行实现了,运行时需要在dos窗口下输入批处理命令,以完成程序的执行. 如:mpiexec -localroot -n 6 d:/mpi/pro.exe 但每次这样挺麻烦的,就将批处理命令写在bat文件中,需要运行时直接双击运行bat文件即可. 但使用MPI实现的程序是软件功能的一部分,需要在软件使用过程中从软件中进行调用,实 ...
小引: 最近好多猜测弱口令的病毒在网上流行,比如前段时间闹得很厉害的Worm.Dvldr 蠕虫就是一个典型.这些病毒有个共同点就是利用批处理来进行ipc$连接,从而来猜测管理员的口令达到控制服务器的目的.病毒由几个文件和几个复杂的批处理组成.批处理算不上真正意义上的编程,但是它的一些思想和编程比较近似.通过在网上和一些初学的朋友交流,发现他们对于批处理很感兴 ...SyncToy使用介绍
微软的免费午餐 同步工具SyncToy试用 随着硬盘容量的日益增加,硬盘上的文件也越来越多,需要管理的文件及文件夹也随之增加了;同时拥有第二台电脑也很常见了。那么面对如此繁多的文件,如何更好更高效的做到交换文件和文件同步呢?
  现在,微软给我们展示了一款软件SyncToy。它是一款用于Windows 的免费的、易于使用的工具。它提供了简洁的操作界面、简单的使用方法和高度的自定义功能,可以帮助用户从繁重的拷贝、移动及同步不同目录的工作中解脱 出来,仅仅根据需要单击几次鼠标进行设置,就能搞定更多的操作,也会有额外的自定义功能而不会增加使用的复杂程度。SyncToy不仅可以同时管理多个目 录系列,还能够合并两个目录里文件为一个目录等。微软推出的免费的同步工具,可以大大提高你的工作效率,不用犹豫吧?
  ScncToy是一个免费的工具,可以通过微软官方网站下载。ScncToy仅支持Windows操作系统,同时要求系统中必须安装有Microsoft.NET Frameworks才可以运行。下载安装程序后是一个msi格式的安装文件,运行它即可根据向导轻松完成安装。安装过程和我们熟悉的相同,并且可以选择 程序供使用的对象:任何人或者仅仅供安装者使用(如图1)。
  安装完毕后运行程序,ScncToy的主界面非常简洁,给人很清爽的感觉(如图2)。通过此窗口我们就可以根据提示,如同安装程序一样轻松完成设置。
  点击主界面下方的“Create New Folder Pair”按钮创建一对新的操作目录,程序弹出如图3的窗口。在这个窗口的标题栏中我们可以看到操作一共分为四个步骤,操作上还是很简便的。点击 “Left Folder”下的“Browse”按钮,选择左目录的路径。选择好后点击下方的“Next”按钮(如图3)。
  接着,“Right Folder”下也出现“Browse”按钮,点击它同样选择右目录的路径,然后点击“Next”按钮(如图4)
  在第三步中,这里要选择你所要做的操作动作。ScncToy一共提供了五种的同步操作,它们分别是“Synchronize”、“Echo”、“Subscribe”、“Contribute”、“Combine”。把鼠标移动到它们上面会有相应的提示(如图5)。
  如果要了解这些操作选项具体的功能可以点击图5中的“Explain these choices”打开帮助文件,在帮助文件中的相关内容中可以查看到详细的相关说明(如图6),不过和软件一样也是英文的。
  那么下面我们就对这五种选项进行简单的说明:
   Synchronize:新文件和更改过的文件在左右目录中将互相;同时,若两个目录中有同样的文件,在其中一个目录有重命名或者删除的,在另一个目录中也将执行同样操作。
   Echo:左目录中的新文件和更改过的文件将到右目录中;同时,若两个目录中有同样的文件,在左目录中有重命名或者删除的,在右目录中也将执行同样操作
   Subscribe:右目录中更新过的文件将到左目录,如果左目录中存在同样的文件。
   Contribute:和Echo的操作类似,但是不执行删除的操作。
   Combine:新文件和更改过的文件在左右目录中将互相;但是不执行重命名和删除的对比操作。
  假设我们要使两个文件夹完全同步,那么就选择“Synchronize”,接着点击“Next”按钮,进行最后一步的设置——命名设置。在第四 步中,输入一个名称以保存此操作方案以便下次同步时使用(如图7)。名称必须是唯一且在20个字符内。最后点击“Finish”按钮就完成了设置。
  回到主窗口,界面上会显示此方案的设置。同时,此方案名称会显示在右侧的列表中,下次同步可以通过在此列表中选择,快速找出方案设置。在界面的,显示了该方案上次同步的时间(如图8)。如果要改变操作动作可以点击中间的“Change Actions”更改。
  同时,窗口中显示了默认的操作选项,如果要更改可以点击“Change Options”,在新的窗口中提供了更多的高级设置,包括设置文件类型、排除对比目录等选项,具体如图9所示。
  完成所有设置后,在主窗口中,点击“Preview”按钮可以预览ScncToy将进行的操作,或者直接点击“Run”运行此方案。方案运行中 将全部自动完成,无需人工操作值守,对于大文件夹、双机之间的同步十分方便。同步完成后,ScncToy会给出一份运行结果(如图10),其中标明了删 除、覆盖、重命名等操作的结果,用户可以全面掌握运行结果。
  微软提供的一款免费的同步工具,而且其简单易用,功能强大,支持高度的自定义,相信你不会错过!
Synctoy结合计划任务实现定时自动同步数据
结合Synctoy的命令行执行方式和系统自带的任务计划程序,可以做到Synctoy定时自动同步数据。
Synctoy的简单命令行执行方式如下:
“[System Drive]\Program Files\SyncToy 2.1\SyncToyCmd.exe” –R MyFolderPair
直接在cmd窗口运行是要加上面的引号的,然后创建的MyFolderPair名称中间是不能有空格的
这样结合任务计划程序自由度就很高了,此方法的详细帮助文档如下:
Run SyncToy from a Command Line &SyncToyCmd.exe&&
SyncToy命令行使用方式:
SyncToy can be run from the command line to provide support for scheduling or automating folder pair execution. The command line executable by default is located at: [System Drive]\Program Files\SyncToy 2.1\SyncToyCmd.exe.
SyncToy does not support running multiple copies of SyncToyCmd.exe at the same time. If a second instance of SyncToyCmd.exe is executed, there will be no errors and the command will not be executed.
The parameters provided by this command line interface are described below:
-R Run all folder pairs that are marked as Active For Run All.-R [Name] Run the named folder pair (only one folder pair can be specified).
Usage Examples:
SyncToyCmd -R MyFolderPairSyncToyCmd -R
NOTE:&There can be no space between the -R parameter and the MyFolderPair name.
It is also possible to manage folder pairs from the command line. Note: Folder pairs are managed through SyncToy.exe whereas scheduling is performed through SyncToyCmd.exe as described above.
SyncToy does not support running multiple copies of SyncToy.exe at the same time. If SyncToy is already running in in the Task Bar, and a second instance of SyncToy.exe is launched with or without any command line parameters, it will simply bring the already
running instance into focus and no errors will be reported.
The parameters associated with SyncToy.exe are described below:
-d(left=, right=, name=,operation=Synchronize|Echo|Contribute, [check=yes|no], excluded=,included=) Creates a new folder pair with the specified options:
left – mandatory, provide absolute path for left folderright – mandatory, provide absolute path for right foldername – mandatory, provide name of folder pairoperation – mandatory, specifiy action type for this folder paircheck – optional, specify whether file contents should be checked for file matching, default is noexcluded – optional, specifies exclude filter for files, defaults to noneincluded – optional, specifies include filter for files, defaults to all
-u Delete one or more folder pairs, no user data will be deleted-? Display Help
Sample Usage:
SyncToy -d(left=e:\,right=c:\Pictures, name=MyPictures,operation=contribute)SyncToy -uMyPictures
http://en.m.wikipedia.org/wiki/SyncToy
/download/en/details.aspx?id=15155
原文地址:&.cn/s/blog_53axs7l.html
> 本站内容系网友提交或本网编辑转载,其目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除内容!
关于文件同步的文章,已经很多次出现在异次元上了,因为它们很多都能实实在在提高工作便利性.比方说有我们熟悉的云端同步软件 Dropbox.金山快盘,以及曾经还介绍过可本地使用的 Allway Sync 以及 GoodSync等等. 虽然说已经介绍过了这么多同类型的软件,但在一番深思熟虑之后还是决定再介绍几款本地文件夹同步备份软件,我相信,虽然他们大体上是类似的 ...
文件夹同步就是将两个文件夹内的文件内容进行分析,可选择性的让两个文件夹内容保存一直.文件夹同步软件相当有用,虽然大多数人没用过,但它确实能够为你节省很多时间和操作.比如说:同步U盘上的数据和软件设置,查找软件版本区别和更新,同步FTP上的数据.很多情况下使用同步软件可以极大提高计算机操作效率.下面给你们介绍5款最好用的免费同步备份软件件. 高效文件同步工具G ...
今天有一个友人问起文件夹同步的方法,于是上Google来搜一下,试用了一哥们的做的免费小软件,就是自动同步死活用不起来.郁闷了. 在搜,换关键字搜,咦!有微软的免费的东东,当来试试. 找些介绍文章看看. [url]http://ce./hope/Education/ShowArticle.asp?ArticleID=611[/url]
您有沒有碰過以下的情況 1) 擔心萬一電腦壞了,寶貴的資料會盡失,所以很想不時做一份備份 2) 你在兩台電腦中均保存了一樣的檔案,後來你在甲電腦做了某些更改,又在B電腦裡做了一些修正,過後你已經搞不清楚哪些檔案是新是舊的了 3) 你將電腦中的文件帶往別處作了編輯,回來後想將這些改動同步到自己的電腦中使用SyncToy: 安装完成SyncToy后,开始进行同步 ...
我想大家可能和我面临同样的问题,同事的硬盘损坏了,里面的数据找不回来了,怎么办,你一定会说:&为什么提前不做好备份???&,说的很好,是啊,要是提前备份一下,说不定损失就降低到最少,可是普通的问题还好说,只不过一个复制粘贴的操作,但是对于OUTLOOK,我的文档,桌面这样,只有我们IT人员才知道存放的位置,对于普通的用户如何才能不经过培训 ...
从事.NET开发也好几年了,工作过程中积累一些软件工具,分享给大家,排名不分先后,希望对大家有所帮助.所谓工欲善其事,必先利其器,老祖宗留下来的话,还是很有道理滴,一款好的工具,可以帮我们提高工作效率,让我们快速完成开发任务. 下面让我一一介绍,如下的十款工具: 1. EditPlus:文字处理软件 EditPlus自然不必所说,想必大家都有了解,它是一款功 ...
集群概念介绍(一) 概述:写下本文档的初衷和动力,来源于上篇的&oracle基本操作手册&.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体系的总结,一则进行回顾复习,另则便于查询使用.本图文文档亦源于此.阅读Oracle RAC安装与使用教程前,笔者先对这篇文章整体构思和形成进行梳理.由于阅读者知识储备层次不同 ...
去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路线图,帮助新人尽快上手. 本文介绍的我所在小组的一些开发流程及相关工具.做为新人入门手册,其中某些工具可能只有我们这边在用,但对于其他公司的新人来说,一样是具有 ...Perforce 使用教程
Perforce 使用教程http://blog.csdn.net/brucexu1978/article/details/7181768P4递交建议流程:1. p4 sync2. 覆盖或者改动local文件3. p4 delete or 直接delete 废弃的文件4. p4 add: 增加新文件到depot5. p4 diff -se: 查看编辑过的文件6. p4 diff -se | p4 -x - edit: 把所有改动过的文件置为open for submit,对于覆盖的文件 or没有用p4 edit的文件,需要这个命令, 才能将文件置为open状态, 才能方便递交7. p4 diff -sd: 查看删除的文件(未用p4 delete删除的)8. p4 diff -sd | p4 -x - delete: 置删除的文件为opened状态, 方便递交9. p4 submit -d 'xxx': 递交P4可以差分递交, 只要别人的递交没有影响到你的递交, 任何时候都可递交, 这一点, 和svn相同, 和git不同。恢复:p4 revert -a (file 可选): revert所有打开的已经存在的文件& p4 revert //... Revert every file you have open, in every one of your pending changelists, to its pre-opened state. p4 revert -c default //... Revert every file open in the default changelist to its pre-opened state. p4 revert -n *.txt Preview a reversion of all open .txt files in the current directory, but don't actually perform the revert. p4 revert -c 31 *.txt Revert all .txt files in the current directory that were open in changelist 31. p4 revert -a Revert all unchanged files. This command is often used before submitting a changelist.p4 revert file: revrt 已经打开的已经存在的文件或者新add的文件p4 sync -f: 强行同步到head changelist, 如果有打开的文件, 需要先revert下面是网上的资料, 通用但不实用:环境变量:export P4PASSWD=abcdefg export P4CLIENT=xxx //这个可以不设export P4USER=yyy export P4PORT=ip:port1. p4 client #配置本地信息,文件下载在哪里在这里面配置,Root项&& -t clientname拷贝客户工作区 clientname 的视图和客户选项到该工作区的视图和选项字段中去(i.e, 使用 clientname's 视图作为一个模版)&& -d client name 删除这个client 2、p4 sync #从perforce 下载文件p4 syncCopy the latest revision of all files from the depot to the client workspace, as mapped through the client view.If the file is already open in the client workspace, or if the latest revision of the file exists in the client workspace, it is not copied.p4 sync file.c#4Copy the fourth revision of file.c to the client workspace, with the same exceptions as in the example above.p4 sync //depot/proj1/...@21Copy all the files under the //depot/proj1 directory from the depot to the client workspace, as mapped through the client view.Don't copy use the revision of the file in the depot after changelist 21 was submitted.p4 sync @labelnameIf labelname is a label created with , and populated with , bring the workspace into sync with the files and revision levels specified in labelname.Files listed in labelname, but not in the workspace view, are not copied into the workspace.Files not listed in labelname are deleted from the workspace. (That is, @labelname is assumed to apply to all revisions up to, and including, the revisions specified in labelname. This includes the nonexistent revision of the unlisted files.)p4 sync @labelname,@labelnameBring the workspace into sync with a label as with p4 sync @labelname, but preserve unlabeled files in the workspace.(The revision range @labelname,@labelname applies only to the revisions specified in the label name itself, and excludes the nonexistent revision of the unlisted files.)p4 sync @Bring the workspace into sync with the depot as of midnight, June 24, 2001. (That is, include all changes made during June 23.)p4 sync Sync a filename containing a Perforce wildcard by using the ASCII expression of the character's hexadecimal value. In this case, the file in the client workspace is .For details, see .p4 sync file.c#noneSync to the nonexistent revision of file.c; the file is deleted from the workspace.p4 sync ...#noneSync to the nonexistent r all files in the workspace (that are under Perforce control) are removed.&&&p4 sync ... 3、p4 login #登陆perforce 4、p4 help #显示关于命令的帮助5、p4 -h #显示关于p4的帮助6、p4 labels ... #显示和这个目录相关的标签7、p4 sync @label #同步标签label中的所有文件8、p4 files @label #查看标签label所包含的文件列表9、p4 revert #恢复所有打开的文件10、p4 revert -n ... #恢复所有打开却没提交的文件11、p4 branch brach #新建分支12、p4 integrate -b brach #合并分支brach中描述的文件13、p4 opened #查看打开的文件14、p4 help commands #查看p4所有命令的帮助15、4 dirs -H . #显示当前目录16、p4 branches #显示所有的分支17、p4 delete filename #从p4删除文件18、p4 changelists -L ... #显示当前目录下面所有文件的修改注释19、p4 label label #新建标签 label,编辑标签20、p4 tag -l label ... #把当前目录下面的所有文件添加到标签 label 21、p4 changes ... #当前目录的changelist&&&&如果想看某个changlist影响的文件,使用p4 describe changelist_number(changelist的number)22: p4 reopen 如果已经创建了一个changelist,但是现在又打开了一个文件想加入到这个还没有checkin的changelist中,使用这个命令。& for example:&&&& p4 reopen -c changelist //...-c changelist# fileMove all open files matching file pattern file to pending changelist changelist#. To move a file to the default changelist, use default as the changelist number-c changelist# fileMove all open files matching file pattern file to pending changelist changelist#. To move a file to the default changelist, use default as the changelist number.-t
fileWhen submitted, store file as type filetype. All subsequent revisions will be of that file type until the type is changed again.See the
section for a list of file types.See the
section.-c changelist# fileMove all open files matching file pattern file to pending changelist changelist#. To move a file to the default changelist, use default as the changelist number.-t
fileWhen submitted, store file as type filetype. All subsequent revisions will be of that file type until the type is changed again.See the
section for a list of file types.See the
section.&&&&查看workspace sync到的changelistperforce的workspace其实是一些特定版本的文件的结合,相比只将workspace对应到某个特定的changelist,此方法更灵 活。changelist和文件间的关系为:每个changelist其实是某些特定版本文件的集合,但是并不是所有的版本的文件结合都对应到一个 changelist。perforce允许用户将workspace同步到文件的某些特定版本,不一定对应一个chagnelist。使用如下三步来确定workspace的最新状态p4 changes 命令可以查看workspace中文件集合所对应的最高chagnelist:p4 changes -m1 //...#have可以使用如下命令查看workspace中是否所有的文件都被sync到了最高changelist:p4 sync -n @&changelist retuned by p4 changes&如果以上命令显示所有的文件都已经是updated,则表示workspace当前被sync到了最高changelist。&22、p4 sync @10931 #sync file @changelist 23、p4 sync ...@10929 #only sync
24、p4 help revisions #查看关于文件范围的帮助export好变量之后,然后用1进行配置,就可以用p4 sync进行代码下载了如果commandbar是目录则后面要加上/...,如果是文件的话就不用在虚拟机上使用p4一共分为如下几步:1. 要在 Linux 上用 P4 ,就需要虚拟机能够访问外网2. 安装及配置 P43. 配置源代码环境&下面具体介绍一下各个步骤:(我称我们的工作机本身为“主机”)1. 配置虚拟机访问外部网络。设置步骤如下1) 共享主机网卡本地连接 -》 属性 -》高级 -》选择允许其它网络通过本...,并选择家庭网络连接为 VMware Network Adapter VMnet1&2) 设置虚拟机 IP 信息选择 Traditional ….3) 设置静态 IPIP 192.168.0. xxxSubnet mask 255.255.255.0DNS 192.168.0.1(编辑/etc/reslove.conf)Default Gateway 192.168.0.12. 安装及配置 P41) 下载客户端
我使用的是 The Perforce Command-Line Client (P4)2) 把客户端放在文件夹 /usr/local/bin 。这样能在任何目录直接使用 p4 命令3) 配置客户端,在线帮助有很多种方式,我使用配置文件方式。步骤如下a. 在 /usr 下面新建一个文件夹 p4config ( 可以自定义 ) ,在文件夹里面新建文件 p4.configfile.b. 用 VI 打卡 p4.configfile, 输入如下配置&P4CLIENT= (定义你的工作空间,比如 ygxu_xms )P4PASSWD= (你的密码)P4PORT=10.12.33.133:1700P4USER= (你的用户名)&保存退出。c. 配置环境变量。修改后需要重启这个才生效用 vi 打开 /etc/profile , 末尾处加入&## pv4 config file path#if test -z &$P4CONFIG& ; thenexport P4CONFIG=/usr/p4config/p4.configfilefi&d. 测试环境配置是否成功命令 p4 info , 如果显示了连接信息,则 OK ,否则会提示连接不上&&需要注意p4config 文件,有时候一个用户会在自己的home目录下建立多个client,如果在一个目录下有多个子目录,每一个子目录都是一个新的client,那么每一个client都应该提供一个p4config文件;如果只是提供一个p4config文件,那么那个p4config文件中指定的p4 client作为当前client,而无法使用另外一个client。&//创建相同client配置的另外一个client,可以使用前一个client作为template,这样client文件可以自动修改p4 client -t template_client new_client&&3. 配置源代码环境使用命令 p4 client 会有如下信息显示&Client: 你 上面配置的工作空 间Update:
20:38:36Access:
02:57:38Owner: 你 的用 户 名Host: linuxDescription:Created by ygxu.Root: /home/hammerOptions: noallwrite noclobber nocompress unlocked nomodtime normdirSubmitOptions: submitunchangedLineEnd: localView:….//XMS/SS7_Mainline/... //Arthur_Xms/XMS/SS7_Mainline/...….&两个地方需要修改:a . Root . 这个决定你的代码会放在什么地方,如上,我的是 /home/hammerb. View. 这个决定你需要取哪些代码下来,因为一般不会把全部代码取下来,在 Linux 上我们一般只需要 XMS 的 SS7_Mainline, 所以把其他的删掉,修改成上面这个样子&注意事项,一定要保证空间足够,建议先删掉原来的 SS7_Mainline ,使用 Shrink 工具回收空间之后再取代码。好了,使用 p4 sync 命令吧,就可以继续工作了!关于 p4 的使用命令,文档如下:更详细的命令格式参考 p4客户端下载 *快速上手perforceperforce是什么?参考 [概念]先说说概念吧,一般来说版本控制软件都会分client和server,server负责做一些管理代码和文档仓库,控制各个用户的权限,记录版本升级历 史之类的事情,client使用某种客户端连入server来完成代码、文档的修改、提交等工作,perforce也不例外。在server端 perforce做得很精简,没有太多的依赖,一个p4d搞定,配置起来也很简单,它的主要任务就是管理一个文件仓库depot。在client端有 user和workspace两个概念,user顾名思义就是在server上登记的一个用户,每个user可以拥有零个或者多个workspace,甚 至也可以switch到别人的workspace上去,只要有权限。简单的说workspace是depot到本地的一个映射,例如这样写 //depot/foo/... //myspace/bar/...就把depot里面foo目录下面所有东西映射到本地bar目录里面去了,myspace是和特定的 workspace相关的,在设置workspace的时候可以设置它的绝对路径。[连接之前的配置]首先我们需要一个用户,假设已存在一个用户test,没有密码。 $P4CONFIG=p4conf. export P4CONFIG windows下使用p4 set P4CONFIG=p4conf.conf这个命令设置一个环境变量P4CONFIG,文件名可以自己定义,里面可以存放客户端的配置。在UNIX系统中配置信息都可以写道环境变量里,windows下可以都写到注册表里去,不过我更倾向于在某一个目录下面建立一个配置文件,这样可以很方便的切换不同的workspace。然后我们就可以开始编辑这个p4conf.conf配置文件,格式很简单都是 setting=value 形式的。 建立一个workspace目录,在里面新建一个p4conf.conf文件,内容如下:P4PORT=192.168.0.1:1666 P4USER=test P4CLIENT=test-client这是一个最简单的配置文件,P4PORT指名了服务器的ip和端口,ip也可以用计算机名代替,例如P4PORT=p4server:1666如果留空 P4PORT=1666 这样代表默认连接本地的server,如同 P4PORT=127.0.0.1:1666一样。P4USER是用户名,P4CLIENT是当前是用的workspace名字,这个名字可以任意取,仅仅是一个标识。 这时候就可以cd到这个目录运行一下 $p4 info看看输出是什么,如果显示了如下内容User name: test Client name: test-client Client host: computername Client unknown. Current directory: /home/test/workspace Client address: 127.0.0.1:1508 Server address: 192.168.0.1:1666 Server root: . Server date:
00:28:12 +0800 China Standard Time Server version: P4D/NTX86/189 () Server license: none就表示成功连上服务器了,如果出现像这样的错误,那就要检查一下P4PORT有没有设置正确Perforce client error: Conn check $P4PORT. TCP connect to 1666 failed. connect: 1666: WSAECONNREFUSED到这儿,最基本的client配置已经完成,很简单吧:-) 在配置文件里还可以存放一些其他的设置,例如P4EDITOR指定在编辑的时候默认使用这个vim编辑器,P4DIFF指定了比较文件的时候使用的工具,P4PASSWD当用户需要密码的时候可以提供一个默认密码,其他还有一些可以参考官方文档 P4 User's Guide[连接之后的配置]之前的所有设置都是保存在环境变量,配置文件或者注册表里面的,这仅仅定义了一个客户端的行为,很大一部分事情例如追踪用户的修改、打开、提交的文件之类都是由服务器记录下来的,所以现在我们需要通过一些命令来配置一下服务器那头的用户信息。 $p4 user这个命令的结果是p4使用一个默认的编辑器打开一个临时文件,文件中保存着用户的一些信息,例如用户名,Email,FullName之类,用户可以自己 修改其中某些设置,保存以后它会自动提交到服务器上更新用户设置。这个过程中使用的编辑器可以在环境变量或者配置文件中指定(P4EDITOR)。 $p4 client和上面一样,这个命令编辑一个client的配置文件。Root对应于workspace在本机上的绝对路径,Options定义了一些client的属 性,例如unlocked值允许其他的用户switch到你的工作空间,其他的定义可以参考官方文档。View的配置比较重要,它定义了服务器上面的文件 到workspace的映射。例如//depot/... //test-client/...左右分别代表源地址和目的地址,中间以空格隔开,它的意思是将服务器depot里面所有文件映射到我的工作目录(在这之前用Root参数指定的绝对路径)。映射可以有多行://depot/src/... //test-client/local-src/... //depot/doc/... //test-client/local-doc/...这样就将代码和文档分别映射到本地,而且不一定要和服务器上使用相同的名字。在这之中也许会有需要排出的一些文件或者目录,这时只需要在映射前面加上一个减号:-//depot/doc/file1.txt //test-client/local-doc/file1.txt这样就排除了一个文件。在这个过程中要留意出现冲突,如下://depot/src/... //test-client/src/... //depot/doc/... //test-client/src/...将服务器上两个目录都映射到本地同一个目录。 上面的过程中使用了一种通配符“...”它递归的匹配这个目录以及子目录下面的所有文件,另一种上面没有使用的 “*” 匹配单个目录下的文件,例如 //test-client/src/*.c 匹配 src目录下面所有以 .c 作为扩展名的文件。 上面说了,如果把服务器上的两个目录都映射到本地通一个目录会产生冲突,后者会把前者覆盖,但如果这样写://depot/src/... //test-client/local-src/... +//depot/doc/... //test-client/local-src/...就会产生不同的效果,两个目录里面的文件都会出现在local-src这个目录中,不过如果仍然有重名的文件则后者会把前者覆盖。 至此,client的配置基本上完成,可以 $p4 sync 一下把服务器上的东西抓下来看看:-)另外,如果要删除这个cient的话很简单 $p4 client -d test-client 就可以了[文件管理]配置了这么半天,现在开始步入正题,文件的管理才是我们使用perforce的核心工作。简单的说,文件操作可以分成三类:往depot里面添加文件,修改并提交文件和删除文件。 在这之前最好保证workspace里面文件和服务器上的最新版本同步,使用命令: $p4 sync ...如果需要同步到某一个版本,在后面添上 #1 数字代表版本号;如果需要强制同步所有文件,可以加上 -f 参数。关于sync的具体用法可以用命令 $p4 help sync btw: 可以试试看$p4 help help添加文件: $p4 add *.txt将当前目录下所有扩展名为txt的文件添加到depot相应目录,注意在添加文件的时候不可以使用通配符 ... 因为 ... 有服务器负责解析,这时候服务器并不知道需要添加什么文件,但却可以使用 * ,它是由shell负责解析。 另外,所有修改在submit之前都不会提交到服务器。 修改文件: $p4 edit //depot/src/a.c这个文件执行以后在服务器上就会记录下当前的 client已经在编辑这个文件,在本地只有一个动作,就是将a.c文件的只读属性去掉,这时候我们就可以随便使用某种编辑器来编辑这个文件了,在这之前所有文件都是只读的,而且不要手动去掉只读属性来编辑,因为那样服务器跟踪不到client的修改记录。 删除文件: $p4 delete //depot/doc/a.pdf注意在submit之前这个文件在服务器上也是不会被删除的。 撤销修改: $p4 revert *.txt这会将之前所有添加的或者修改的,以txt作为扩展名的文件全部撤销到原先的状态,原先添加的文件会被删除,修改的文件被还原到执行p4 sync时候的版本。 最后我们可以将上面所有修改全部提交: $p4 submit这时候p4会调用默认的或者P4EDITOR所指定的编辑器来编辑一个配置文件,里面包含了提交者的信息,对这次提交的描述以及列举出涉及到的文件等,一般来说把Description一项填充完保存就可以了。然后会看到屏幕上哗啦哗啦的输出一堆东西,最后显示 Change xxxx submitted. 就表示这次提交成功了。如果出现错误,有可能是存在冲突或者别的情况,关于冲突的问题留着后面再说~~_~~文件之间的diff: $p4 diff file$p4 diff2 file1 file2前者在client端进行比较,使用client端配置的工具,相对于perforce自带的diff我还是更喜欢vimdiff :-)后者在server端比较,返回两个文件(也可能是很多文件)之间的比较结果。 离线工作: 在线工作的时候所有文件的修改都由服务器来记录,文件的读写权限设置也是和服务器上同步的,但是一但离线就需要用另一种方法来管理workspace里面的文件了。 首先需要对那些等待修改的文件手动去掉只读属性,然后可以开始修改,等到和服务器建立连接的时候需要做两件事情:1 找到所有修改过的文件,open for edit$p4 diff -se | p4 -x - edit 2 找到所有删除的文件, open for delete$p4 diff -sd | p4 -x - delete最后 submit 就可以下面是perforce diff详述:概述对一个客户工作区中的文件和一个版本库中的文件版本进行比较语法p4 [g-opts] diff [-dflag -f -m max -sa -sb-sd -se -sr -sl -t] [file[rev#]...]描述p4 diff 命令在Perforce客户端上运行一个diff程序, 对客户工作区中的文件和版本库中的版本文件进行比较。这个命令需要一个包含版本标识符的文件参数。如果包含了一个版本标识符,在客户工作区的文件会与该指定的版本文件进行比较。如果没有包含版本标识符,那么客户工作区的文件会与当前被编辑的版本(通常是最新的版本)进行比较。在这两种情况中,客户的文件都必须被打开编辑,或比较必须是对客户文件最后一个同步版本不同的版本文件进行比较。如果文件名包括通配符,那么所有打开得匹配该模板的文件都会被比较。如果没有提供文件参数,那么所有打开的文件会与他们在版本库中的相应文件进行比较。缺省情况下,diff 程序使用的是内建在p4客户程序中的。如果要改变diff 程序去运行一个外部程序,那么设置P4DIFF 环境变量或注册一个变量来指向这个新的程序。选项-f强制进行比较 (如果没有版本标识符,那么于最新版本比较),即使客户文件没有打开进行编辑-dflags传递选项给后面的diff 程序 (阅读下面的使用提示)-m max限定输出显示diffs(or status) 的第一个max 文件-sa只显示那些打开的与版本库里版本文件不同或不存在的文件的名字-sb只显示打开得已解析过给集成的,但是在解析后背修改过的文件的名字-sd只显示那么没有打开得没有存在与客户工作区中,但是在版本库中存在的文件的名字。-se只显示没有打开的在客户工作区中但是与版本库中版本不同的文件的名字-sr只显示那些在客户工作区中打开的用来标识版本库中版本的文件的名字。-sl file...所有打开的文件与版本库进行比较,然后显示三种状态 same, diff, 或 missing.中的一种If you use the -f flag together with the-sl flag, files that are open for edit are also compared and their status islisted. -t比较甚至文件类型不是文本类型的文件的不同g-opts 阅读 全局选项部分使用提示Can File Arguments Use Revision Specifier? YES Can File Arguments Use Revision Range? NO Minimal Access Level Required read p4 diff 支持的diff 选项有:选项名字-dn RCS输出格式,显示文件中增加的和删除的以及相关行的内容-dc文本输出格式,显示行编号范围和三行变更内容-ds总结输出格式,只显示总共增加,删除或修改的行数量-du unifiedoutput format, showing added and deleted lines with sufficient context forcompatibility with the patch(1) utility. -dl ignoreline-ending (CR/LF) convention when finding diffs -db ignorechanges ma this flag implies -dl. -dw ignorew this flag implies -dl.l为了传递超过一个的选项给diff程序,可以打包他们。例如:p4 diff -dub file specifies a unified diff that ignores changes in whitespace.l? The header line of a unifieddiff produced with the -du option for use with patch(1) displays filenames inPerforce syntax, not local syntax.举例p4 diff file#5将客户工作区中的“file”与版本库中的第五版本进行比较p4 diff @将客户工作区中所有打开得文件与版本库中May 22, 1999修改的版本进行比较.p4 diff -du file对file 进行比较,显示符合patch(1) utility格式的输出.p4 diff -sr | p4 -x - revert恢复所有打开得没有修改过的文件。This differs from p4 revert -a ( revert allunchanged files, where resolving a file, even if no changes are made, counts asa change), in that it reverts files whose workspace content matches the depotcontent, including resolved files that happen to be identical to those in thedepot.第一个命令显示所有打开得没有修改过的文件。The second command (running p4 -x and taking arguments, one perline, from standard input, abbreviated as &-&) reverts each file inthat list. (This is the UNIX verit uses a pipe. Most operating systems have some equivalent way of performingthese operations in series). p4关于 -x 选项的更多信息,阅读 全局选项 部分相关命令比较两个版本库中的文件版本的不同p4 diff2查看一个文件的全部内容p4print Perforce使用中文教程: p4 diff2Perforce命令: p4 diff2概述比较版本库中文件的两个版本语法p4 [g-opts] diff2 [-dflags -q -t -u]file1[rev] file2[rev] p4 [g-opts] diff2 [-dflags -q -t -u] -bbranch [[fromfile[rev]] tofile[rev]]描述p4 diff2 命令使用Perforce服务器中内建的diff程序对版本库中的俩个文件版本进行比较。这些版本通常是指同一个文件的两个不同的版本,但是他们也可以是两个完全不同文件的版本。如果没有没有提供版本给文件参数,那么最新的版本被用来比较。p4 diff2 不使用由环境变量P4DIFF定义的diff程序。p4 diff命令使用的diff算法在装有Perforce服务器机器上运行,而且一直使用服务器内建的diff程序你可以在指定文件参数的位置指定一个有(或没有)版本标识的文件模版;这样可以导致Perforce对那些匹配模版的成对文件执行diff命令。如果你调用使用文件模版的p4 diff2命令,使用引号或反斜线可以从OS外壳中退出文件模版,那么确定在两个模版中的通配符相匹配。Perforce presents the diffs in UNIX diffformat, prepended with a header. 起始部分的格式如下:==== file1 (filetype1) - file2 (filetype2)==== summary summary 可能出现的值和意义如下:content: 文件版本的不同内容types: 内容完全相同, 但是文件类型不同identical: 版本的内容和文件类型都相同如果文件file1 或 file2在指定的版本中不存在,那么起始部分将显示summary 为 &none&.选项-q Quietdiff.只显示表头部分,并且在文件版本内容和类型不同时也不显示内容-dflags把标准的UNIX diff 选项之一作为参数运行diff程序。阅读后面的《使用提示》-b branchname fromfile[rev] tofile[rev]使用一个分支的定义去比较在两个分支代码行里的文件。被比较的文件可以被文件模版中的 fromfile或 tofile 里的任意一个所限定-t比较甚至文件类型不是文本类型的文件的不同-u Generateunified output format, showing added and deleted lines with sufficient contextfor compatibility with the patch(1) utility. Only those files that differ areincluded. File names and dates remain in Perforce syntax. g-opts阅读全局选项 部分使用提示Can File Arguments Use Revision Specifier? Yes Can File Arguments Use Revision Range? NO Minimal Access Level Required readaccess necessary for both file revisions The diff flagssupported by p4 diff2 are:选项名称-dn RCS输出格式,显示文件中增加的和删除的以及相关行的内容-dc文本输出格式,显示行编号范围和三行变更内容-ds总结输出格式,只显示总共增加,删除或修改的行数量-du unified输出格式 showing added and deleted lines with sufficient context forcompatibility with the patch(1) utility. -db忽略在空格中做的改变-dw忽略连在一起的空格为了传递超过一个的选项给diff 程序,可以打包他们。例如p4 diff2 -dub file1 file2 specifies a unified diff that ignoreschanges in whitespace. The header lineof a unified diff produced with the -du option for patch(1) use displays thediffed files in Perforce syntax, not local syntax.当 p4 diff2 命令被用来对比较二进制文件时,该行... files differ ...会被显示出来,如果他们没有被识别的话。选项 -b branch [[fromfile[rev]] tofile[rev] ] 在第一次看见是可能觉得不正确。Since the branch specification maps fromfiles to tofiles, why wouldyou specify both fromfile and tofile file patterns? You wouldn't, but thissyntax allows you to specify a fromfile file pattern and a tofile revision, ora fromfile revision and a tofile file pattern.举例p4 diff2 -ds file#1 file比较 file 文件的第二个版本和最新版本,并显示文件中内容被添加,更改或删除的信息p4 diff2
/12/04 Diff the revision of file that was in thedepot after changelist 34 was submitted against the revision in the depot atmidnight on December 4, 1998. p4 diff2 //depot/rel1/... //depot/rel2/...#4比较在版本库 //depot/rel1 中的所有最新文件与版本库 //depot/rel2 第四个版本文件p4 diff2 //depot/rel1/* //depot/rel2/...不允许。每个文件的通配符模式必须匹配p4 diff2 -b branch2 //depot/rel2/...#2 @50 Compare the second revision of the filesin //depot/rel2/... to the files branched from it by branch specificationbranch2 at the revision they were at in changelist 50.相关命令比较客户工作区中文件与版本库中的版本文件p4 diff查看一个文件的全部内容p4 print&&&&&command 附录:&p4 add Open a new file to add it to the depotp4 admin Perform administrative operations on the serverp4 annotate Print file lines along with their revisionsp4 branch Create or edit a branch specificationp4 branches Display list of branchesp4 browse Browse for a list of Zeroconf-registered Perforce serversp4 change Create or edit a changelist descriptionp4 changes Display list of pending and submitted changelistsp4 changelist Create or edit a changelist descriptionp4 changelists Display list of pending and submitted changelistsp4 client Create or edit a client specification and its viewp4 clients Display list of known clientsp4 copy Makes target identical to source by branching, replacing or deletingp4 cstat Lists the changes not synchronized in the current clientp4 counter Display, set, or delete a counterp4 counters Display list of known countersp4 dbschema Report information about metadata in the Perforce databasep4 dbstat Display size or simple statistics for a database tablep4 delete Open an existing file to delete it from the depotp4 depot Create or edit a depot specificationp4 depots Display list of depotsp4 describe Display a changelist descriptionp4 diff Display diff of client file with depot filep4 diff2 Display diff of two depot filesp4 dirs List subdirectories of a given depot directoryp4 edit Open an existing file for editp4 export Extract journal or checkpoint recordsp4 filelog List revision history of filesp4 files List files in the depotp4 fix Mark jobs as being fixed by named changelistsp4 fixes List what changelists fix what jobp4 flush Fake a ‘p4 sync’ by not moving filesp4 fstat Dump file infop4 grep Print lines in files (or revisions of files) that match a patternp4 group Change members of a user groupp4 groups List groups (of users)p4 have List revisions last syncedp4 help Print this help messagep4 info Print out client/server informationp4 interchanges Lists changes not yet integrated from source to targetp4 integrate Schedule integration from one file to anotherp4 integrated Show integrations that have been submittedp4 istat Shows the stream’s integration statusp4 job Create or edit a job (defect) specificationp4 jobs Display list of jobsp4 jobspec Edit the job templatep4 label Create or edit a label specification and its viewp4 labels Display list of labelsp4 labelsync Synchronize label with the current client contentsp4 license Update or display the license filep4 lock Lock an opened file against changelist submissionp4 lockstat Report lock status of database tablesp4 logger Report what jobs and changelists have changedp4 login Login to Perforce by obtaining a session ticketp4 logout Logout of Perforce by removing or invalidating a ticketp4 logstat Report size of journal, error log, and/or audit log filesp4 logtail Display the last block(s) of the error logp4 merge Merge changes from one set of files into anotherp4 monitor Display current running Perforce process informationp4 move Move file(s) from one location to anotherp4 obliterate Remove files and their history from the depotp4 opened Display list of files opened for pending changelistp4 passwd Set user password on server (and Windows client)p4 print Retrieve a depot file to the standard outputp4 protect Modify protections in the server namespacep4 protects Display protections in place for a given user/pathp4 rename Explains how to rename filesp4 reopen Change the type or changelist number of an opened filep4 replicate Replicate server metadata from one server to anotherp4 resolve Merge open files with other revisions or filesp4 resolved Show files that have been merged but not submittedp4 revert Discard changes from an opened filep4 review List and track changelists (for the review daemon)p4 reviews Show what users are subscribed to review filesp4 shelve Store files from a pending changelist, without submitting themp4 set Set variables in the registry (Windows only)p4 sizes Display size information for files in the depotp4 stream Create or edit a stream specificationp4 streams Display a list of known streamsp4 submit Submit open files to the depotp4 sync Synchronize the client with its view of the depotp4 tag Tag files with a labelp4 tickets Display list of session tickets for this userp4 triggers Modify list of pre-submit and form-validating triggersp4 typemap Modify the file name-to-type mapping tablep4 unlock Release a locked file but leave it openp4 unshelve Restore shelved files from a pending change into a workspacep4 user Create or edit a user specificationp4 users Display list of known usersp4 verify Verify that the server archives are intactp4 where Show how file names map through the client viewp4 workspace Create or edit a client specification and its viewp4 workspaces Display list of known clients&问题解决:1. 有时候client里面会有一些null changelist,这样当运行p4 client -d xxx的时候会不允许删除client,错误信息,&use -f force delete client&.&解决方法: 假设当前要删除的client名称为 client_xxx.&&&&&&&&&&&& 首先list所有的null changelist :&&&&&&&&&&&&&&&&& p4 changes -c client_xxx -s pending&&&&&&&&&&&& 再删除这些pending的changelist:&&&&&&&&&&&&&&&&& p4 change -d ####&&&&&&&&&&&&& 有些时候,当使用rm -rf xxx删除目录的时候不允许删除,原因在于目录属性:&&&&&&&&&&&&&&&&& chmod -R 777 xxx_dir&&&&&&&&&&&& 再来删除目录。
> 本站内容系网友提交或本网编辑转载,其目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除内容!
/documentation/perforce_technical_documentation http://blog.csdn.net/brucexu1978/article/details/7181768 /perforce/doc.current/manuals ...
最近一直在学习使用perforce,作为一个典型的C/S,其实大部分人可能只需要用到它的客户端,也就是P4V(另一个叫P4WIN的其实可以算是p4v的老版,现在的P4V是在P4WIN的功能基础上又完善了的,还有一种叫p4web在我看来其实就是网页客户端.p4v和p4web的关系有点像是QQ和WEBQQ).perforce是个版本控制软件,所谓的版本控制软件, ...
我假设你是一个对perforce完全陌生的新用户,然后你也许会奇怪为什么同样的概念要用不同的两个名称,实际上除了可视的客户端,perforce当然也有功能强大的命令行,好吧也许你觉得有界面才是更高级的,我只能说萝卜青菜各有所爱,不过我还是会将两种的操作步骤都分别介绍一下,同时考虑到也许你是在项目中使用,也许你是个人使用,所以在界面和命令行分别演示的时候,我会 ...
p4 client摘要创建或者编辑一个客户工作区的定义和它的视图.语法p4 [g-opts] client [-f -t template] [clientname]p4 [g-opts] client -o [-t template] [clientname]p4 [g-opts] client -d [-f] clientnamep4 [g-opts]
使用Wing IDE的第一步是建立一个项目文件,这样Wing IDE就可以找到并分析源代码,存储工作. Wing IDE会自动以默认的项目进行启动.在本教程中用户也可以使用这个默认项目进行示例操作.如果希望创建一个新的项目作为替代,使用Project菜单中的New Project.注意:进行这项操作之后,用户将需要从帮助菜单再次打开教程,因为Wing IDE ...
在上篇博客中,简单整理了一下Unity Native 2D功能:&C#程序员整理的Unity 3D笔记(十九):Unity 3D的Native 2D&. 本文开始学习2D商用比较广泛的2D Toolkit插件. 2D Toolkit插件在2D中的地位,犹如UI中NGUI对Unity GUI一样:虽然官方原生的2D还不错,但这是最近1年新版本才有的 ...
一个适合初学者的Ant教程
一,构建ant环境 要使用ant首先要构建一个ant环境,步骤很简单: 1),安装jdk,设置JAVA_HOME ,PATH ,CLASS_PATH(这些应该是看这篇文章的人应该知道的) 2),下载ant 地址www.apache.org找一个你喜欢的版本,或者干脆最新的版本 3),解压ant 你得到的是一个压缩包,解 ...
P4递交建议流程:1. p4 sync 更新代码到最新2. 覆盖或者改动local文件3. p4 delete or 直接delete 废弃的文件4. p4 add: 增加新文件到depot5. p4 diff -se: 查看编辑过的文件6. p4 diff -se | p4 -x - edit: 把所有改动过的文件置为open for submit,

我要回帖

更多关于 lex与yacc 第二版 pdf 的文章

 

随机推荐