public void TestHasBinaryProp() { SvnSandBox sbox = new SvnSandBox(this); sbox.Create(SandBoxRepository.AnkhSvnCases); string WcPath = sbox.Wc; SvnWorkingCopyState state; SvnWorkingCopyStateArgs a = new SvnWorkingCopyStateArgs(); a.RetrieveFileData = true; SvnWorkingCopyClient wcc = new SvnWorkingCopyClient(); wcc.GetState(Path.Combine(WcPath, "Form.cs"), out state); // first on a file Assert.That(state.IsTextFile); wcc.GetState(Path.Combine(WcPath, "App.ico"), out state); Assert.That(state.IsTextFile, Is.False); wcc.GetState(WcPath, out state); // check what happens for a dir //Assert.IsFalse(state.IsTextFile); }
void UpdateTextFile() { SvnItemState value = SvnItemState.IsDiskFile | SvnItemState.Versioned; SvnItemState v; bool isTextFile; if (TryGetState(SvnItemState.Versioned, out v) && (v == 0)) { isTextFile = false; } else if (GetState(value) != value) { isTextFile = false; } else { using (SvnWorkingCopyClient client = _context.GetService <ISvnClientPool>().GetWcClient()) { SvnWorkingCopyStateArgs a = new SvnWorkingCopyStateArgs(); a.ThrowOnError = false; a.RetrieveFileData = true; SvnWorkingCopyState state; if (client.GetState(FullPath, out state)) { isTextFile = state.IsTextFile; } else { isTextFile = false; } } } if (isTextFile) { SetState(SvnItemState.IsTextFile, SvnItemState.None); } else { SetState(SvnItemState.None, SvnItemState.IsTextFile); } }