使用git-svn管理svn仓库
作者:matrix 发布时间:2021-08-24 分类:兼容并蓄
git-svn工具是git对比较老的svn的兼容性支持,可以直接对svn仓库进行管理。git-svn内部其实是使用perl脚本处理svn命令,没有的话要重新安装git。之后就可以任意使用git的功能了,比如stash。
mac环境下直接输入命令git svn --version
检查是否可用。
出现问题最好是重新安装svn和git:
$ brew reinstall subversion
$ brew reinstall git
clone项目
$ git svn clone svn://username@svn.hhtjim.com/repos
修改&提交
这里和git仓库操作一致
$ git add .
$ git commit -m "first commmit"
推送到远程仓库
使用git svn dcommit
代替git push
命令
$ git svn dcommit
查看本地仓库的svn地址信息
$ git svn info
参考:
https://www.jianshu.com/p/6a3afcb59fa9
Git-Svn保存密码凭证免输入
作者:matrix 发布时间:2021-08-12 分类:兼容并蓄
之前尝试过 echo password | git svn rebase
来自动输入,还有删除~/.subversion/auth
目录的方法都还是失败,不能达到免输入密码的效果。
办法
以mac为例,打开应用钥匙串访问
,删除掉对应svn项目地址的钥匙串<svn://svn.XXXX:3690>
密码。
之后马上使用git svn
命令操作,系统会自动保存新的密钥在钥匙串中。
这样在任何程序操作之前去保存密码就可行。git-svn是读取系统保存的密钥,之所以有问题因为密钥是之前的程序授权的,现在使用git-svn也就无法读取。
这样操作之后我这里其他程序没有影响,如果有问题的话可以自行到svn项目目录执行缓存密码凭证操作。
$ svn update --username 'user' --password 'password'
参考:
https://newbedev.com/does-git-svn-store-svn-passwords