如何使用sharpsvn签出文件

时间:2015-01-20 11:02:50

标签: sharpsvn vcs-checkout

我试图从远程存储库使用sharpsvn签出文件,但是我发现sharpsvn无法签出单个文件只有checkout文件夹,请帮我知道如何签出文件?Thx。 我的代码

SvnUpdateResult result;
        SvnCheckOutArgs checkoutArgs = new SvnCheckOutArgs();
        string target = txtRepository.Text.Trim();
        SvnUriTarget url = new SvnUriTarget(target);
        string fileName = url.FileName;

        string path = folder + "\\" + fileName;
        using (SvnClient client = new SvnClient())
        {
            try
            {
                client.CheckOut(url,txtLocalFilePath.Text.Trim(),out result);//.Update(path,updateArgs,out result);
                if (result != null)
                {
                    WriteCheckOutTime(txtRepository.Text.Trim(), result.Revision);
                    MessageBox.Show("Check out success!", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }

            }
            catch (SvnException svnException)
            {
                MessageBox.Show(svnException.Message + "Check out error!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            catch (UriFormatException uriException)
            {
                MessageBox.Show(uriException.Message + "Check out error!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

2 个答案:

答案 0 :(得分:1)

您可以使用Subversion查看的最小元素是一个目录。无法签出单个文件。

可以检查目录,但通过Sparse Directories功能将其留空。然后只更新您感兴趣的文件。但您必须从目录开始。

答案 1 :(得分:0)

仅供参考,如果您要按照以下语法检查空使用情况

//first define args

SvnCheckOutArgs args = new SvnCheckOutArgs();

// then  for checkout only forlder empty

args.Depth = SvnDepth.Empty;

//checkout folder

client.CheckOut(url,txtLocalFilePath.Text.Trim(),args,out result)