private void WriteMergeResponse(IHttpRequest request, MergeActivityResponse mergeResponse, TextWriter output) { output.Write("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"); output.Write("<D:merge-response xmlns:D=\"DAV:\">\n"); output.Write("<D:updated-set>\n"); output.Write("<D:response>\n"); output.Write("<D:href>" + VccPath + "</D:href>\n"); output.Write("<D:propstat><D:prop>\n"); output.Write("<D:resourcetype><D:baseline/></D:resourcetype>\n"); output.Write("\n"); output.Write("<D:version-name>" + mergeResponse.Version.ToString() + "</D:version-name>\n"); output.Write("<D:creationdate>" + Helper.FormatDate(mergeResponse.CreationDate) + "</D:creationdate>\n"); output.Write("<D:creator-displayname>" + mergeResponse.Creator + "</D:creator-displayname>\n"); output.Write("</D:prop>\n"); output.Write("<D:status>HTTP/1.1 200 OK</D:status>\n"); output.Write("</D:propstat>\n"); output.Write("</D:response>\n"); foreach (MergeActivityResponseItem item in mergeResponse.Items) { output.Write("<D:response>\n"); output.Write("<D:href>" + PathParser.ToApplicationPath(request, Helper.Encode(item.Path, true)) + "</D:href>\n"); output.Write("<D:propstat><D:prop>\n"); if (item.Type == ItemType.Folder) { output.Write("<D:resourcetype><D:collection/></D:resourcetype>\n"); } else { output.Write("<D:resourcetype/>\n"); } output.Write("<D:checked-in><D:href>"); output.Write(GetLocalPath("/!svn/ver/" + mergeResponse.Version + Helper.Encode(item.Path, true))); output.Write("</D:href></D:checked-in>\n"); output.Write("</D:prop>\n"); output.Write("<D:status>HTTP/1.1 200 OK</D:status>\n"); output.Write("</D:propstat>\n"); output.Write("</D:response>\n"); } output.Write("</D:updated-set>\n"); output.Write("</D:merge-response>\n"); }