レイアウトは次のとおりです。
Branches\
Project1/
Branch11/
...
Branch1N/
Project2/
Branch21/
ProjectX/ # not anywhere else
Excluded1\
Excluded2\
Excluded3\
Excluded4\
Programs\
Excluded11\
...
Excluded1N\
Project1/ # the main one
Project2/
...
ProjectN/
Tags\
Project1/
Release1/
...
Release69/
除外することができましたが、ブランチ/タグをgitブランチ/タグにマップする方法を完全に理解できません-できれば事後(各クローンには約5時間かかります)。
私はSVNを初めて使用することを覚えておいてください-私は分岐/タグ付けシステムを知りませんし、理解していません。
私はwindozを使用しています-svn2gitはオプションではありません(とにかく、クローンの後にこれを行う方法、またはさらに悪いことに再びクローンを作成する方法に興味がありますが、バニラgitのみを使用します)
また、これを永続的な移行として意図するものではなく、ブリッジとして機能しますSVN と dev で使用される新しい git レポジトリの間 - だから私はできるだけ多くの情報を保持したい - しかし必要以上のものはありません. ある時点で永続的になる可能性があります-空のコミットを(除外されたプロジェクトに)除外する必要があると思います(?)
指示 :
$ git svn clone --ignore-paths="^(?:Releases|Projects|Scripts|Games|)/|^Programs/(?:Nif Scanner|Nif Viewer|Raziel23x's Oblivion Toolset|Shader Disasm|Shader Editor)/" --authors-file=authors_with_emails.txt svn://svn.code.sf.net/p/oblivionworks/code/ .
クローンの後、私は持っています:
$ git branch -r
git-svn
$ git branch
* master
要約:除外したいものを除いてクローンBranches
を作成しました-今、gitに「これらのsvnブランチのそれぞれにgitブランチを作成します-デルタを計算して圧縮し、フォルダーを削除する実際のgitブランチを作成します-そしてそれらを追跡します - この (700 mb) タグ ディレクトリは単なるタグです - それについて何ができますか (彼らはそうします)いいえ
コミットに対応します) ?」悪のトランク
私のconfig
:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[svn-remote "svn"]
ignore-paths = ^(?:Releases|Projects|Scripts|Games|)/|^Programs/(?:Nif Scanner|Nif Viewer|Raziel23x's Oblivion Toolset|Shader Disasm|Shader Editor)/
url = svn://svn.code.sf.net/p/oblivionworks/code
fetch = :refs/remotes/git-svn
[svn]
authorsfile = authors_with_emails.txt
[gui]
wmstate = zoomed
geometry = 787x377+54+59 305 1127
[remote "github"]
url = https://github.com/Utumno/wrye_bash_refactoring.git
fetch = +refs/heads/*:refs/remotes/github/*
[branch "master"]
remote = github
merge = refs/heads/master