2011-08-15 10 views
2

私はgit-svnでSVNリポジトリをチェックアウトしようとしていますが、gitがtrunk/branches/tagsディレクトリでうまく動作するようになっています。git-svn checkoutプロジェクトが-sで動作しない

これは正常に動作します:

git svn clone https://svn-repo-base/projects/path/to/my/project/trunk 

しかし、私がしようとすると:

git svn clone -s --no-minimize-url https://svn-repo-base/projects/path/to/my/project/ 

私はクローン化されていないファイルで空のディレクトリを取得します。 (--no-minimize-urlはそこにありますので、gitはhttps://svn-repo-base/にチェックアウトしようとしていました)

私はここで間違っていますか?

答えて

0
  1. 使用git svn initとその後のgit svn fetchではなくgit svn clone。このアプローチは、Subversionリポジトリは、標準のSubversion /trunk/branches/tagsスキームを以下の場合は、-sスイッチだけで動作するはずはるかに安定git svn clone
  2. を超えています。

    git svn init -s https://svn-repo-base/projects/path/to/my/project project.git 
    git svn fetch 
    
  3. svn fetchはかなり頻繁に中断されましたが、再びそれをリコールにシームレスに続けて私のために:あなたのURLでテーリング/trunk/ OMMIT。したがって、私はWindowsバッチファイルを使用してGit-on-SVNリポジトリをすべて更新/再読み込みするスクリプト全体を作成しました。

    @Echo Off 
    
    IF "%1"=="" GOTO noparams 
    
    IF "%1"=="fetch" GOTO fetch 
    
    goto end 
    
    :fetch 
    IF NOT exist .git\svn\refs\remotes goto nosvnwc 
    git svn fetch 
    if ERRORLEVEL 1 goto fetch 
    git svn rebase -l 
    goto end 
    
    :nosvnwc 
    ECHO --- Directory seems not to be a SVN bound Git Repository. Doing plain fetch 
    git fetch --all 
    goto end 
    
    :noparams 
    FOR /d %%f IN (.\*.git) DO (
    cd %%f 
    ECHO --- Fetching %%f SVN Commits ------------------------------------------ 
    call ..\%0 fetch 
    ECHO --- Calling 'git gc --auto' in %%f 
    git gc --auto 
    cd .. 
    ECHO --- Leaving %%f 
    ECHO. 
    ECHO. 
    ) 
    
    :end 
    ECHO Update finished. 
    
:私は(.gitという名前のディレクトリ内の)すべてのgitリポジトリからSVNがコミットし、すべての最新情報を取得するために、この git-fetch-all日常を使用します
関連する問題