Skip to content

Add support for direct IOVs from filenames

Marco Clemencic requested to merge add-direct-iovs into master

with this change we can replace the special (obscure) IOVs file with a convention on the filenames.

So instead of

  • path/to/cond/IOVs
  • path/to/cond/a
  • path/to/cond/b
  • path/to/cond/c

with IOVs looking like

1234 b
2000 a
2350 c

We can use something like:

  • path/to/cond/.condition
  • path/to/cond/1234
  • path/to/cond/2000
  • path/to/cond/2350

where .condition is a special flag file (empty) used to mark cond as a condition, instead of a plain directory (with conditions inside).

The special .condition file is needed because currently if a directory does not contain an IOVs file it is converted to a string formatted from the list of files and directories contained, so we need a flag to state that the lookup in the directory is special.

With the direct IOVs feature, deduplication of payloads can be achieved by means of symlinks, like in

  • path/to/cond/.pool/value1
  • path/to/cond/.pool/value2
  • path/to/cond/1234 -> .pool/value1
  • path/to/cond/2000 -> .pool/value2
  • path/to/cond/2350 -> .pool/value1

Note that this is mostly useful to reduce excessive disk usage in checked out copies, because the Git database has deduplication built in.

Closes #10 (closed)

Edited by Marco Clemencic

Merge request reports