如何使用 sharpsvn 签出文件

How to checkout a file using sharpsvn

我尝试使用 sharpsvn 从远程存储库检出文件,但我发现 sharpsvn 无法检出单个文件,只能检出文件夹,请帮助我知道如何检出文件?谢谢。 我的代码

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);
            }
        }

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

可以签出一个目录,但通过Sparse Directories功能将其留空。然后只更新你感兴趣的文件。但是你必须从一个目录开始。

仅供参考,如果您想结帐为空,请使用以下语法

//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)