예제 #1
0
 /// <summary>Create a new iterator to traverse the given directory and its children.</summary>
 /// <remarks>Create a new iterator to traverse the given directory and its children.</remarks>
 /// <param name="root">
 /// the starting directory. This directory should correspond to
 /// the root of the repository.
 /// </param>
 /// <param name="fs">
 /// the file system abstraction which will be necessary to perform
 /// certain file system operations.
 /// </param>
 /// <param name="options">working tree options to be used</param>
 public FileTreeIterator(FilePath root, FS fs, WorkingTreeOptions options) : base(
         options)
 {
     directory = root;
     this.fs   = fs;
     Init(Entries());
 }
예제 #2
0
 /// <summary>Create a new iterator with no parent.</summary>
 /// <remarks>Create a new iterator with no parent.</remarks>
 /// <param name="options">working tree options to be used</param>
 protected internal WorkingTreeIterator(WorkingTreeOptions options) : base()
 {
     state = new WorkingTreeIterator.IteratorState(options);
 }
예제 #3
0
 /// <summary>Create a new iterator with no parent and a prefix.</summary>
 /// <remarks>
 /// Create a new iterator with no parent and a prefix.
 /// <p>
 /// The prefix path supplied is inserted in front of all paths generated by
 /// this iterator. It is intended to be used when an iterator is being
 /// created for a subsection of an overall repository and needs to be
 /// combined with other iterators that are created to run over the entire
 /// repository namespace.
 /// </remarks>
 /// <param name="prefix">
 /// position of this iterator in the repository tree. The value
 /// may be null or the empty string to indicate the prefix is the
 /// root of the repository. A trailing slash ('/') is
 /// automatically appended if the prefix does not end in '/'.
 /// </param>
 /// <param name="options">working tree options to be used</param>
 protected internal WorkingTreeIterator(string prefix, WorkingTreeOptions options)
     : base(prefix)
 {
     state = new WorkingTreeIterator.IteratorState(options);
 }
예제 #4
0
 internal IteratorState(WorkingTreeOptions options)
 {
     this.options     = options;
     this.nameEncoder = Constants.CHARSET.NewEncoder();
 }