Используя basename
предполагает, что Вы знаете, каково расширение файла, не так ли?
И я полагаю, что различные предложения регулярного выражения не справляются с именем файла, содержащим больше чем один
, следующее, кажется, справляется с двойными точками. О, и имена файлов, которые содержат "/" сами (только для ударов)
Для перефразирования Паскаля, "Извините этот сценарий является таким длинным. У меня не было времени для создания его короче"
#!/usr/bin/perl
$fullname = $ARGV[0];
($path,$name) = $fullname =~ /^(.*[^\\]\/)*(.*)$/;
($basename,$extension) = $name =~ /^(.*)(\.[^.]*)$/;
print $basename . "\n";
Вы можете возвращать файлы AutoCAD в свою систему Subversion точно так же, как вы возвращаете другие файлы, и вы можете откатывать файлы точно так же, как вы откатываете другие файлы.
Но вы не можете выполнить операцию сравнения или слияния, поскольку файлы autocad являются двоичными файлами.
Subversion обрабатывает файлы любого типа. Однако вы должны знать, что вы не можете различать двоичные файлы (включая Excel и Word, хотя я видел несколько скриптов, которые могут помочь в некоторой степени показать различия между листами Excel).
Однако возможно, эта подрывная программа не распознает ваши файлы AutoCAD как двоичные файлы и обрабатывает их как текст. В этом случае это может привести к повреждению файлов из-за искажения окончания строки. В этом случае установите для свойства svn: mime-type
значение application / octet-stream
(или что-то еще, что отличается от text / plain
- subversion обрабатывает все остальное как двоичное), чтобы эти файлы тоже обрабатывались как двоичные. Вы можете использовать auto-props , чтобы автоматизировать это.
Магик может вам помочь. Прочитайте этот PDF и выполните поиск поворота.
-121--4244501-Нет встроенного способа выполнить это в C++, за исключением записи вашей собственной функции для манипулирования двоичными данными, что дает другие проблемы, как "Как распаковать файл jpg/png в C++?"
Ваша ставка - это графическая библиотека стороннего производителя, такая как libSDL
-121--4244504-Возможно, вы можете объединить и разделить файлы DXF, так как они являются текстовыми файлами, но определенно не формат DWG - это Если вы ищете просто тайм-капсульный тип хранения, то ответ @ bluebrother верен.
Если вам нужны отчеты о различиях, вам придется написать пользовательское приложение или использовать программу сравнения DWG. Существует несколько вариантов сравнения DWG , http://www.wirecad.com/50/diff.htm . Google и обзор. Если вы много знаете об объектной модели AutoCAD, вы узнаете, насколько сложным будет такое приложение. Покупки - это гораздо более простой вариант.
Если вы думаете о трехстороннем слиянии, то я думаю забыть об этом. Блокировка файла при оформлении заказа на 1 Cadder сделает вашу жизнь намного менее сложной.
Должна быть возможность проверять файлы AutoCAD DVB в Subversion. Я делал это несколько раз.
К сожалению, невозможно объединить / разделить эти файлы с помощью Subversion (или любого другого известного мне инструмента). Поэтому я написал сам плагин для VBA IDE. Этот плагин может экспортировать все проекты, находящиеся в настоящее время в среде VBA IDE, в заданный каталог в виде простых исходных файлов. Я также сохраняю исходные файлы DVB, потому что этот экспорт не будет работать для форм.
Таким образом я могу различать отдельные исходные файлы, объединять их и копировать обратно в файл DVB. Занимает много времени, но работает.