protected override void OnFileChange(SvnDeltaFileChangeEventArgs e) { base.OnFileChange(e); if (!_contentAvailable || !e.Path.StartsWith("trunk/")) { return; } string empty = Path.Combine(_tmpdir, "empty"); if (!File.Exists(empty)) { File.WriteAllBytes(empty, new byte[0]); } string name = Path.Combine(_tmpdir, e.Path); string dir = Path.GetDirectoryName(name); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } string tmpName = name + "." + Guid.NewGuid().ToString("N"); if (_inAdd) { e.Target = new SvnDeltaFileTransform(empty, tmpName); } else { e.Target = new SvnDeltaFileTransform(name, tmpName); } e.DeltaComplete += delegate(object sender, SvnDeltaCompleteEventArgs ee) { if (File.Exists(name)) { File.Delete(name); } File.Move(tmpName, name); //Console.WriteLine(string.Format("Wrote '{0}'", e.Path)); if (!_inAdd) { Assert.That(ee.BaseMD5, Is.EqualTo(e.BaseMD5)); } else { Assert.That(e.BaseMD5, Is.Null, "No MD5 for empty base"); } Assert.That(File.Exists(name)); Assert.That(ee.BaseMD5, Is.Not.Null, "BaseMD5 available"); Assert.That(ee.ResultMD5, Is.Not.Null, "ResultMD5 available"); Assert.That(File.ReadAllText(name), Is.Not.EqualTo("")); }; }
protected override void OnFileChange(SvnDeltaFileChangeEventArgs e) { base.OnFileChange(e); if (!_contentAvailable || !e.Path.StartsWith("trunk/")) return; string empty = Path.Combine(_tmpdir, "empty"); if (!File.Exists(empty)) File.WriteAllBytes(empty, new byte[0]); string name = Path.Combine(_tmpdir, e.Path); string dir = Path.GetDirectoryName(name); if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); string tmpName = name + "." + Guid.NewGuid().ToString("N"); if (_inAdd) e.Target = new SvnDeltaFileTransform(empty, tmpName); else e.Target = new SvnDeltaFileTransform(name, tmpName); e.DeltaComplete += delegate(object sender, SvnDeltaCompleteEventArgs ee) { if (File.Exists(name)) File.Delete(name); File.Move(tmpName, name); //Console.WriteLine(string.Format("Wrote '{0}'", e.Path)); if (!_inAdd) Assert.That(ee.BaseMD5, Is.EqualTo(e.BaseMD5)); else Assert.That(e.BaseMD5, Is.Null, "No MD5 for empty base"); Assert.That(File.Exists(name)); Assert.That(ee.BaseMD5, Is.Not.Null, "BaseMD5 available"); Assert.That(ee.ResultMD5, Is.Not.Null, "ResultMD5 available"); Assert.That(File.ReadAllText(name), Is.Not.EqualTo("")); }; }