Какая схема используется в svn diff --xml --summarize? - PullRequest
0 голосов
/ 08 января 2019

Я хочу проанализировать вывод svn diff --xml --summarize; это выглядит просто, но мне нужно знать, какие существуют крайние случаи.

Из книги SVN:

$ svn diff --summarize --xml http://svn.red-bean.com/repos/test@r2 \
           http://svn.red-bean.com/repos/test
<?xml version="1.0"?>
<diff>
<paths>
<path
   props="none"
   kind="file"
   item="modified">http://svn.red-bean.com/repos/test/sandwich.txt</path>
<path
   props="none"
   kind="file"
   item="deleted">http://svn.red-bean.com/repos/test/burrito.txt</path>
<path
   props="none"
   kind="dir"
   item="added">http://svn.red-bean.com/repos/test/snacks</path>
</paths>
</diff>

Есть ли место, где схема для этого XML задокументирована?

1 Ответ

0 голосов
/ 08 января 2019

Упс - я говорил слишком рано; опция --xml ссылается на это:

--xml

Печатает вывод в формате XML. Схемы XML для вывода (в формате RELAX NG) хранятся в каталоге subversion / svn / schema / дерева исходных текстов Subversion.

, что здесь и содержит diff.rnc; на сегодня это содержит:

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#
#
# XML RELAX NG schema for Subversion command-line client output
# For "svn diff --summarize --xml"

include "common.rnc"

start = diff

diff = element diff { paths }

paths = element paths { path* }

## A path entry
path = element path { attlist.path, text }
attlist.path &=
  ## The props of the entry.
  attribute props { "none" | "modified" },
  ## The kind of the entry.
  attribute kind { "dir" | "file" },
  ## The action performed against this path.  This terminology
  ## was chosen for consistency with 'svn status'.
  attribute item { "none" | "added" | "modified" | "deleted" }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...