4

我尝试使用来自远程存储库的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);
            }
        }
4

2 回答 2

3

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

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

于 2015-01-26T02:11:59.080 回答
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)
于 2019-04-18T09:51:33.923 回答