1.需求

将不同电脑上的完成的代码提交到SVN服务器,达到代码同步的功能。这样实验室与宿舍里面就可以用同一份代码了,不必担心U盘拷贝的副作用了。

2.在google code上建立一个项目

请参考《Google Code 服务试用》一文,解决了在Windows下安装与提交问题

3.在Debian下安装SVN

sudo apt-get  install subversion subversion-tools

由于只是使用SVN客户端,可以不安装apache

4.SVN的使用简介

svn checkout https://project-name.googlecode.com/svn/trunk/ local-dir-name –username yourname


其中project-name是你的项目名称

local-dir-name是本地的目录,若不存在则创建,如不指定则默认为trunk

yourname是您的google账户名称

注释:checkout以可以简写成co

添加文件或文件夹到SVN中

svn add files|directory

提交

svn commit –message “log info” local-dir-name


提交时必需用参数 –message提供log信息,信息可以为空

如果当前本地目录为代码所在目录,则不需要指定local-dir-name

比如执行:

svn commit -m "Initial state of libtree" ./
Authentication realm: <https://xxxx.googlecode.com:443> Google Code Subversion Repository
Password for 'cherish':

svn: Commit failed (details follow):
svn: Server sent unexpected return value (500 Internal Server Error) 
in response to MKACTIVITY request for '/svn/!svn/act/33e89cb0-df75-4605-8866-d0d8ca8b74f1'

此时的username取默认值为你linux的登录名,所以需要修改为你google的账户名。参考commit文档有如下提示

两台电脑python指定服务端进程端运行代码 两台电脑同步代码_svn

两台电脑python指定服务端进程端运行代码 两台电脑同步代码_svn_02

View Code

commit (ci): 把工作副本的修改提交到版本库。
用法: commit [路径...]

     必须提供日志消息,但它可以是空的。如果没有指定 --message 或 --file
     选项,编辑器会被启动。如果有目标是锁定的或者包含锁定条目,则在成功
     提交后会被解锁。

有效选项:
  -q [--quiet]             : 不打印信息,或只打印概要信息
  -N [--non-recursive]     : 过时;尝试 --depth=files 或 --depth=immediates
  --depth ARG              : 受深度参数 ARG(“empty”,“files”,“immediates”,或“infinity”) 约束的操作
  --targets ARG            : 传递文件 ARG 内容为附件参数
  --no-unlock              : 不要解锁目标
  -m [--message] ARG       : 指定日志信息ARG
  -F [--file] ARG          : 从文件ARG读取日志信息
  --force-log              : 强制校验日志信息资源
  --editor-cmd ARG         : 使用 ARG 作为外部编辑器
  --encoding ARG           : 将ARG的值视为字符编码
  --with-revprop ARG       : 在新版本设置版本属性 ARG
                使用格式 name[=value]
  --changelist ARG         : 只能对修改列表 ARG 成员操作
                             [aliases: --cl]
  --keep-changelists       : 不要在提交后删除修改列表

全局选项:
  --username ARG           : 指定用户名称 ARG
  --password ARG           : 指定密码 ARG
  --no-auth-cache          : 不要缓存用户认证令牌
  --non-interactive        : 不要交互提示
  --trust-server-cert      : 不提示的接受未知的 SSL 服务器证书(只用于选项 “--non-interactive”)
  --config-dir ARG         : 从目录 ARG 读取用户配置文件
  --config-option ARG      : 以下属格式设置用户配置选项:
                                 FILE:SECTION:OPTION=[VALUE]
                             例如:
                                 servers:global:http-library=serf

所以,执行命令

svn commit -m "Add STL3.0" --username xxxx --password xxxxxxxxx

即可提交成功。