Skip to content
Snippets Groups Projects
  1. Nov 15, 2014
  2. Nov 14, 2014
  3. Nov 12, 2014
  4. Oct 18, 2014
  5. Nov 05, 2014
  6. Nov 14, 2014
  7. Nov 13, 2014
    • Pierre-Yves David's avatar
      transaction: set backupentries version to proper value · 99109857
      Pierre-Yves David authored
      Now that all mechanisms are in place, we can advertise it with a
      proper new version.
      99109857
    • Pierre-Yves David's avatar
      transaction: support cache file in backupentries · 006e9ef0
      Pierre-Yves David authored
      We do not want to abort if anything wrong happen while handling a cache file.
      Cache file have way to be invalidated and if old/bad version stay no
      misbehavior will happen. Proper value will eventually be computed and the wrong
      will be righten.
      
      This changeset use the transaction reporter (usually writing on stderr) to write
      details about failed cache handling. This will only apply to write operation
      using a transaction. The usual update during read only operation will stay a
      debug message.
      
      I was on the way to bring these message back to debug level when I realised it
      could be a feature. People with write access to the repository are likely to
      have the power to fix error related to cache (and it is valuable to fix them).
      So let the things as is for now.
      006e9ef0
  8. Oct 18, 2014
  9. Nov 05, 2014
    • Pierre-Yves David's avatar
      transaction: change the on disk format for backupentries · 7eb520f5
      Pierre-Yves David authored
      We need to store new data to improve the current transaction logic:
      
      - location: We want to generate and backup file outside of the 'store' (eg:
        bookmarks, or various cache files). This requires knowing and preserving where
        each file is located. The value of this new field is a string. It will be used
        as a key for a vfs mapping.
      
      - cache: We would like to handle cache file in the transaction code. This
        Will help to have cache consistent with the repository state and avoid
        performance issue on big repository like Mozilla. However, failure to handle
        cache file should not result in a transaction failure. We add a new field that
        carry this information. The value is boolean, A True value mean any error
        while handling this file can be ignored.
      
      Those two mechanisms are not implemented yet, but they are now persisted in the
      on disk file. Support for new mechanisms is coming in later changeset.
      
      We update the file format now and will introduce the new features in later
      changeset. The format version is set to 0 until we actually support the new feature.
      This will prevent misunderstanding between incomplete and final client.
      
      Support for reading both version 1 and (future) version 2 could be achieved
      (using default value when reading version 1) but has not been seen as necessary
      for now.
      7eb520f5
  10. Nov 13, 2014
  11. Nov 14, 2014
  12. Oct 23, 2014
    • Martin von Zweigbergk's avatar
      manifest: add matches() method · 0cc283f4
      Martin von Zweigbergk authored
      Move the code in context._manifestmatches() into a new
      manifest.matches(). It's a natural place for the code to live and it
      allows other callers to easily use it. It should also make it easier
      to optimize the new method in alternative implementations of the
      manifest (same reasoning as with manifest.diff()).
      0cc283f4
  13. Nov 13, 2014
  14. Nov 08, 2014
  15. Nov 05, 2014
    • Pierre-Yves David's avatar
      transaction: allow registering a temporary transaction file · 03d2d693
      Pierre-Yves David authored
      During the transaction, files may be created to store or expose data
      involved in the transaction (eg: changelog index data are written in
      a 'changelog.i.a' for hooks). But we do not have an official way to
      record such file creation and make sure they are cleaned up. The lack
      of clean-up is currently okay because there is a single file involved
      and a single producer/consumer.
      
      However, as we want to expose more data (bookmarks, phases, obsmarker)
      we need something more solid. The 'backupentries' mechanism could
      handle that. Temporary files can be encoded as a backup of nothing
      '('', <temporarypath>)'. We "need" to attach it to the same mechanism
      as we use to be able to use temporary transaction files outside of
      .'store/' and 'backupentries' is expected to gain such feature.
      
      This changeset makes it clear that we should rename 'backupentries' to
      something more generic.
      03d2d693
  16. Nov 13, 2014
  17. Nov 09, 2014
  18. Nov 12, 2014
Loading