从 SVN 到 Git,找回丢失的历史

前段时间在将公司的 SVN 项目迁移到 Git 上面去,遇到一个很少见的问题: 有一个小伙伴使用 git-svn 做 rename 操作时候,将一个目录 svn mv 了, 导致新目录只存了最近几个月提交历史,丢失了历史信息。对团队开发而言, 历史提交是非常宝贵的财产,我们想了一些办法,把这些数据提取出来。 # 找出丢失之前的版本,列出丢失目录上层的操作记录。 svn log -l 2000 svn://log4d.com/trunk/apps/ios/ | less # 将重命名之前的版本拷贝到一个临时目录 svn copy svn://log4d.com/trunk/apps/ios/nami@43252 svn://log4d.com/trunk/apps/ios/nami_lost # 准备现有代码到 Git git svn clone svn://log4d.com/ -T trunk/apps/ios/nami -t tags -b branches -r 13532 nami #...

2014-01-21 · alswl

Vundle 和 Submodule

问题背景 Vundle 是个好东西,可以用来管理 vim 配置和 vim 插件。Vundle 会将所有插件管理在 .vim/bundle/ 中,详情可看 使用 Vundle 管理 Vim 插件。 官方安装 Vundle 方法如下: $ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle 我的 Vundle 的版本是 59bff0c457f68c3d52bcebbf6068ea01ac8f5dac, git 版本是 git version 1.7.10.2 。 使用 BundleInstall 可以安装 .vimrc 中配置的插件, 我使用 git 控制 .vim 和 .vimrc 版本。在 BundleInstall 之后会导致 vundle 目录项目状态混乱,要么形成一个无法追踪的 submodule 比如 .vim/bundle/The-NERD-Commenter (untracked content) ,要么变成一个普通的文件...

2012-06-11 · alswl

Gource-可视化你的代码历史

Thumbnail

昨天我在sunng 那里看到一个非常好玩的东西Gource。 Gource可以将代码版本控制系统里面的日志全部可视化, 所谓可视化就是可以看见每个成员在系统里面提交代码的行为。 Gource目前支持git/hg/svn,cvs通过一个简单的脚本也可以被Gource支持。 官方视频在这里[Gource - Software Version Control Visualization Tool](http://www.youtu be.com/watch?v=E5xPMW5fg48&feature=player_emb...

2011-11-26 · alswl