36 lines
1.5 KiB
Markdown
36 lines
1.5 KiB
Markdown
Since uuid.log, trust.log and remote.log are union merged, it's possible
|
|
for any given item in them to have multiple values after a merge.
|
|
This would happen, for example, if the value was changed in different ways
|
|
in two repos which were then merged. git-annex will use an arbitrary
|
|
one of the multiple values.
|
|
|
|
A workaround if this should happen to you is to use `git annex describe`
|
|
or other commands to re-set the value you want. The process of setting
|
|
the value will remove the multiple lines.
|
|
|
|
To fix this the file format needs to be changed to include a timestamp
|
|
as is done with the other log files, then git-annex can consistently
|
|
pick the newest value -- which is as close to the "right" value as can be
|
|
determined in this situation.
|
|
|
|
----
|
|
|
|
File format backwards-compatability is the issue. Ideally, old git-annex
|
|
would keep working, ignoring the timestamp.
|
|
|
|
- uuid.log: "uuid description timestamp" would work; old git-annex
|
|
would just treat the timestamp as part of the description which would be
|
|
ok
|
|
> update: converted! --[[Joey]]
|
|
- trust.log: "uuid trustlevel timestamp" would work; old git-annex
|
|
ignores trailing words
|
|
> update: converted! --[[Joey]]
|
|
- remote.log: "uuid key=value ... timestamp" is on the edge but does work
|
|
(old git-annex will include the timestamp in the key/value map it builds,
|
|
but that should not break anything really)
|
|
> update: converted! --[[Joey]]
|
|
|
|
Appending "timestamp=xxxxx" would be good for clarity, and make
|
|
it easier to parse the timestamp out from lines that have it.
|
|
|
|
> [[done]] --[[Joey]]
|