#r
#r
Вопрос:
Я хотел бы максимально упростить исправление опечаток для разработчиков R. Как я могу отправить файл различий, создающий такой «патч»?
Кроме того, куда я должен отправить опечатку? По электронной почте? Опубликовать ошибку? Отправьте его в r-devel?
В основном меня беспокоят небольшие опечатки, такие как орфографические ошибки или грамматические исправления.
Я не могу вспомнить, где была последняя опечатка, которую я видел, но только в качестве примера, давайте просто предположим, что я хотел бы изменить «назад» на «назад» в «обратная совместимость» в файле справки для ls. Как я могу создать исправление различий?
Спасибо
Ответ №1:
Исправления часто создаются с использованием унифицированного контекста diff. Вы можете создать такую разницу с помощью diff -u
.
Допустим, вы начинаете с файла foo
со следующим содержимым.
Blah
Blah
Blah
Затем вы изменяете его, сохраняя изменения в новом файле с именем foo.modified
. Вот содержимое foo.modified
:
Blah
Blah
New information!
Blah -- changing this line
Теперь выполнение diff -u foo foo.modified
приводит к следующему.
--- foo 2011-11-05 20:59:13.000000000 -0700
foo.modified 2011-11-05 20:59:44.000000000 -0700
@@ -1,3 1,4 @@
Blah
Blah
-Blah
New information!
Blah -- changing this line
Обратите внимание, что различия во многих системах контроля версий отображают разницу в унифицированном контексте.
Что касается того, куда отправлять ошибки в R: похоже, для этого есть встроенная функция: bug.report
. В качестве альтернативы, есть веб-интерфейс к системе отслеживания ошибок R.
Ответ №2:
Совет @David Alber по поводу форматов diff хорош (хотя я часто использую diff -c
вместо этого), но я прошу не согласиться с лучшей целью (он предлагает bug.report
и систему отслеживания ошибок R).
- Для простых типографских ошибок обычно лучше всего отправить быстрое электронное письмо с достаточным неформальным контекстом в
r-devel@r-project.org
список рассылки (убедитесь, что вы используете последнюю версию! — смотрите следующий пункт). Вот как я это делаю, и, похоже, разработчики R предпочитают это, потому что это означает, что им не нужно иметь дело с полным механизмом отчетности об ошибках. (Единственная документация по этому протоколу, которую я могу легко найти, — это заметка Брайана Рипли от 2007.) - Если вы собираетесь сообщать об ошибках более систематически, лучшее, что вы можете сделать, чтобы вложить средства, — это получить последнюю версию Subversion отhttps://svn.R-project.org/R/trunk (здесь есть краткое, хотя и слегка устаревшее описание), внесите изменения в файл удаленного доступа, а затем запустите
svn diff
, чтобы получить различия с последней версией. Как указано выше, отправьте его наr-devel
(я полагаю, что вложения текстовых файлов сохраняются в электронном письме наr-devel
). - Не забывайте обычные предостережения при отправке отчетов об ошибках: (1) убедитесь, что вы сообщаете о самой последней версии (как указано выше, SVN лучше всего, если вы можете это выдержать); (2) убедитесь, что все, о чем вы сообщаете, определенно является ошибкой / опечаткой; (3) обязательно сообщите в соответствующие органы, т. Е. сообщите об ошибках / опечатках в предоставленных пакетах сопровождающему (соответствующий пакет должен быть указан в начале файла справки и
maintainer("pkg")
найдет e-mail). почтовый адрес сопровождающего).
Комментарии:
1. Я могу привести более свежую (с марта 2011 года) цитату для протокола: bugs.r-project.org/bugzilla3/show_bug.cgi?id=14540#c1
2. @Ben Спасибо, Бен! Все это звучит как хороший совет! Спасибо за вашу помощь и время.