1. 28 Nov, 2018 1 commit
  2. 04 Nov, 2018 1 commit
  3. 03 Nov, 2018 1 commit
    • iterator: optionally hash filesystem iterators · 2b12dcf6
      Optionally hash the contents of files encountered in the filesystem or
      working directory iterators.  This is not expected to be used in
      production code paths, but may allow us to simplify some test contexts.
      
      For working directory iterators, apply filters as appropriate, since we
      have the context able to do it.
      Edward Thomson committed
  4. 10 Jun, 2018 1 commit
  5. 31 Jan, 2018 2 commits
  6. 30 Dec, 2017 1 commit
  7. 29 Dec, 2017 1 commit
  8. 03 Jul, 2017 1 commit
    • Make sure to always include "common.h" first · 0c7f49dd
      Next to including several files, our "common.h" header also declares
      various macros which are then used throughout the project. As such, we
      have to make sure to always include this file first in all
      implementation files. Otherwise, we might encounter problems or even
      silent behavioural differences due to macros or defines not being
      defined as they should be. So in fact, our header and implementation
      files should make sure to always include "common.h" first.
      
      This commit does so by establishing a common include pattern. Header
      files inside of "src" will now always include "common.h" as its first
      other file, separated by a newline from all the other includes to make
      it stand out as special. There are two cases for the implementation
      files. If they do have a matching header file, they will always include
      this one first, leading to "common.h" being transitively included as
      first file. If they do not have a matching header file, they instead
      include "common.h" as first file themselves.
      
      This fixes the outlined problems and will become our standard practice
      for header and source files inside of the "src/" from now on.
      Patrick Steinhardt committed
  9. 14 Nov, 2016 1 commit
  10. 22 Aug, 2016 1 commit
  11. 21 Apr, 2016 1 commit
  12. 02 Apr, 2016 1 commit
  13. 31 Mar, 2016 3 commits
  14. 24 Mar, 2016 7 commits
  15. 23 Mar, 2016 6 commits
  16. 20 Mar, 2016 1 commit
  17. 17 Feb, 2016 2 commits
  18. 11 Feb, 2016 1 commit
  19. 28 Oct, 2015 1 commit
  20. 13 Sep, 2015 1 commit
  21. 11 Sep, 2015 1 commit
    • iterator: advance the tree iterator smartly · a1859e21
      While advancing the tree iterator, if we advance over things that
      we aren't interested in, then call `current`.  Which may *itself*
      call advance.
      
      While advancing the tree iterator, if we advance over things that
      we aren't interested in, then call `current`.  Which may *itself*
      call advance.
      
      While advancing the tree iterator, if we advance over things that
      we aren't interested in, then call `current`.  Which may *itself*
      call advance.
      
      While advancing the tree iterator, if we advance over things that
      we aren't interested in, then call `current`.  Which may *itself*
      call advance.
      
      While advancing the tree iterator, if we advance over things that
      we aren't interested in, then call `current`.  Which may *itself*
      call advance.
      
      Error: stack overflow.
      Edward Thomson committed
  22. 31 Aug, 2015 1 commit
    • iterator: saner pathlist matching for idx iterator · d53c8880
      Some nicer refactoring for index iteration walks.
      
      The index iterator doesn't binary search through the pathlist space,
      since it lacks directory entries, and would have to binary search
      each index entry and all its parents (eg, when presented with an index
      entry of `foo/bar/file.c`, you would have to look in the pathlist for
      `foo/bar/file.c`, `foo/bar` and `foo`).  Since the index entries and the
      pathlist are both nicely sorted, we walk the index entries in lockstep
      with the pathlist like we do for other iteration/diff/merge walks.
      Edward Thomson committed
  23. 30 Aug, 2015 2 commits
  24. 28 Aug, 2015 1 commit
    • iterator: sort subdirs properly with pathlist · 6c9352bf
      When given a pathlist, don't assume that directories sort before
      files.  Walk through any list of entries sorting before us to make
      sure that we've exhausted all entries that *aren't* directories.
      
      Eg, if we're searching for 'foo/bar', and we have a 'foo.c', keep
      advancing the pathlist to keep looking for an entry prefixed with
      'foo/'.
      Edward Thomson committed