找回密码
 立即注册
搜索
查看: 2768|回复: 34

[软件] 工作上一个代码同步需求求助

[复制链接]
     
发表于 2021-12-8 01:11 | 显示全部楼层 |阅读模式
背景是这样的:工作上开发的代码需要放到一个linux环境上编译,这个环境很老,除了编译几乎啥也干不了。所以都是在windows本机上写代码,写完复制一份过去编译。但有时候有些错误要编译的时候才发现,每次修改又得再手动复制回来一遍,一来一去非常麻烦
所以想找一个方法:能够在本机上对项目文件进行修改后,自动或者手动一键同步一下就能将修改过的文件同步到编译环境中。
其实这个需求用vscode的sftp插件应该就能实现了,但我平时写代码都是用source insight或者qt creator,没办法依赖vscode来做。有没有什么能够单纯检查一个文件下的文件有没有变化,有则将变化的文件通过sftp上传的工具?
回复

使用道具 举报

     
发表于 2021-12-8 01:21 | 显示全部楼层
所以你听说过 git 吗
回复

使用道具 举报

     
 楼主| 发表于 2021-12-8 01:23 | 显示全部楼层
中川夏纪 发表于 2021-12-8 01:21
所以你听说过 git 吗

编译环境装不了
回复

使用道具 举报

     
发表于 2021-12-8 01:27 | 显示全部楼层
ckl80 发表于 2021-12-8 01:23
编译环境装不了

rsync 之类的也不能用吗?
回复

使用道具 举报

     
发表于 2021-12-8 01:29 | 显示全部楼层
什么神奇的项目要用专门的老环境里编译?编译完了还在同一个老环境里运行吗?
在编译环境里用源码编译一个git不行吗?
回复

使用道具 举报

     
发表于 2021-12-8 01:30 | 显示全部楼层
diff patch ?
回复

使用道具 举报

     
 楼主| 发表于 2021-12-8 01:35 | 显示全部楼层
中川夏纪 发表于 2021-12-8 01:27
rsync 之类的也不能用吗?

要用的话可能就得自己拉源码编译一份,比较折腾,目前主要就是想看能不能找个不用动linux端相对比较省事的方法
回复

使用道具 举报

头像被屏蔽
     
发表于 2021-12-8 01:37 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
 楼主| 发表于 2021-12-8 01:38 | 显示全部楼层
k12320593 发表于 2021-12-8 01:29
什么神奇的项目要用专门的老环境里编译?编译完了还在同一个老环境里运行吗?
在编译环境里用源码编 ...

可能是为了兼容性啥的?我也没问过,编译了跑是能跑,但也很少客户会用那么低的版本了(2.6的内核)
回复

使用道具 举报

     
发表于 2021-12-8 01:54 | 显示全部楼层
既然是公司项目,那可以用这个思路:
无法稳定地配置好的编译环境是项目的隐患

想象一下:这个古老的 Linux 机器有没有可能因为突发事件,变得不可用,导致开发停滞
根据墨菲定律,肯定会有可能
于是现在就需要设法能从头(指从干净的 Linux 系统开始)重新配置好开发环境才行
最终能落实到文档也好,shell 脚本也好,能用上配置管理(Ansible 之类的)就更好,总之得有办法
做到这个程度就可以拿新机器来做编译环境了,然后 NFS / SMB 之类的办法就都能用了

不过话说回来,那是多老的机器,连安装 rsync 都要从头编译?不能用包管理器安装么?
回复

使用道具 举报

     
发表于 2021-12-8 02:06 | 显示全部楼层
跑个题,总觉得这可以成为某种电影里的经典桥段……
回复

使用道具 举报

发表于 2021-12-8 03:40 | 显示全部楼层
回复

使用道具 举报

头像被屏蔽
     
发表于 2021-12-8 09:11 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-12-8 09:35 | 显示全部楼层
装不了git 装svn cvs哈哈哈哈 什么需求?这么搞下去 永远不要用新东西了 累不累
回复

使用道具 举报

发表于 2021-12-8 10:17 来自手机 | 显示全部楼层
直接搞个wsl,用sshfs?
回复

使用道具 举报

     
发表于 2021-12-8 10:25 | 显示全部楼层
本帖最后由 Xusser 于 2021-12-8 10:29 编辑

github/gitlab的webhook功能
不能用git啊那没事了
回复

使用道具 举报

发表于 2021-12-8 10:29 | 显示全部楼层
有vscode能用还不想用,这很难办啊。
回复

使用道具 举报

发表于 2021-12-8 10:48 | 显示全部楼层
在老环境编译的需求当然是有的,为了兼容性
最简单的,大部分 Linux 原生就有 NFS,不过看你是多老的 Linux 了

不过我作为有过类似经验的人,建议你整一个 arch/dist 完全一致的 Docker 直接在高端 PC 上编译,或者麻烦一点难以解决的依赖很多就做 rootfs 交叉编译。这样一般会快很多,因为这种老环境一般性能都不咋地。当然你要是想趁编译摸鱼当我没说。
回复

使用道具 举报

     
发表于 2021-12-8 10:48 | 显示全部楼层
用beyond compare 新建sftp链接,然后对比更新
回复

使用道具 举报

头像被屏蔽
     
发表于 2021-12-8 11:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-12-8 11:08 来自手机 | 显示全部楼层
本帖最后由 r_ex 于 2021-12-8 11:10 编辑

用rsync可以同步
另外交叉编译也可以,用最新的clang和自己编译的libc++,配上一个比较老的CentOS的sysroot,不过如果有Qt啥的依赖于C++的可能需要自己编译
如果项目不涉及到动态库的导入导出,还可以考虑musl全静态编译,有musl-cross-make和musl libc toolchain,是gcc的,后者还能配合clang和自己编译的libc++,充当交叉编译的sysroot

—— 来自 BlackBerry BBF100-4, Android 8.1.0上的 S1Next-鹅版 v2.1.2
回复

使用道具 举报

     
发表于 2021-12-8 11:31 来自手机 | 显示全部楼层
rsync支持sftp的,不需要动远程Linux

—— 来自 BlackBerry BBF100-4, Android 8.1.0上的 S1Next-鹅版 v2.1.2
回复

使用道具 举报

     
发表于 2021-12-8 12:09 来自手机 | 显示全部楼层
你的需求qt creator自身就能实现
来自: iPhone客户端
回复

使用道具 举报

头像被屏蔽
     
发表于 2021-12-8 13:05 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-12-8 13:17 | 显示全部楼层
centos 6?为了兼容老版本的glibc?这个需求可以docker搞定的
回复

使用道具 举报

     
发表于 2021-12-8 13:44 | 显示全部楼层
gitlab + jenkins,可以装在别的机器上
代码推送gitlab,配置钩子触发jenkins,jenkins上写脚本把代码打包发到编译环境执行编译
回复

使用道具 举报

头像被屏蔽
     
发表于 2021-12-8 15:39 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2021-12-8 16:55 | 显示全部楼层
qratosone 发表于 2021-12-8 01:37
JetBrains家的IDE都有远程开发组件,可以试试看

都是scp和ssh做的,有着需求不如自己rsync讲真
回复

使用道具 举报

     
发表于 2021-12-8 17:49 | 显示全部楼层
自己撸一个py,估计20多行就能搞定了
回复

使用道具 举报

     
发表于 2021-12-8 18:32 来自手机 | 显示全部楼层
找找看有没有能用的 docker 呀。要是这台机器挂了,你们还干不干活了。
回复

使用道具 举报

     
发表于 2021-12-8 19:46 | 显示全部楼层
我平时用mobaxterm的sftp,这个就是自动判断文件改变了就会传上去
回复

使用道具 举报

     
发表于 2021-12-9 10:56 | 显示全部楼层
试试freefilesync
回复

使用道具 举报

     
发表于 2021-12-9 11:49 | 显示全部楼层
git可以创建本地远程仓库,只有你自己电脑装了git就可以
回复

使用道具 举报

     
发表于 2021-12-9 11:54 | 显示全部楼层
在编译脚本前面触发一个ssh的 rsync  ?
回复

使用道具 举报

     
发表于 2021-12-9 12:28 来自手机 | 显示全部楼层
这种需求自己做一个轮子就行了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-9-23 11:29 , Processed in 0.187192 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表