如何使svn update命令自动用服务器上的版本替换本地同名的但尚未加入版本控制的文件

如何使svn update命令自动用服务器上的版本替换本地同名的但尚未加入版本控制的文件,第1张

这个技术上好像很难实现,我原本想用钩子实现,但发现svn的钩子里没有pre-update的钩子
或者可以换个思路,为什么一定要自动覆盖呢?这是一种存在风险的 *** 作啊,如果本地新建的文件是含有有效工作成果的,将导致这些工作成果的丢失。我们是否可以从 *** 作流程的角度来改进呢?正常的 *** 作就应该是:更新--更新失败--解决冲突--重新更新(或提交)

删除
单个:rm file_name 如果不希望提示确认是否删除 rm -f file_name 如果是目录 rm -r directory_name 同样 不提示 rm -rf directory
多个:rm fileName1 fileName2 同上
替换:
mv new_file old_file

达到这个目的,首先确定如下事宜:1,客户机的这个文件夹,在服务端具有写的权限;
2,必须测试服务器软件复制到这个文件夹成功!
具体环境我不清楚:我做以下设定:一,服务端IP:1921680100/24
二,客户端IP:1921680108/24
三,在客户端共享文件并设置共享名为:2
接下来就是写批处理了:
=============================cut========================
@echo off
move c:\测试\数据\ \\1921680108\2 && echosucess!||echofailed!
pause
=============================cut========================
祝你成功!将其放入计划任务,即可完成自动备份。

xcopy \\19216802\服务器路径\本地路径/e/s/d/y
例如你要拷贝服务器19216802上的d:\test 文件夹到本地e:\test 文件夹
xcopy \\19216802\d:\test\ e:\test/e/s/d/y 此命令实现只复制有修改或者最新的文件,简单的说就是实现服务器上的文件夹和本地文件同步
当然,如果是完整的批处理,还应该包括用户名和密码信息,现在假设你服务器的用户名为admin
密码为123456
则完整的批处理是这样的:
net use \\19216802 "123456" /user:admin
xcopy \\19216802\d:\test\ e:\test/e/s/d/y(此命令要注意,如果是首次运行,本地又没有创建test文件夹,它会提示test是文件还是目录,选目录即可)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13172299.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-15
下一篇 2023-06-15

发表评论

登录后才能评论

评论列表(0条)

保存