可能有不少人的开发软件方式,是在windows上做代码开发,而在linux做版本编译。那么,通过linux samba服务共享代码目录给windows,在windows开发代码后,直接在linux命令行工具中进行编译,是很不错的工作方式。

但是,通过windows的tortoiseSVN客户端下载代码到samba目录是一个相对缓慢的过程,有时甚至会出现checkout失败。这其中的缘由,是windows svn客户端相当于做了一次二道贩子:文件从远端svn服务器获取下来,但文件却真实存储于另外一个linux远端。

那么,能否在linux将代码直接checkout出来,但是,在windows上的tortoiseSVN客户端也可以同时使用同一个svn工作目录呢?

最开始发现在两端的svn客户端版本存在差异的情况下,是难以工作的,但推测,如果两端的svn客户端工具是同一版本,则应该可能是可以同时工作的!


此种对齐svn客户端的思想,最初只是一个想法,但在最近经历过一次linux svn checkout失败后,进而更加深和印证了这种推测!

想到,其中最关键的,就是svn使用的sqlite的元数据数据库需要保持互操作性!

在linux svn checkout分支时,报'E200030: near "OLD": syntax error, executing statement ...',这是一个典型的sqlite操作数据库语句失败。找一个干净的初始化的虚拟机环境,安装svn组件,发现工作的十分良好,所以,就怀疑出现问题环境的svn使用了与标准环境不同的sqlite库,通过查阅已安装sqlite组件版本对比,和ldd svn依赖库分析,修改了svn客户端引用sqlite库的不一致后,在失败的环境,也顺利checkout出来了版本:)

此问题说明了,linux svn 在跨sqlite版本时可能存在一些瑕疵,也更加深了自己当初的猜测,如果windows和linux svn客户端想共享使用svn工作目录,其中关键点就是windows和linux的svn客户端版本需要对齐,且更深入的是要求对端系统能够操作另外一个对端系统所形成的svn的sqlite元数据库wc.db

例如,linux svn客户端版本是1.7.x或1.10.x,  windows的tortoiseSVN客户端的版本也同时保持是1.7.x或1.10.x,通过试验是可以同时工作!

我想,如果您用的是git进行代码版本管理,如果也想两边互操作,在遇到问题则对齐之,应该也没有啥问题的!

这是同版本保证的互操作性:)

windows和linux对齐svn客户端版本共享使用svn工作目录相关推荐

  1. MySQL在Windows和Linux平台上多版本多实例安装配置方法(5.5、5.6、5.7、8.0)

    MySQL在Windows和Linux平台上多版本多实例安装配置方法(5.5.5.6.5.7.8.0) Linux下MySQL 5.5.5.6和5.7的RPM.二进制和源码安装 参考: http:// ...

  2. linux修改jdk版本无效,关于windows和linux系统更换JDK版本后,修改环境变量也无法生效的原因和解决办法...

    今天遇到了一个问题: 我linux系统之前安装JDK12,今天将其改成了JDK1.8,并修改了环境变量,但是通过java -version命令显示的依旧是JDK12的版本. 这是因为,当使用安装版本的 ...

  3. 关系户?Windows 的 Linux 子系统引入最新版本的 Ubuntu。。。

    点关注公众号,回复"1024"获取2TB学习资源! ‍ 文 | 罗奇奇 出品 | OSC开源社区(ID:oschina2013) ‍ Canonical 在博客中宣布在 Windo ...

  4. linux c++ 获取当前时间毫秒_Linux 切换工作目录

    本文借介绍 Linux 下的 cd.ls 和 pwd 命令,说明一下 Linux 下工作目录的概念,什么是家目录,什么是用户目录,什么是当前目录,什么是绝对路径,什么是相对路径,如果你对这些问题都清楚 ...

  5. windows和linux中RabbitMQ客户端下载安装

    RabbitMQ的安装与客户端的简单实用 本文主要内容是RabbitMQ的安装步骤[Windows系统与linux上的安装]及客户端的简单使用. Windows上安装 1 安装Erlang 下载erl ...

  6. linux查看ogg客户端版本,OGG学习笔记05-OGG的版本

    刚接触OGG的时候,很容易被众多的版本搞晕,虽然官方有提供各版本对应认证OS和DB的表格. 个人认为一个比较简单的方式,是直接去edelivery.oracle.com下载OGG,选定一个大版本后,这 ...

  7. 简单的SVN客户端版本迁出

    PS1: 本地直接拣出的方法

  8. linux改变工作目录命令,linux命令:cd命令,改变当前的工作目录

    原标题 : 每天一个linux命令(2):cd命令 Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的. 所以,学习Linux 常用命 ...

  9. centos7上的图形化界面svn客户端_基于windows平台的SVN教程。

    点击蓝色"Java面试那些事儿"关注我哟加个"星标",优质文章,第一时间送达 作者:东风化宇  来源:http://1t.click/akvN # SVN工作原 ...

最新文章

  1. 并发和在线用户数的思考
  2. 指尖上的电商---(4).net开发solr
  3. crt0.S(_main)代码分析
  4. c语言可移植性较差吗,c陷阱与缺陷--可移植性缺陷
  5. java nio.2群发_JAVA NIO TCP SOCKET 聊天群发
  6. java atd_Java字符串String详解
  7. C/C++ const
  8. 32位数据源中没有mysql_基于 SpringBoot 多数据源 动态数据源 主从分离 快速启动器...
  9. 使用Kotlin的Android Spinner
  10. FTP 文件上传跟下载
  11. 常见路径规划算法介绍
  12. Win11怎么重装显卡驱动程序?Win11显卡驱动怎么卸载重装?
  13. mysql键值_如何在MySQL中存储键值对?
  14. 阿里云服务器快速购买、自定义购买、通过活动购买图文教程
  15. Summer School实验
  16. 5分钟带你看完 WWDC 2018
  17. 某年的第几个月或第几个周换算为具体的日期 -- vue
  18. SPSS 调节和中介
  19. 改变ubutun 默认配色
  20. sizeof结构体指针

热门文章

  1. 渗透测试之内网渗透中的数据传输
  2. dns劫持和http劫持-增加ssl
  3. 南京高中计算机老师,我校三位老师被市教育技术装备中心聘为市级中心组成员...
  4. 江西省电子专题大赛考点讲解四:CD4066四双向模拟开关
  5. Python opencv学习-5创建带调色板的画板
  6. React-Canvas画图
  7. 【Github教程】史上最全github使用方法:github入门到精通
  8. 概率论与数理统计习题——第一讲——样本空间和随机事件
  9. Linux文件上传不成功的问题解决
  10. sql 事务提交和回滚_SQL提交和回滚