Beispiel #1
0
        bool IsEntryIgnoredInternal(int pLen)
        {
            IgnoreNode rules = GetIgnoreNode();

            if (rules != null)
            {
                // The ignore code wants path to start with a '/' if possible.
                // If we have the '/' in our path buffer because we are inside
                // a subdirectory include it in the range we convert to string.
                //
                int pOff = pathOffset;
                if (0 < pOff)
                {
                    pOff--;
                }
                string p = TreeWalk.PathOf(path, pOff, pLen);
                switch (rules.IsIgnored(p, FileMode.TREE.Equals(mode)))
                {
                case IgnoreNode.MatchResult.IGNORED:
                {
                    return(true);
                }

                case IgnoreNode.MatchResult.NOT_IGNORED:
                {
                    return(false);
                }

                case IgnoreNode.MatchResult.CHECK_PARENT:
                {
                    break;
                }
                }
            }
            if (parent is NGit.Treewalk.WorkingTreeIterator)
            {
                return(((NGit.Treewalk.WorkingTreeIterator)parent).IsEntryIgnored(pLen));
            }
            return(false);
        }