Skip to content

Instantly share code, notes, and snippets.

@166MMX
Last active December 25, 2015 20:09
Show Gist options
  • Save 166MMX/7033089 to your computer and use it in GitHub Desktop.
Save 166MMX/7033089 to your computer and use it in GitHub Desktop.
svn-fs-dump ::= version-record
[ uuid-record ]
( revision-record node-record+ )+
version-record ::= version-header "\n"
uuid-record ::= uuid-header "\n"
revision-record ::= revision-header "\n"
revision-body "\n"
node-record ::= node-header "\n"
[ node-body "\n" ]
version-header ::= "SVN-fs-dump-format-version"
":" version-nr "\n"
uuid-header ::= "UUID" ":" uuid-string "\n"
revision-header ::= "Revision-number" ":" revision-nr "\n"
"Prop-content-length" ":" prop-len "\n"
"Content-length" ":" content-len "\n"
node-header ::= "Node-path" ":" node-path "\n"
[ "Node-kind" ":" node-kind "\n" ]
"Node-action" ":" node-action "\n"
[ "Node-copyfrom-rev" ":" revision-nr "\n"
"Node-copyfrom-path" ":" node-path "\n" ]
[ "Text-delta" ":" text-delta "\n" ]
[ "Prop-delta" ":" prop-delta "\n" ]
[ "Text-delta-base-md5" ":" md5-hash "\n" ]
[ "Text-delta-base-sha1" ":" sha1-hash "\n" ]
[ "Text-copy-source-md5" ":" md5-hash "\n" ]
[ "Text-copy-source-sha1" ":" sha1-hash "\n" ]
[ "Text-content-md5" ":" md5-hash "\n" ]
[ "Text-content-sha1" ":" sha1-hash "\n" ]
[ "Text-content-length" ":" text-len "\n" ]
[ "Prop-content-length" ":" prop-len "\n" ]
[ "Content-length" ":" content-len "\n" ]
revision-body ::= prop-section
node-body ::= prop-section | text-section |
( prop-section text-section )
prop-section ::= prop-content "PROPS-END" "\n"
text-section ::= text-content "\n"
prop-content ::= property+
text-content ::= text-data
property ::= ( prop-key prop-value ) | prop-del
prop-key ::= "K " prop-key-len "\n"
prop-key-data "\n"
prop-value ::= "V " prop-value-len "\n"
prop-value-data "\n"
prop-del ::= "D " prop-del-len "\n"
prop-del-data "\n"
uuid-string ::= "[[:alnum:]]{8}-[[:alnum:]]{4}-"
"[[:alnum:]]{4}-[[:alnum:]]{4}-[[:alnum:]]{12}"
version-nr ::= "\d+"
revision-nr ::= "\d+"
prop-len ::= "\d+"
text-len ::= "\d+"
content-len ::= "\d+"
prop-key-len ::= "\d+"
prop-value-len ::= "\d+"
prop-del-len ::= "\d+"
prop-key-data ::= <blob>
prop-value-data ::= <blob>
prop-del-data ::= <blob>
text-data ::= <blob>
node-path ::= "[^\n]+"
node-kind ::= "(file|dir)"
node-action ::= "(change|add|delete|replace)"
text-delta ::= "(true|false)"
prop-delta ::= "(true|false)"
md5-hash ::= "[[:alnum:]]{32}"
sha1-hash ::= "[[:alnum:]]{40}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment