public void Copy_CopyTest() { SvnSandBox sbox = new SvnSandBox(this); sbox.Create(SandBoxRepository.Default); string WcPath = sbox.Wc; Uri WcUri = sbox.Uri; using (SvnClient client = NewSvnClient(true, false)) { string file = Path.Combine(WcPath, "CopyBase"); TouchFile(file); client.Add(file); client.Commit(WcPath); client.RemoteCopy(new Uri(WcUri, "CopyBase"), new Uri(WcUri, "RemoteCopyBase")); bool visited = false; bool first = true; client.Log(new Uri(WcUri, "RemoteCopyBase"), delegate(object sender, SvnLogEventArgs e) { if (first) { first = false; foreach (SvnChangeItem i in e.ChangedPaths) { Assert.That(i.Path, Is.StringEnding("trunk/RemoteCopyBase"), "Path ends with folder/RemoteCopyBase"); Assert.That(i.Action, Is.EqualTo(SvnChangeAction.Add)); Assert.That(i.CopyFromPath, Is.StringEnding("trunk/CopyBase"), "CopyFromPath ends with folder/CopyBase"); Assert.That(i.CopyFromRevision, Is.GreaterThan(0L)); Assert.That(i.NodeKind, Is.EqualTo(SvnNodeKind.File)); } } else { foreach (SvnChangeItem i in e.ChangedPaths) { Assert.That(i.Action, Is.EqualTo(SvnChangeAction.Add)); Assert.That(i.Path, Is.StringEnding("trunk/CopyBase"), "Path ends with folder/CopyBase"); Assert.That(i.NodeKind, Is.EqualTo(SvnNodeKind.File)); visited = true; } } }); Assert.That(visited, "Visited log item"); client.Copy(new SvnPathTarget(file), Path.Combine(WcPath, "LocalCopy")); client.Commit(WcPath); visited = false; first = true; client.Log(new Uri(WcUri, "LocalCopy"), delegate(object sender, SvnLogEventArgs e) { if (first) { foreach (SvnChangeItem i in e.ChangedPaths) { Assert.That(i.Path, Is.StringEnding("trunk/LocalCopy"), "Path ends with folder/LocalCopy"); Assert.That(i.Action, Is.EqualTo(SvnChangeAction.Add)); Assert.That(i.CopyFromPath, Is.StringEnding("trunk/CopyBase"), "CopyFromPath ensd with folder/CopyBase"); Assert.That(i.CopyFromRevision, Is.GreaterThan(0L)); } first = false; } else { foreach (SvnChangeItem i in e.ChangedPaths) { Assert.That(i.Action, Is.EqualTo(SvnChangeAction.Add)); Assert.That(i.Path, Is.StringEnding("trunk/CopyBase"), "Path ends with folder/CopyBase"); visited = true; } } }); Assert.That(visited, "Visited local log item"); } }