通过Shell脚本将VSS项目批量创建并且提交迁移至Gitlab
脚本运行环境:Git Bash
系统环境:Windows 10 Pro 1709
VSS版本:Microsoft Visual SourceSafe 2005
我的VSS工作目录结构如下:
D:\work\
--vss
----project1
------src
------README.md
------ ......
----project2
------doc
------src
------README.md
------ ......
----project3
------ ......
脚本代码:
1 #!/bin/bash 2 3 git config --global user.name "Allen" 4 git config --global user.email allen@domain.com 5 6 # Init params 7 namespace=VssProjects # Group Name 8 namespaceId=10 # Group Id 9 rootPath=/d/work/vss # VSS work path 10 index=0 11 folderList=[] 12 13 # Each folders 14 cd $rootPath 15 for i in $(ls $rootPath) 16 do 17 echo $index $i 18 folderList[index]=$i 19 index=`expr $index + 1` 20 done 21 22 # Print folders length 23 echo ${#folderList[@]} 24 25 # Git Init 26 for dirName in ${folderList[*]} 27 do 28 workPath=$rootPath/$dirName #项目工作目录 29 projectName=$dirName # 项目名称 30 data='{"name":"replacement","visibility":"private","namespace_id":namespaceId,"path":"replacement"}' # 待提交的JSON数据 31 postData=${data//replacement/$projectName} # 全部替换 32 postData=${data/namespaceId/$namespaceId} # 只替换一次 33 echo $postData 34 35 # Gitlab Create Projects 36 curl --header "Private-Token: your private token" \ 37 -H "Accept: application/json" \ 38 -H "Content-type: application/json" \ 39 -X POST \ 40 -d $postData \ 41 http://git.domain.com/api/v4/projects 42 43 # Git repository init & push 44 cd $workPath 45 git init 46 git remote add origin http://username:password@domain.com/$namespace/$projectName.git 47 touch README.md 48 git add README.md 49 git add . 50 git commit -m "Init version" 51 git push -u origin master 52 done
转载于:https://www.cnblogs.com/VAllen/p/Use-Shell-script-to-migrate-VSS-to-Gitlab-in-Git-Bash.html
通过Shell脚本将VSS项目批量创建并且提交迁移至Gitlab相关推荐
- Shell脚本实战之文件批量创建和修改
Shell脚本实战之文件批量创建和修改 一.脚本要求 二.脚本内容 三.脚本运行结果 一.脚本要求 1.所有操作在/python下 2.批量创建12个以py后缀结尾的文件,文件名中必须包含_hcip, ...
- shell脚本及举例:依次创建10个目录在相应目录下创建10个文件,在相应文件下添加内容
shell脚本 如果我们的命令或者应用程序不在命令行直接执行,而是通过一个程序文件来执行时,这个程序就被称之为shell脚本.Shell脚本里面通常内置了多条命令,有的还包含控制语句,比如if和els ...
- shell脚本(一)批量修改图片名称
shell脚本(一)批量修改图片名称 近期刚刚接触linux操作系统以及caffe,在这个过程中需要编写一些shell脚本实现一定的功能,在此记录自己的学习以及实践过程. 利用caffe自带的mnis ...
- docker $PWD路径_Docker安装Jenkins+Shell脚本自动化部署项目
本文同名博客老炮说Java:https://www.laopaojava.com/,每天更新Spring/SpringMvc/SpringBoot/实战项目等文章资料 Sentinel+Nacos 是 ...
- linux 批量删除任务,Linux-Shell脚本学习心得之批量创建、删除用户
继上次博文,继续为大家分享脚本实例:批量创建.删除用户 说到,用户的管理,大家都不会陌生,就是创建.删除.禁用等等的管理,但,大多都是管 理员手工操作,效率不是很高,今天,就给大家说说Shell脚本是 ...
- Shell编程面试题4_批量创建Linux用户并设置密码
老男孩出的Shell编程企业面试题4: 批量创建10个系统帐号oldboy01-oldboy10并设置密码(密码为随机8位字符串). 我的Shell脚本如下: #!/bin/bashfor num i ...
- Shell脚本:向磁盘中批量写入数据
本文转自: https://my.oschina.net/Tsybius2014/blog/343989 一.关于本文 工作要做的监控系统需要监控磁盘空间的使用率并报警.在测试这个功能的时候需要模拟两 ...
- sftp shell 批量上传文件_如何在shell脚本里使用sftp批量传送文件-阿里云开发者社区...
主要步骤如下: 1.为运行shell脚本的本地用户生成密钥对 2.将其中的公钥分发到sftp欲登录的远程服务器上 3.编写并以上面的本地用户运行shell脚本 一.生成密钥对 在shell脚本中使用s ...
- linux脚本里使用sftp,如何在shell脚本里使用sftp批量传送文件
主要步骤如下: 1.为运行shell脚本的本地用户生成密钥对 2.将其中的公钥分发到sftp欲登录的远程服务器上 3.编写并以上面的本地用户运行shell脚本 一.生成密钥对 在shell脚本中使用s ...
最新文章
- Exchannge 2013数据库副本频繁自动切换
- linux 测试环境启用jar_Linux下搭建测试环境
- 对接物联网设备tcp协议_什么是物联网?常见IoT协议最全讲解
- shuffle的过程分析
- 类型混淆漏洞实例浅析
- linux下imp导入oracle数据库,Oracle数据库Linux下的导入IMP
- SecureCRT问题
- 分布式搜索引擎Elasticsearch的简单使用
- Matlab程序中调用其他程序
- 最轻松mflac转flac、mp3方法
- 人体姿态识别-左肩和左肘的定位识别
- css 设置打印a4,CSS设置A4纸大小。
- raid缓存策略设置
- JavaScript基础(五)——ES2015(ES6)基础语法
- 鹅肉是凉性还是热性 鹅肉怎么做好吃
- 5G是什么? --5G
- PS学习(一)-改变logo颜色
- 阿里云服务器配置Tomcat
- 面经:2020校招中兴提前批面试经历
- vue2.x的h函数(createElement)与vue3中的h函数
热门文章
- I'm stuck! ccf模拟题。
- java获取达梦数据库_Java连接达梦数据库驱动dm_jdbc
- python画图标题_使用pyplot.matshow()函数添加绘图标题
- ubuntu chrome java插件_在Ubuntu中为Chrome安装Java插件
- python统计linux流量,通过Python进行MySQL表信息统计
- 开源游戏机java模拟器_最棒的 7 款开源终端模拟器
- mysql语句优化百条_优化mysql语句
- 1024,不讲技术,来一套程序员续命操~
- 【lidar】3D目标检测PointPillars:论文解读、代码解读、部署实现(1)
- POJ - 3160 Father Christmas flymouse DAG最长路