Видео ролики бесплатно онлайн

Смотреть мама и сын видео

Официальный сайт avufa 24/7/365

Смотреть видео бесплатно

dront78 18.05.2012 02:10

Я рекомендуюgit-annex

Оригинал
По своему описанию git-annex выглядит необычно. Он использует git для управления файлами, которые могут быть гораздо больше чем те, с которыми справляется git и при этом не добавляет их в репозитарий.

http://joeyh.name/blog/entry/announcing_git-annex/


git-annex предоставляет возможность управления файлами, основываясь на инфраструктуре git так, что перемещение или удаление файлов фиксируется как обычные коммиты. Кроме этого git-annex позволяет создавать клоны и ветки созданных деревьев.

Разработчик Joey Hess рассказывает о способах применения git-annex, которые могут быть применены для хранения большого количества файлов на разных устройствах или компьютерах, часто переносимых с одного места на другое. Функционально, git-annex, предоставляющий информацию о местоположении файлов, в том числе отсутствующих локально, можно воспринимать как иерархический менеджер хранения. Имена файлов находятся в репозитарии, но их содержимое должно быть скопировано из места хранения, возможно даже из отключенного жесткого диска. git-annex сможет определить наличие и получить нужный файл, либо запросить подключение ресурса, где это файл храниться.

Кроме того, git-annex обязательно проверит, что как минимум одна копия (это может быть сконфигурировано на большее число) содержимого файла доступна, перед тем, как удалить его из локального репозитария. Таким образом, пользователь может удалить файлы на своем ноутбуке, зная что при необходимости git-annex сможет достать их вновь. Это один из удобных способов хранения файлов "для архивариусов", говорит разработчик Joey Hess, они могут быть точно уверены что содержимое файла не будет уничтожено.

Однако эти же свойства могут быть полезны и "для кочевников (лучше не нашел перевода;)"
"Когда на акккуме ноутбука осталась одна полоска, Штирлиц скинул интересные файлы на сервер, чтобы посмотреть их позже. Зайдя в магазин кофе, он скачал их на свой USB драйв через халявный WiFi. В самолете, а потом и в туалете он слил на вновь заряженном ноуте файлы с USB обратно на жесткий диск. Закончив разбирать папку Download, он указал git-annex файлы, которые можно сохранить, а какие подлежат забвению и временно удалил оставшиеся локальные файлы, чтобы гестапо при обыске не обнаружило улик. Штирлиц знал, что при необходимости git-annex синхронизирует их вновь"

Вся магия делается с помощью бинарника git-annex, который собирается из Haskell исходников. Интеграция с git так же проста, как набор "git annex ..." В отличии от многих программ, git-annex поставляется с хорошей документацией, включая man страницы. Исходный код доступен в git-репозитарии и во многих дистрибутивах.

Когда файлы добавляются в git-annex, их содержимое переносится в папку .git/annex/objects, заменяя исходник символической ссылкой. Символические ссылки обрабатываются с помощью git, тогда как git-annex отвечает за предоставление содержимого файла.

Создать репозитарий крайне просто:
$ mkdir ~/annextst
$ cd ~/annextst
$ git init
$ git annex init "desktop repo"

Команда "git annex" используется для дальнейшей идентификации репозитария. Следующий шаг - добавление файлов:
$ cp /tmp/big_file .
$ git annex add .
add big_file ok
$ git commit -a -m "added big_file"

Последняя команда может показаться неожиданной, но символические ссылки, созданные git-annex, хранятся с помощью git. Как становится понятно, git репозитарий может быть склонирован в любое место или добавлен как удаленный репозитарий к любому другому. Преобразование этого репозитария в git-annex очень просто:
$ git annex init "some other repo"
в клонированной директории

Получение файла настолько же просто
$ git annex get some_file
как и удаление
$ git annex drop some_file
которое, однако может быть неудачным, если git-annex не сможет найти другую копию в доступных на текущий момент репозитариях (нужно учесть что репозитарии могут быть перезаписаны в любой момент).

Синхронизация между репозитариями обычно делается с помощью "git pull". Так же, приятной фичей является быстрая работа с файлами, уже находящимися в репозитарии git-annex, делающая возможность одинаково легкой работы с файлами любых размеров.

Есть несколько вариантов хранения, используемых git-annex для ассоциации имени файлов с их содержимым. По умолчанию используется WORM (Пишем один раз - читаем много раз), который также наиболее быстр, потому что считает файл неизменным с момента записи в репозитарий.
Другой вариант - SHA1 хранит SHA1 хэш содержимого, что приводит к очень медленной работе на файлах больших размеров, но позволяет отслеживать изменение содержимого.
Также существует URL вариант хранения, когда содержимое файла привязано к его абсолютному значению пути - URL.

Данная статья охватывает git-annex лишь поверхностно. Всем. кто хочет узнать возможности git-annex глубже, настоятельно рекомендуется ознакомится с его документацией, а я пойду спать ;)

Искренне ваш,
Переводчик

PS Не забудьте посмотреть на другие проекты (так Hess сказал)

mr - http://joeyh.name/code/mr/
работает с кучей разных репозитариев, как будто это одна большая репа

etckeeper - http://joeyh.name/code/etckeeper/
встраивается в менеджеры пакетов, и мержит изменения в каталоге /etc после обновления дистра


Тэги: file manager file monitoring git
+ 3 -
Похожие Поделиться

Anrock 18.05.2012 02:15 #
+ 0 -
Что, кат, опять поломали? =\
dront78 20.05.2012 19:39 #
+ 0 -
пачинили ура!
dront78 20.05.2012 19:41 #
+ 0 -
но не до конца - мои комменты в ленте не видны чето или F5 не работает ;)
dront78 20.05.2012 19:45 #
+ 0 -
айай. прошу прощения - жопорез виноват похоже - обновилось наконец
dront78 25.05.2012 21:24 #
+ 0 -
неожиданное обновление - drobbox на основе git annex
http://goo.gl/E8F6X

В хорошем качестве hd видео

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн