1. 17 Nov, 2015 7 commits
    • racy: make git_index_read_index handle raciness · 5f32c506
      Ensure that `git_index_read_index` clears the uptodate bit on
      files that it modifies.
      
      Further, do not propagate the cache from an on-disk index into
      another on-disk index.  Although this should not be done, as
      `git_index_read_index` is used to bring an in-memory index into
      another index (that may or may not be on-disk), ensure that we do
      not accidentally bring in these bits when misused.
      Edward Thomson committed
    • racy: ensure git_index_read_tree clears uptodate · c30051f0
      Ensure that `git_index_read_tree` clears the uptodate bit on files
      that it modifies.
      Edward Thomson committed
    • index: clear uptodate bit on save · 27bc41cf
      The uptodate bit should have a lifecycle of a single read->write
      on the index.  Once the index is written, the files within it should
      be scanned for racy timestamps against the new index timestamp.
      Edward Thomson committed
    • index: test for smudged entries on write only · 956f4da8
      Test that entries are only smudged when we write the index: the
      entry smudging is to prevent us from updating an index in a way
      that it would be impossible to tell that an item was racy.
      Consider when we load an index:  any entries that have the same
      (or newer) timestamp than the index itself are considered racy,
      and are subject to further scrutiny.
      
      If we *save* that index with the same entries that we loaded,
      then the index would now have a newer timestamp than the entries,
      and they would no longer be given that additional scrutiny, failing
      our racy detection!  So test that we smudge those entries only on
      writing the new index, but that we can detect them (in diff) without
      having to write.
      Edward Thomson committed
    • checkout::crlf test: don't crash when no idx entry · de999f26
      When there's no matching index entry (for whatever reason), don't
      try to dereference the null return value to get at the id.
      
      Otherwise when we break something in the index API, the checkout
      test crashes for confusing reasons and causes us to step through
      it in a debugger thinking that we had broken much more than we
      actually did.
      Edward Thomson committed
    • index: don't detect raciness in uptodate entries · d1101263
      Keep track of entries that we believe are up-to-date, because we
      added the index entries since the index was loaded.  This prevents
      us from unnecessarily examining files that we wrote during the
      cleanup of racy entries (when we smudge racily clean files that have
      a timestamp newer than or equal to the index's timestamp when we
      read it).  Without keeping track of this, we would examine every
      file that we just checked out for raciness, since all their timestamps
      would be newer than the index's timestamp.
      Edward Thomson committed
    • racy-git: do a single index->workdir diff · cb0ff012
      When examining paths that are racily clean, do a single index->workdir
      diff over the entirety of the racily clean files, instead of a diff
      per file.
      Edward Thomson committed
  2. 13 Nov, 2015 2 commits
  3. 12 Nov, 2015 13 commits
  4. 08 Nov, 2015 2 commits
  5. 04 Nov, 2015 3 commits
  6. 03 Nov, 2015 10 commits
  7. 02 Nov, 2015 3 commits