Nano Hash - криптовалюты, майнинг, программирование

Git-хуки для хранения/извлечения метаданных

Одной из неизбежных особенностей git является его неспособность хранить и извлекать метаданные о файле. Например, на Mac метки хранятся с «расширенными атрибутами» (доступны с помощью xattr), и любая команда извлечения/сброса/объединения/вытягивания удалит эти атрибуты, если на файл влияет проверка.

Я осмотрелся, чтобы узнать, не написал ли кто-нибудь уже сценарии для сохранения метаданных, но ничего не вышло.

Итак, что я хотел бы сделать, это использовать систему ловушек Git для:

  1. Чтение расширенных атрибутов при фиксации файлов,
  2. Запишите атрибуты в файл, хранящийся в репозитории, который также фиксируется,
  3. Примените расширенные атрибуты к файлам, которые были изменены при слиянии/извлечении/сбросе.

Какой из крючков я должен использовать? post-receive и pre-commit все, что мне нужно? Может ли pre-commit также добавить файл в коммит (т.е. после записи новых атрибутов)?

26.02.2010

  • Почему минус? Если вопрос неудовлетворителен, оставьте комментарий, чтобы я мог его исправить. 30.03.2010

Ответы:


1

Инструмент gibak использует pre-commit и post-checkout, чтобы его ometastore< /em> средство сохранения/восстановления метаданных (необязательно включая xattrs).

Вы не хотите post-receive. Он запускается на удаленном конце push-уведомлений. Он работает для голых репозиториев, поэтому ему нечего пытаться обновить какие-либо файлы из содержимого отправленного коммита. Сделайте это в post-checkout, где вы знаете, что у вас будет рабочее дерево.

27.02.2010
  • post-merge также следует использовать. См. gitooks(5) ftp.kernel.org/pub/software /scm/git/docs/githooks.html 17.03.2010
  • @Сет Джонсон: хороший улов. Вы можете поручить post-merge выполнять ту же работу, что и post-checkout, чтобы восстановить любые метаданные, которые были потеряны при перезаписи файлов слиянием. Однако слияние метаданных может быть сложным, в зависимости от того, как выбранные вами инструменты сохраняют их и делают доступными для просмотра/различия. 17.03.2010
  • Если кому еще интересен такой инструмент как гибак, Slug ( github.com/hbaragar/slug ) похоже, что это недавно поддерживаемая вилка gibak с возможностью резервного копирования в удаленный репозиторий. 13.03.2015

  • 2

    metastore может сохранять и восстанавливать метаданные файла, сохраняя их в отдельном файле (который вы можете включить в свой совершает)

    28.05.2014
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..


    © 2024 nano-hash.ru, Nano Hash - криптовалюты, майнинг, программирование