Exemple #1
0
        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);
        }
Exemple #2
0
        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);
            }
        }