@Override public void startElement(@NotNull String uri, @NotNull String localName,
		                                   @NotNull String name, @NotNull Attributes attributes) throws SAXException {
			if (name.equals("logentry")) {
				revision = attributes.getValue("revision");
				revisionBefore = previous(revision);
			} else if (name.equals("author")) {
				expectAuthor = true;
				author = "";
			} else if (name.equals("date")) {
				expectDate = true;
				commitDateString = "";
			} else if (name.equals("msg")) {
				expectComment = true;
				comment = "";
			} else if (name.equals("path")) {
				changeType = asChangeType(attributes.getValue("action"));
				String kind = attributes.getValue("kind");
				isFileChange = (kind == null || kind.isEmpty() || "file".equals(kind));
				isCopy = attributes.getValue("copyfrom-path") != null;
				copyFromFilePath = trimPath(attributes.getValue("copyfrom-path"));
				copyFromRevision = attributes.getValue("copyfrom-rev");
				filePath = "";
				expectFileName = true;

				boolean isPropertiesModification = parseBoolean(attributes.getValue("prop-mods"));
				isTextModification =
						(attributes.getValue("text-mods") == null && !isPropertiesModification) ||
								parseBoolean(attributes.getValue("text-mods"));
			}
		}