The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Определение типа окончания строк (Windows или Unix) для текстовых файлов в небольшом Web-проекте
Ситуация: небольшой Web-проект разрабатывается несколькими людьми на разных ОС:
Windows и Linux. В результате в некоторых файлах перевод строк сделан в стиле
Windows, в некоторых - в стиле Unix. Неудобство состоит в том, что если
какая-то "интеллектуальная" программа поменяет тип перевода строк, система
контроля версий Subversion помечает все строки как изменившиеся, и нужны
дополнительные усилия чтобы определить реальные изменения. Поэтому было принято
решение определить тип перевода строк в каждом файле, и применить
соответствующие меры (например, использовать атрибут svn:eol-style в subversion).

Скрипт простой, легко кастомизируется под автоматическую конвертацию (с помощью
dos2unix), другие типы файлов, определение стиля Macintosh (в данном случае
различается только Windows и Unix):

   for FILE in `find -iname '*.php' -or -iname '*.css' -or -iname '*.js' -or -iname '*.txt' -or -iname '*.xml'` ; do
      echo -n "$FILE ... " ;
      WIN=`grep -P "\\r$" $FILE | head`;
      if [ -z "$WIN" ] ; then
         echo "Unix"
      else
         echo "Windows"
      fi
   done
 
19.08.2012 , Автор: Kroz
Ключи: shell, linebreak, subversion, eol / Лицензия: CC-BY
Раздел:    Корень / Программисту и web-разработчику / Системы контроля версий и управления исходными текстами

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Карбофос, 22:54, 19/08/2012 [ответить] [смотреть все]
  • +/
    хорошо бы ещё автодетектировать два utf-8  глюкобайта от виндов в начале текстовиков :)
     
  • 1.2, pavlinux, 03:07, 20/08/2012 [ответить] [смотреть все]
  • –1 +/
    code TEXT CONVERSION AND SUBSTITUTION IN UNIX ENVIRONMENT convert DOS new... весь текст скрыт [показать]
     
     
  • 2.7, Crazy Alex, 02:17, 21/08/2012 [^] [ответить] [смотреть все]  
  • –1 +/
    Блин, тут все невесть чем читают... Написано же - им не преобразовывать, а распознавать.
     
     
  • 3.8, pavlinux, 03:00, 21/08/2012 [^] [ответить] [смотреть все]  
  • +/
    Конвертнуть все в один формат, и нефига распознавать. :)
     
  • 3.9, pavlinux, 03:00, 21/08/2012 [^] [ответить] [смотреть все]  
  • +/
    .
     
  • 1.3, Nas_tradamus, 11:20, 20/08/2012 [ответить] [смотреть все]  
  • +/
    man grep

    -P, --perl-regexp
                  Interpret PATTERN as a Perl regular expression.  This option  is
                  not supported in FreeBSD.

     
     
  • 2.4, Crazy Alex, 13:47, 20/08/2012 [^] [ответить] [смотреть все]  
  • +/
    ну так они его и использовали
     
     
  • 3.5, V, 15:43, 20/08/2012 [^] [ответить] [смотреть все]  
  • +/
    он к тому, что на BSD не работает
     
  • 3.6, Crazy Alex, 02:16, 21/08/2012 [^] [ответить] [смотреть все]  
  • +/
    А, человек читать не умеет... В первой строке написано - Windows и Linux. При чём здесь фря?
     
     
  • 4.10, Nas_tradamus, 09:57, 21/08/2012 [^] [ответить] [смотреть все]  
  • +/
    > А, человек читать не умеет... В первой строке написано - Windows и
    > Linux. При чём здесь фря?

    Я намекаю, что бывают часто ситуации: проект разрабатывается на Windows и Linux (очень частое явление), но КРУТИТСЯ под FreeBSD (что тоже бывает - см. хостинги под ISPmanager/VDSmanager).

     
     
  • 5.11, ананим, 12:59, 21/08/2012 [^] [ответить] [смотреть все]  
  • +/
    А следующее предложение намекает что у них разработка на винде и линухе с свн.
    Что говорит о том, что на хостинг уже не влияет.
     
  • 4.12, futu, 20:29, 27/08/2012 [^] [ответить] [смотреть все]  
  • +/
    в скрипте Unix. а не Linux.
     
     
  • 5.13, Crazy Alex, 15:27, 06/09/2012 [^] [ответить] [смотреть все]  
  • +/
    угу. Только относится это к типам окончания строк, а не к тому, на чем скрипт крутится.
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor