image/svg+xml
Julian Foad
en
[num]
"revision"
txn
REVISION:
txn_id
"change"
path
node_rev_id
"add|delete|replace|modify"
text_mod?
prop_mod?
CHANGE:
node_id
node_rev_id
NODE-REV-ID:
"forward-delta-rev"
rev
STRING:
sha1sum
rep_id
REP:
uuid
[num=1]
UUID:
rep_window ...
rep_id
"fulltext|delta"
txn
("md5" md5sum)
("sha1" sha1sum)
string_key |
REPRESENTATION:
id
"file|dir"
created_path
pred_id
pred_count
prop_key
data_or_entries_key
edit_data_key
has_mergeinfo
mergeinfo_count
data-key-uniqid
NODE-REVISION:
cpy_id
"copy|soft-copy"
src_path
src_txn
dest_node_id
COPY:
"transaction|committed|dead"
root_id
base_id | rev
proplist: (p v ...)
copies: (cpy_id ...)
txn_id
TRANSACTION:
path
token
TOKEN:
token
path
token
owner
x-date
cr-date
xml-p
comment
"lock"
LOCK:
Obliterate - how BDB content must change - BEFORE
This diagram shows parts of a BDB repo affected by obliterating ^/d/foo@50,in the "fspec-dd1" model, "file was modified" scenario.
offset
("svndiff" version
size
rep_key
rep_offset
string_key)
str_id
STRING
text
50
"revision"
<t50>
"committed"
0.0.<t50>
rev = 50
<c>
xxx
xxx
<t40>
*.*.<t50>
<t50>
"change"
"/d/foo"
2.0.<t50>
"edit"
yes
xxx
0.0.<t50>
"dir"
"/"
0.0.<t49>
50
xxx
</@50>
nil
(p v ...)
(<c> ...)
</d/@50>
"fulltext"
<t50>
xxx
<s-d/@50>
<s-d/@50>
<t50>
1
xxx
xxx
xxx
nil
1.0.<t40>
</d/@50>
xxx
("svndiff" 1
xxx
xxx
xxx
revisions
uuids
locks
strings
representations
transactions
nodes
changes
lock-tokens
miscellaneous
checksum-reps
node-origins
xxx
<s-d/@50>)
copies
<k>
"/d/foo"
"/d/foo"
<k>
1.0.<t50>
"dir"
"/d"
1.0.<t49>
xxx
xxx
</d/@50>
nil
xxx
xxx
nil
<k>
"lock"
xxx
xxx
xxx
xxx
xxx
( (foo 2.0.t50) )
2.0.<t51>
"file"
"/d/foo"
2.0.<t50>
xxx
xxx
<foo@51>
nil
xxx
xxx
xxx
<w> ...
<foo@51>
"fulltext"
<t51>
xxx
<s-foo@51>
xxx
replace <...t50>
replace <...t50>
mod, if existed
replace <t50> ...
mod
replace <t50>
unchanged,unless /d wasnew in t50
2
2.0.<t50>
mod or del, iffoo was new in t50
replace <c>...
<s-foo@50>
"Apple"
mod, if dependedon <foo@50>
replace
<s-foo@51>
"Orange"
del
keep
replace
2.0.<t50>
"file"
"/d/foo"
2.0.<t49>
xxx
xxx
<foo@50>
nil
xxx
xxx
xxx
del
<w> ...
<foo@50>
"fulltext"
<t50>
xxx
<s-foo@50>
xxx
del
xxx
<foo@50>
xxx
<foo@50>