将全部公开的SVN项目迁移到Git了

作者:V君 发布于:2020-3-19 20:12 Thursday 分类:小服杂记

由于 SVN 的占用空间日益增大,目前又主要以 Git 为主,使得备份空间占用变得越来越没有意义,因此花了几天时间来搬运。在这里向大家分担一下这个过程。其实也不复杂,只是比较繁琐。因为找不到好用的迁移方法,我用的是最笨的手动方式,即从 SVN 导出最新版然后推送到 Git。

找到办法之后就可以制定行动方案了,因为博客上面许多文章都引用了 SVN 的链接,得找出它们,将引用的项目搬到 Git,然后更新链接。大概被分成了如下 3 个阶段:

  1. 直接从数据库中搜索带有 SVN 链接文章
  2. 导出最新版,创建 Git 仓库,导入并检查编译
  3. 推送,然后重新回到步骤 1 直到所有文章都处理完

最后把 SVN 的公开访问关闭了,如果有需要访问原 SVN 有、但没被文章引用的项目,请留言,我会考虑为其创建公开的 Git 仓库。

标签: 源码管理

评论(2) 引用(0) 浏览(535)

在树梅派Raspbian上将Gogs安装到Systemd

作者:V君 发布于:2019-6-16 18:52 Sunday 分类:折腾手记

TL:DR
- 从官方网站下载压缩包并解压到 /opt/gogs
- 修改 /opt/gogs/scripts/systemd/gogs.service 配置各种路径
- 将 /opt/gogs/scripts/systemd/gogs.service 复制或创建符号连接到 /etc/systemd/system/
- 执行 sudo systemctl enable gogs
- 执行 sudo systemctl start gogs
- 此时服务已经启动,访问默认端口,进入安装向导

不扯。

标签: 软件开发 个人服务器 源码管理 linux

评论(0) 引用(0) 浏览(774)

搭建自己的NuGet托管服务器,并通过符号源服务器提供带源码的调试体验

作者:V君 发布于:2018-9-19 19:43 Wednesday 分类:挖坑经验

尽管花了不少时间但都是些坑或者自己没注意,这次不想扯,直接TLDR:


使用命令行把项目打包并推送到服务器 (参考官方文档)

1) 下载最新版NuGet.exe,

2) 为项目编写nuspec文件,可以通过spec参数创建一个模板

3) 分别使用pack命令打包库pack -symbol也生成符号包

4) 使用push命令将这俩分别推送到对应服务器

+) 如果想连同PDB文件一起打包(可以堆栈跟踪里获得源代码位置),可以添加下配置到nuspec根

  <files>
    <file src="bin\$configuration$\$id$.pdb" target="lib\netxxx\" />
  </files>

 这样做有个副作用会让符号包生成时产生警告PDB文件重复

 还有一个副作用会让符号源失效,在DLL旁边PDB似乎挡住了前往符号源服务器的去路,

 导致F11进不去,你得在启动调试之前自己把输出目录的PDB删除

 目前的做法是写成生成事件,仅匹配Debug生成时删除指定的PDB文件


搭建NuGet服务器 (参考自官方文档)

1) 新建空白Web项目,引入NuGet包[NuGet.Server]

2) 修改web.config配置ApiKey或干脆禁用验证

3) 部署到服务器


搭建符号服务器 (参考X.D.的博客文章)

1) 创建空白MVC项目,引入NuGet包[SymbolSource.Server.Basic]

2) 在服务器上安装Windows Kits Debuggers,下载SDK安装器进行可选安装

3) 部署到服务器,配置好web.config指向上者安装路径的srcsrv

4) 如果用了主机头绑定和HOSTS,在服务器也需要配置指向自己的HOSTS

x) 这货好像也能当NuGet包托管服务器?(但貌似不能设置ApiKey验证


在VS使用自己部署的NuGet包服务器

1) 在菜单工具-选项打开选项对话框

2) 在左边选择NuGet包管理器-程序包源,添加服务器地址到列表,确定

3) 在包管理器检索时不要忘记切换到自己的服务器,或简单选择全部


在VS使用调试符号 (参考符号源官网文档)

1) 在菜单工具-选项打开选项对话框

2) 在左边选择调试-符号,添加服务器地址到列表

3) 接着在左边找到兄弟节点常规对里面的选项做一些改动,见参考文档

4) 在调试时对着提供了符号包的NuGet程序集调用按下F11, VS会自动找到源代码并进入调试


扩充话题


在程序集里嵌入Git提交哈希,可以使用[MSbuildGitHash]这个包来轻松完成

但这货有个缺点,如果机器上没安装Git或者当前项目不是Git托管,就会编译失败

需要自己指定MSBuild条件来绕过.


标签: 软件开发 源码管理 调试技术 .NET

评论(0) 引用(0) 浏览(1176)

一步步在Windows2003安装Subversion服务端

作者:V君 发布于:2013-11-30 13:36 Saturday 分类:折腾手记

公司一直使用一个叫做sourcegear的源码管理
这货是基于SQL的, 客户端插件界面略丑, 签出/入操作会将界面卡死, 偶尔还会拖垮SQL服务器
找了个机会将SVN介绍给它们, 得到许可后在服务器上安装配置顺便写下这篇博文

由于V君在树莓上已成功配置起SVN, 整个过程轻车熟路~

阅读全文>>

标签: 源码管理 团队开发 SVN

评论(0) 引用(0) 浏览(1957)

Powered by emlog 去你妹的备案 sitemap