LoginSignup
1
1

More than 5 years have passed since last update.

SubversionリポジトリをGitで扱うためにしたこと

Last updated at Posted at 2017-12-03

ググった記事を色々参考にしたがうまくいかなかったので、成功した手順を書いておく。
まだ良くわかっていない部分もある。

前提

  • そこそこでかいリポジトリである
  • branchやtagもある
  • OSはWindows

手順

ディレクトリの作成

$ mkdir C:¥workspace¥hoge
$ cd C:¥workspace¥hoge

git svn init

$ git svn init  http://subversion.example.com/svn/myrepo -T trunk/hoge --prefix svn/

.git/configを編集する。

  • [core]は元ファイルを優先すること
  • [gc]部分の記述が重要だった
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true

# ここから下について変更する。
[svn-remote "svn"]
    noMetadata = 1
    url = http://subversion.example.com/svn/myrepo
    fetch = trunk/hoge:refs/heads/master
    # branchの自動更新が不要なら以下2行は省略可
    branches = branches/*:refs/heads/*
    tags = tags/*:refs/tags/*

# ここの変更が重要だった
[gc]
    auto = 0

git svn fetchをする

  • 結構時間がかかるが途中で失敗することは無かった
  • 完了後にgit gcする
  • 最後に.git/configから[gc]の設定を取り除く
$ git svn fetch --fetch-all
$ git gc
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1