[PATCH 1 of 6 V2] obsstore: add a 'cachekey' method

Jun Wu quark at fb.com
Tue Jun 6 18:13:46 UTC 2017


Excerpts from Martin von Zweigbergk's message of 2017-06-06 11:07:54 -0700:
> There are old clients that strip the obsstore? I thought that was a new
> feature.
> 
> > In addition, this breaks the happen-onlyness of the obsstore.
> 
> What depends on the append-onlyness?
> 
> > Rollback would also no longer be able to just retract the file size to
> > perform its duty.
> 
> Good point.

I think the UUID file could be a separate file like "obsstore.uuid".

So a strip or rollback will do something like (in this order):

  1. change uuid
  2. striip obsstore
  3. change uuid again
  
This also works for changelog. For older clients that do not support uuid,
maybe we can fallback to mtime check.



More information about the Mercurial-devel mailing list