SVN コードベースを Git に移行しており、30 を超えるプロジェクトを作成する必要があります。したがって、シェルスクリプトのステップを自動化することで、この問題に取り組みました。
以下はコードスニペットです
test.sh
#!/bin/sh
svn2git http(s)://svn.yyy.xxx.com:1080/SVNROOT/PROJECTSUITE --trunk trunk/SOURCES/Project1 --notags --nobranches --authors /Users/praveen/users.txt --verbose > log.txt
git remote add origin git@gitlab.yyy.xxx.com:PROJECTSUITE/Project1.git
git push origin --all
コマンドがターミナルから個別に実行されると、この移行を正常に実行できます。
「ターミナル」
$ svn2git http(s)://svn.yyy.xxx.com:1080/SVNROOT/MERLINSUITE --username praveen --trunk trunk/SERVER_SOURCES/MerlinTMS --notags --nobranches --authors /Users/praveen/users.txt --verbose
Running command: git svn init --prefix=svn/ --no-metadata --trunk=trunk/SOURCES/Project1 http(s)://svn.yyy.xxx.com:1080/SVNROOT/PROJECTSUITE
Initialized empty Git repository in /Users/praveen/projectFolder/.git/
Running command: git config --local --get user.name
Running command: git config --local svn.authorsfile /Users/praveen/users.txt
Running command: git svn fetch
W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: File not found: revision 100, path '/trunk/SOURCES/Project1'
W: Do not be alarmed at the above message git-svn is just searching aggressively for old history.
This may take a while on large repositories
....
....
success :)
しかし、上記のシェル スクリプトを verbose を使用して実行すると、スタックしてしまいます。テストしたプロジェクトのサイズは約 30MB でした。
log.txt
Running command: git svn init --prefix=svn/ --no-metadata --trunk=trunk/SOURCES/Project1 http(s)://svn.yyy.xxx.com:1080/SVNROOT/PROJECTSUITE
私は何を間違っていますか?svn2git
シェルスクリプト内で呼び出せないのですか?