SharpSvn - 如何在没有工作副本的情况下保存MemoryStream中的更改

时间:2011-01-07 15:31:36

标签: commit memorystream sharpsvn

我有这个代码将uri的内容输入MemorySream:

MemoryStream ms = new MemoryStream();
SvnTarget target = new SvnUriTarget(new Uri(webConfigUri));
client.Write(target, ms);
string webConfigText = Encoding.ASCII.GetString(bms.ToArray());
webConfigText = webConfigText.Replace(oldLine, newLine);

这很有效。

问题:我现在如何保存我所做的更改(在webConfigText中)?

谢谢,我现在正在撕扯我的头发。 d

1 个答案:

答案 0 :(得分:1)

重新阅读此问题,您似乎希望将更改提交回存储库。没有工作副本,你不能这样做。如果您真的只想这样做,请在临时目录中创建一个工作副本,然后将其删除。

var client = new SvnClient();   
string workingCopy = Path.Combine(Path.GetTempDir(), "workingcopy";
client.CheckOut(new Uri(reposUri), workingCopy);

// modify the file(s)
client.Commit(workingCopy, new SvnCommitArgs { LogMessage = "Automatic commit" });