2017-11-16 8 views
0

私のwinformsプロジェクトでgitを使用するプロジェクトを追跡したいとします。完全なリポジトリと完全な履歴を複製したくないので、私はちょうど最新のバージョンがほしいと思うので、リモートプロジェクトから新しいリビジョンに更新したいと思っています。LibGit2Sharpリモートリポジトリの最終バージョンの取得

私は

この

co.CredentialsProvider = (_url, _user, _cred) => new UsernamePasswordCredentials { Username = userName, Password = passWord }; 

     Repository.Clone("Git/repo", @tmpRepoFolder, co); 
を試してみましたが、これはリポジトリ全体のコピー(巨大なファイルサイズ)を作成し、変更を追跡するにはさらに大きなディスクスペースを作る(ファイルの100メガバイトは現在2ギガバイトをかけてかかります) 。

私は履歴が不要で、タグは必要ありません。私はちょうど最新バージョンが欲しい。基本的には

+1

可能な複製(https://stackoverflow.com/questions/24037499/work-with-libgit2sharp特定のブランチの最新リビジョン) – fruggiero

答えて

0

は、あなたがプロセスを起動することができます別の方法としてその

ためのオープンissueがあり、実際にサポートされていません浅いクローン(gitのクローン--depthコマンドと同等)をたいgitアプリケーションを使って何をしたいのですか?ここで

例:[特定のブランチの最新リビジョンのみを取得するlibgit2sharpと協力]の

using(System.Diagnostics.Process p = new Process()) 
{ 
    p.StartInfo = new ProcessStartInfo() 
    { 
     RedirectStandardInput = true, 
     RedirectStandardOutput = true, 
     UseShellExecute = false, 
     FileName = @"C:\Program Files\Git\bin\git.exe", 
     Arguments = "clone http://username:[email protected]/to/repo.git" + " --depth 1"     
    }; 

    p.Start(); 
    string output = p.StandardOutput.ReadToEnd(); 
    p.WaitForExit(); 
} 
+0

クローンを行う他のオプションがあるかどうかわかりません--depthはac#コードでハードコードされています。それを行うための子プロセスを作成するか、その他のオプションを使用します。任意のアイデアをいただければ幸いです。 – sahar04

+0

@ sahar04例を追加しました – fruggiero

関連する問題