Я рассматриваю перемещение от подрывной деятельности до мерзавца. Одна из вещей мы используем подрывную деятельность для наших системных администраторов, чтобы управлять вещами как конфигурационные файлы. С этой целью мы помещаем $URL$
в каждый файл, который расширяется до местоположения файла в дереве подрывной деятельности. Это позволяет администраторам посмотреть на файл на некотором произвольном хозяине и фигуре, куда в дереве она прибыла из.
Самый близкий аналог, который я мог найти, является gitattributes. Есть filter=
директива, но кажется, что мерзавец не сообщает к фильтру, какое имя файла это фильтрует, который был бы необходим повернуться $URL$
в путь.
Есть также ident
директива, которая повернулась бы $Id$
в мешанину капли. Это могло бы быть применимо, если можно было бы нанести на карту тот назад в имя пути, но мой мерзавец-fu не достаточно силен.
Какие-либо предложения?
Технологический процесс следующие:
Приближаются к проблеме из совершенно другого угла, как выполняются файлы в конечном итоге на торцевых хостах? Я думаю, что сегодня он либо зарегистрирован там непосредственно или скопирован как-то из уже проверенного репозитория на другом хосте?
Если это так, не могли бы вы изменять свой процесс, чтобы файлы проверены в репозитории Git, и сценарий делает $ URL $
или другое расширение ключевых слов после проверки . Таким образом, вы можете делать все необходимые замены, которые вам нравятся, и только ограничивается только тем, что можно выяснить скриптом в проверенном репозитории.
Systemtap предназначен для решения тех же задач, что и dtrace, и имеет аналогичный пользовательский интерфейс - пользователь пишет небольшие сценарии, которые присоединяют действия к именованным зондам.
Говорят, что это нестабильно, он обычно не компилируется в ваше ядро по умолчанию, но как только я получил его работать, у меня не было никаких проблем.
Вы можете увидеть, как он сравнивает с dtrace в этой таблице на сайте systemtap (Может быть партизанским: -)
Dtrace был частично портирован на Linux Пол Фокс, энтузиаст, и доступен для загрузки для вас, чтобы попробовать - проверьте ссылки на его блог .
Было сказано, что kprobes являются заменой dtrace, но я никогда не пробовал их.
-121--1193215--121--2702168-Начиная с .NET Рамки 4, расположение по умолчанию для глобальный кэш сборки -% windir %\Microsoft.NET\assembly. В более ранних версии .NET Framework, расположение по умолчанию: % windir %\assembly
Как упоминалось в «Имеет ли git что-то вроде svn propset svn: keywords
или пред-/постфиксационных крючков?» , Git не поддерживает расширение ключевых слов.
« Работа с расширением ключевого слова SVN с помощью git-sv » обеспечивает решение, основанное на git config filter
(что не совсем то, что нужно) и/или gitatributes .
Ближайший пример, если расширение информации о файле я нашел его по-прежнему на основе метода smudge/clean, с этим git хэш-фильтром , но чистая часть удаляет его из файла, и путь не может быть найден.
Этот поток фактически периоды его (а также упоминание некоторых команд git-fu, которые могут содержать то, что вы ищете, я не тестировал их):
В любом случае, смешение/чистота не дает немедленного решения проблемы из-за меньших технических недостатков:
фильтру smudge не передается имя извлекаемого файла, поэтому невозможно точно найти идентификатор фиксации.
Однако это облегчается тем фактом, что «smudge» выполняется только для измененных файлов, поэтому последняя фиксация является необходимой.фильтру сглаживания не передан идентификатор фиксации. Это немного серьезнее, так как эту информацию негде получить иначе.
Я попытался использовать значение HEAD, но, по-видимому, оно еще не обновлено в момент запуска «smudge», поэтому файлы заканчиваются датой «предыдущей» фиксации, а не выданной фиксации.
«Предыдущее» означает фиксацию, которая была извлечена ранее. Проблема усугубляется, если другая ветвь извлекается, так как файлы получают отметку времени предыдущей ветви.AFAIR, отсутствие информации в фильтре смута было намеренным, чтобы препятствовать этому конкретному использованию механизма смута/очистки. Тем не менее, я думаю, что это можно пересмотреть, учитывая случай использования Питера: «только извлечение» рабочей области для немедленной публикации на веб-сервере.
Кроме того, любой, кто заинтересован в этом сценарии использования, может реализовать дополнительные аргументы smudge в качестве локального исправления сайта.И тогда есть небольшие неприятности, которые кажутся неизбежными: если изменить «чистый» фильтр и проверить более раннюю редакцию, то будет сообщено, что он имеет изменения (из-за измененного «чистого» определения).