Ⅰ 如何创建svn服务器 svn创建方法
1、下载绿色版svn(即zip压缩包文件,如我下的是svn-win32-1.5.6.zip,当然下安装版的也可以):
2、解压下载下来的绿色版svn和安装svn的windows客户端TortoiseSVN,按照提示安装就可以,为了能立马看到效果,最好重启下机器,呵呵
3、创建版本库,打开命令窗口(开始->运行,键入cmd,回车),我的svn服务器解压目录为F:\svn;在命令窗口输入:
pushd F:\svn\bin
进入到svn解压目录下的bin目录,建立版本库,如我把版本库安装在:F:\svnrep,首先确认F盘下是否存在svnrep文件夹,没有我们可以在命令窗口键入:
mkdir F:\svnrep
就会创建一个snvrep文件夹,接下来,运行如下命令:
svnadmin create F:\svnrep
这样我们的版本库就创建了,在F:\svnrep下你可以看到自动生成了一些文件及文件夹;同时,你也可以用TortoiseSVN的图形界面来创建,在F:\svnrep文件夹中“右击->TortoiseSVN->Create Repository here”, 同样得到我们需要的结果,如果这文件夹已经创建有了,你再创建,会自动报错。
4、配置用户和权限,打开F:\svnrep\conf目录中的svnserve.conf文件,将[general](保证[general]这一行的前面不带#号,有#号就将#号去掉)下面的
# password-db = passwd(大概在20行)及# authz-db = authz(大概在27行)
前的#号去掉。保存文件;
然后打开同目录中的passwd文件(可以用记事本打开),在[users](保证[users]这一行的前面不带#号,有#号就将#号去掉)下面添加用户及此用户对应的密码,格式为:
admin = password
表示用户为admin 密码为password 保存文件。
同时也可以修改同目录下的authz文件,主要是用来控制用户对svn版本库里哪些目录的文件是否有读或写权限,读为r写为w,如果要赋给admin对版本库下的目录都有读和写权限,格式为:
[/]
admin = rw
/代表了svn版本库下的起始位置,对于修改此文件的一些注意事项,可以到网上搜索下呵呵。
5、运行svn服务器,在命令窗口输入:
svnserve -d -r F:\svnrep
这样,svn服务器程序就启动了。但不要关闭这个命令窗口,关闭就意味着svn服务器停止。
6、导入项目到svn版本库可以用TortoiseSVN客户端进行导入,在要导入的项目文件夹上“右击->TortoiseSVN->Import…”在URL of repository输入
svn://localhost/项目名
在Import Message中可以输入你的信息,点击ok按钮,就开始导入了,完成导入后,项目目录没有任何变化,导入过程中没报错的话,项目中的所有文件就导入到svn的版本库里了;这个导入过程可以到任何一台能访问你svn服务器并安装好TortoiseSVN客户端的电脑上进行,在要导入的文件或文件夹上“右击右击->TortoiseSVN->Import…”,在URL of repository 输入:
svn://svn服务器IP/项目名
就OK
7、从版本库中检出,即复制出一份版本库中的项目,在一个空的文件夹中“右击->SVN Checkout”,在URL of repository中输入:
svn://localhost/项目名
这样我们就复制出了这个项目中的文件。
8、修改文件后更新到版本库,当项目中的某一文件作了修改,可以通过在这个文件上“右击->SVN Commit…”,这样我们就将我们对这一文件的修改提交到了版本库。
当然还有很多功能,查看文件修改,比较文件各版本中的修改及不同处,== 不一一介绍了。注意的是TortoiseSVN客户端版本最好是和svn服务器的版本一致,有时不一致的时候会发生错误。
Ⅱ 如何用命令行实现TortoiseSVN命令
TortoiseSVN是一个GUI客户端,这个自动化指导为你展示了让TortoiseSVN对话框显示并收集客户输入,如果你希望编写不需要输入的脚本,你应该使用官方的Subversion命令行客户端。
TortoiseSVN的GUI程序叫做TortoiseProc.exe。所有的命令通过参数/command:asdf指定,其中asdf是必须的命令名(命令名详见”表 1. 有效命令及选项列表“)。大多数此类命令至少需要一个路径参数,使用/path:"some\path"指定。在下面的命令表格中,命令引用的是/command:asdf参数,余下的代表了/path:"some\path"参数。
因为一些命令需要一个目标路径的列表(例如提交一些特定的文件),/path参数可以接收多个路径,使用*分割。
TortoiseSVN 使用临时文件在 shell 扩展和主程序之间传递多个参数。从 TortoiseSVN 1.5.0 开始,废弃/notempfile参数,不再需要增加此参数。
The progress dialog which is used for commits, updates and many more commands usually stays open after the command has finished until the user presses theOK button. This can be changed by checking the corresponding option in the settings dialog. But using that setting will close the progress dialog, no matter if you start the command from your batch file or from the TortoiseSVN context menu.
To specify a different location of the configuration file, use the parameter /configdir:"path\to\config\directory". This will override the default path, including any registry setting.
如果想在进度对话框执行完毕后自动关闭,而又不必设置永久性的参数,可以传递/closeonend参数。
/closeonend:0 不自动关闭对话框
/closeonend:1 如果没发生错误则自动关闭对话框
/closeonend:2 如果没发生错误和冲突则自动关闭对话框
/closeonend:3如果没有错误、冲突和合并,会自动关闭
下面的列表列出了所有可以使用TortoiseProc.exe访问的命令,就像上面的描述,必须使用/command:asdf的形式,在列表中,因为节省空间的关系省略了/command的前缀。
表 1. 有效命令及选项列表
命令
描述
:about 显示关于对话框。如果没有给命令也会显示。
:log 打开日志对话框,/path 指定了显示日志的文件或目录,另外还有三个选项可以设置: /startrev:xxx、/endrev:xxx和/strict
:checkout 打开检出对话框,/path指定了目标路径,而/url制定了检出的URL。
:import 打开导入对话框,/path 指定了数据导入路径。
:update 将工作副本的/path更新到HEAD,如果给定参数/rev,就会弹出一个对话框询问用户需要更新到哪个修订版本。为了防止指定修订版本号/rev:1234的对话框,需要选项/nonrecursive和/ignoreexternals。
:commit 打开提交对话框,/path 指定了目标路径或需要提交的文件列表,你也可以使用参数 /logmsg 给提交窗口传递预定义的日志信息,或者你不希望将日志传递给命令行,你也可以使用/logmsgfile:path,path 指向了保存日志信息的文件。为了预先填入bug的ID(如果你设置了集成bug追踪属性),你可以使用/bugid:"the bug id here"完成这个任务。
:add 将/path的文件添加到版本控制 。
:revert 恢复工作副本的本地修改,/path说明恢复哪些条目。
:cleanup 清理中断和终止的操作,将工作副本的/path解锁。
:resolve 将/path指定文件的冲突标示为解决,如果给定/noquestion,解决不会向用户确认操作。
:repocreate 在/path创建一个版本库。
:switch 打开选项对话框。/path 指定目标目录。
:export 将/path的工作副本导出到另一个目录,如果/path指向另一个未版本控制目录,对话框会询问要导出到/path的URL。
:merge Opens the merge dialog. The /path specifies the target directory. For merging a revision range, the following options are available: /fromurl:URL, /revrange:string. For merging two repository trees, the following options are available: /fromurl:URL, /tourl:URL, /fromrev:xxx and /torev:xxx. These pre-fill the relevant fields in the merge dialog.
:mergeall Opens the merge all dialog. The /path specifies the target directory.
: Brings up the branch/tag dialog. The /path is the working to branch/tag from. And the /url is the target URL. You can also specify the /logmsg switch to pass a predefined log message to the branch/tag dialog. Or, if you don't want to pass the log message on the command line, use /logmsgfile:path, where path points to a file containing the log message.
:settings 打开设置对话框。
:remove 从版本控制里移除/path中的文件。
:rename 重命名/path的文件,会在对话框中询问新文件,为了防止一个步骤中询问相似文件,传递/noquestion。
:diff Starts the external diff program specified in the TortoiseSVN settings. The /path specifies the first file. If the option /path2 is set, then the diff program is started with those two files. If /path2 is omitted, then the diff is done between the file in /path and its BASE. To explicitly set the revision numbers use /startrev:xxx and /endrev:xxx. If/blame is set and /path2 is not set, then the diff is done by first blaming the files with the given revisions.
:showcompare
Depending on the URLs and revisions to compare, this either shows a unified diff (if the option unified is set), a dialog with a list of files that have changed or if the URLs point to files starts the diff viewer for those two files.
The options url1, url2, revision1 and revision2 must be specified. The options pegrevision, ignoreancestry, blame and unified are optional.
:conflicteditor Starts the conflict editor specified in the TortoiseSVN settings with the correct files for the conflicted file in /path.
:relocate 打开重定位对话框,/path指定了重定位的工作副本路径。
:help 打开帮助文件
:repostatus 打开为修改检出对话框,/path 指定了工作副本目录。
:repobrowser Starts the repository browser dialog, pointing to the URL of the working given in /path or /path points directly to an URL. An additional option /rev:xxx can be used to specify the revision which the repository browser should show. If the /rev:xxx is omitted, it defaults to HEAD. If /path points to an URL, the /projectpropertiespath:path/to/wcspecifies the path from where to read and use the project properties.
:ignore 将/path中的对象加入到忽略列表,也就是将这些文件添加到 svn:ignore 属性。
:blame
为 /path 选项指定的文件打开追溯对话框。
如果设置了 /startrev 和 /endrev 选项,不会显示询问追溯范围对话框,直接使用这些选项中的版本号。
如果设置了 /line:nnn 选项,TortoiseBlame 会显示指定行数。
也支持 /ignoreeol,/ignorespaces 和 /ignoreallspaces 选项。
:cat 将/path指定的工作副本或URL的文件保存到/savepath:path,修订版本号在/revision:xxx,这样可以得到特定修订版本的文件。
:createpatch 创建/path下的补丁文件。
:revisiongraph 显示/path目录下的版本变化图。
:lock Locks a file or all files in a directory given in /path. The 'lock' dialog is shown so the user can enter a comment for the lock.
:unlock Unlocks a file or all files in a directory given in /path.
:rebuildiconcache Rebuilds the windows icon cache. Only use this in case the windows icons are corrupted. A side effect of this (which can't be avoided) is that the icons on the desktop get rearranged. To suppress the message box, pass /noquestion.
:properties 显示 /path 给出的路径之属性对话框。
Examples (which should be entered on one line):
TortoiseProc.exe /command:commit
/path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt"
/logmsg:"test log message" /closeonend:0
TortoiseProc.exe /command:update /path:"c:\svn_wc\" /closeonend:0
TortoiseProc.exe /command:log /path:"c:\svn_wc\file1.txt"
/startrev:50 /endrev:60 /closeonend:0
Ⅲ linux系统中,用命令在svn添加一个目录
很简单,SVN管理平台里只有建立用户和权限。
然后用有权限的用户在。相应的目录下建立新文件夹即可。比如总得管理员
这个问题才接触的时候也遇到。
Ⅳ 怎样创建SVN仓库目录结构
首先在服务器端创建一个SVN库,这时是只有一个顶级文件夹的空仓库,然后:
1、从客户端checkout这个空的SVN库;
2、在客户端checkout出来的这个空文件夹中,按自己的需要新建各级子文件夹,以形成所需的目录结构;
3、对checkout出来的这个文件夹执行add操作,将新建的各级子文件夹纳入SVN控制;
4、对checkout出来的这个文件夹执行commit操作,将刚add进来的各文件夹提交到SVN服务器端。
基本操作就如上所述了,顺便说一下SVN官方推荐的文件夹结构:
根目录下分成trunk、branches、tags三个子文件夹,其中trunk用于存放开发主干,branches用于存放各种分支,tags用于存放各种标记。
Ⅳ SVN中如何将指定文件或文件夹直接提交到svn指定目录
一般我们都是按以下步骤操作的: 1.先将那个目录checkout下来 2.将要添加的文件或者文件夹放到这个目录中 3.右击文件执行svn菜单中的add命令 4.右击文件执行svn菜单中的commit命令 如果只是单纯的提交一个文件到svn中某个目录用上面方法的话会不会很繁琐,如果能像共享文件夹那样直接复制粘贴多好,其实方法是有的。 如果要将某个文件夹aa连同里面的文件一起放到svn的某个目录请按下面步骤操作: 1.右击文件夹执行svn菜单的import命令 2.在弹出的对话框中选择要放到svn的哪个目录中 3.确定即可 如果你要提交的仅仅是个文件(假设为c:\test.txt)你会发现在右击的svn菜单中找不到import,这可能是svn的某个小bug,不过别担心,方法是有的: 1.打开cmd窗口 2.输入TortoiseProc.exe /command:import /path:c:\test.txt然后回车 3.这时会弹出和上面一样的对话框 4.选择要存放的目录,注意这时点确定的话会提示错误,还需要在目录后加个文件名字,而这个文件名字必须是svn中不存在的,例如/test.txt,写成/xxx.txt也行 5.确定即可 用这个方法来操作文件夹也是可行的。
Ⅵ 怎样在svn中新建一个目录
在svn中新建一个目录的具体操作方法如下:
工具:电脑、svn
步骤:
第一步:打开SVN服务端,找到特定的项目目录,右击选择“属性”
Ⅶ 如何用svn命令行提交某个目录下多个新文件到服务器
首先这个文件夹必须是受SVN控制的,也就是说这个文件夹是必须从服务器端checkout出来的;然后写一个批处理,里面核心就两行,第一行是svn add * ,把所有新增的文件加上add标记,第二行是svn commit 把所有新增和修改过的文件提交到服务器端;然后把这个批处理设置成操作系统的定时任务,每隔一定时间自带执行一次。如何用svn命令行提交某个目录下多个新文件到服务器
Ⅷ svn checkout 指定目录
命令行操作的话,先用svn co --depth=empty 检出空文件夹,然后再从这个空文件夹中svn up filename获得所需要的文件。
TortoiseSVN操作的话,
1、使用TortiseSVN客户端检出所需文件的上级文件夹,在检出窗口中的“检出深度”处要选择“仅此项”,这样检出来一个空目录。
2、然后在检出的空文件夹上点右键,在弹出的TortiseSVN右键菜单中选择“版本库浏览器”,会列出该服务器上该文件夹下的所有文件。右键点击所需文件,选择“更新项目至版本”,即可将该文件单独检出。
SVN1.5版本以上才能实现该操作。
Ⅸ 如何在SVN上新建一个目录并赋予相应的权限
您好
打开SVN服务端,找到特定的项目目录,单击右键,然后点击属性;
SVN如何新建用户并分配权限
在弹出的页面中,点击增加;
SVN如何新建用户并分配权限
在增加的页面中,你可以选择之前已经创建的用户,也可以重新创建用户名和密码;
SVN如何新建用户并分配权限
如果是选择已经有的用户,那么选中他,点击ok即可,如果是新建的用户,那么点击创建用户,在弹出的的页面中,填写用户名和密码即可。
SVN如何新建用户并分配权限
选择完之后,就会在用户组看到刚刚选择的用户,并且可以选择他,赋予相应的读还是写的权限。
SVN如何新建用户并分配权限
Ⅹ 怎么在svn版本库中创建文件夹
SVN是C/S架构,数据存放分成服务器端和客户端。创建代码库一般指的是SVN服务器端的操作,这个库随便建在什么地方都可以;你要发布的线上代码,这是存放在SVN的客户端的。 SVN的服务器端和客户端存放文件的格式是不同的,所以不能直接访问