2

Просматривая хранилище Subversion с использованием Firefox и URL-адреса http(s): я хочу быстро взглянуть на текстовые файлы в самом браузере. Однако, хотя Firefox отображает неизвестные типы файлов в виде текста, когда я щелкаю заголовок C, он предлагает только сохранить его или открыть его в MSVS (Visual Studio), а не отображать.

Требования

  • Нужно иметь возможность открыть ссылку в виде текста в браузере в той же или новой вкладке или окне.
    • Желательно также сохранить возможность сохранить или открыть в приложении
  • Желательно, чтобы это можно было сделать, просто щелкая мышью.
  • Хотя проблема может быть связана с сервером Subversion, решение для произвольных сайтов явно предпочтительнее.
  • Хорошим дополнением было бы, если бы можно было настроить поведение по-разному для сайта или страницы.

Ограничения

  • Вряд ли я смогу изменить какие-либо настройки на сервере Subversion. (Я могу нормально вносить изменения в файлы и атрибуты.)

Идеи и попытки

Я подозреваю, что текущее поведение объясняется тем, что .h является известным типом файла, но раньше он вел себя по-другому, даже если MSVS был установлен; однако сервер, возможно, был старше.

Я надеялся, что выбрав «Открыть с помощью блокнота» + «Сделать это автоматически», он появится в меню «Параметры / Приложения», что позволит мне изменить его, но сначала это не сработало, пока я не подумал об обновлении страницы параметров! Но даже тогда у меня есть только выбор загрузки или открытия с приложением, в то время как я хочу открыть его как текст на вкладке Firefox.

Ручной префикс view-source: к URL элемента репозитория работает.

Мне приходит в голову, что определение «приложения», которое открывает URL с префиксом view-source: в Firefox (на новой вкладке или в том же), может работать.

(2017-01-13) Использование Firefox Network Monitor Я вижу, что файл поставляется с текстом MIME-типа text/x-c . Связанная информация в mimeTypes.rdf :

 <RDF:li RDF:resource="urn:mimetype:text/x-c"/>
 …
 <RDF:Description RDF:about="urn:mimetype:externalApplication:text/x-c"
                  NC:prettyName="notepad.exe"
                  NC:path="C:\Windows\System32\notepad.exe" />
 …
 <RDF:Description RDF:about="urn:mimetype:handler:text/x-c"
                  NC:alwaysAsk="true">
   <NC:externalApplication RDF:resource="urn:mimetype:externalApplication:text/x-c"/>
   <NC:possibleApplication RDF:resource="urn:handler:local:C:\Windows\System32\notepad.exe"/>
 </RDF:Description>
 …
 <RDF:Description RDF:about="urn:mimetype:text/x-c"
                  NC:value="text/x-c"
                  NC:editable="true"
                  NC:fileExtensions="h"
                  NC:description="C/C++ Header">
   <NC:handlerProp RDF:resource="urn:mimetype:handler:text/x-c"/>
 </RDF:Description>

Следуя ответу Бена, установка свойства Subversion svn:mime-typetext/plain решает проблему - затем она обрабатывается как таковая, но если это не требуется, можно использовать документацию Mozilla для mimeTypes.rdf, чтобы изменить обработка text/x-c - но мне не понятно как.

Смежные вопросы

Заметки

  • Тег с [svn], поскольку это может зависеть от того, как ссылки обслуживаются.
  • Помечен [windows], поскольку это может зависеть от известных типов файлов, определенных в MS Windows.
  • Сервер Subversion - это TeamForge/CollabNet © 2014 ¿, который не может получить версию ни одним из методов в SO / как найти мой номер версии сервера? ,

1 ответ1

2

Часто серверы SVN автоматически используют тип текстового контекста при обслуживании файлов .c/.h, поэтому я удивлен, что это уже не происходит для вас.

Вы можете попытаться установить для свойства svn:mime-type в этих файлах значение «text /plain» или проверить, что другой тип mime еще не установлен для этих файлов. Серверы SVN используют это свойство для определения типа содержимого http в ответе на запрос GET. Экспериментируйте с одним или двумя файлами, прежде чем применять его глобально, однако!


http://svnbook.red-bean.com/en/1.8/svn.advanced.props.file-portability.html#svn.advanced.props.special.mime-type

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .