Today I built git annex view
, and git annex vadd
and a few related
commands. A quick demo:
joey@darkstar:~/lib/talks>ls Chaos_Communication_Congress/ FOSDEM/ Linux_Conference_Australia/ Debian/ LibrePlanet/ README.md joey@darkstar:~/lib/talks>git annex view tag=* view (searching...) Switched to branch 'views/_' ok joey@darkstar:~/lib/talks#_>tree -d . |-- Debian |-- android |-- bigpicture |-- debhelper |-- git |-- git-annex `-- seen 7 directories joey@darkstar:~/lib/talks#_>git annex vadd author=* vadd Switched to branch 'views/author=_;_' ok joey@darkstar:~/lib/talks#author=_;_>tree -d . |-- Benjamin Mako Hill | `-- bigpicture |-- Denis Carikli | `-- android |-- Joey Hess | |-- Debian | |-- bigpicture | |-- debhelper | |-- git | `-- git-annex |-- Richard Hartmann | |-- git | `-- git-annex `-- Stefano Zacchiroli `-- Debian 15 directories joey@darkstar:~/lib/talks#author=_;_>git annex vpop vpop 1 Switched to branch 'views/_' ok joey@darkstar:~/lib/talks#_>git annex vadd tag=git-annex vadd Switched to branch 'views/(git-annex)' ok joey@darkstar:~/lib/talks#(git-annex)>ls 1025_gitify_your_life_{Debian;2013;DebConf13;high}.ogv@ git_annex___manage_files_with_git__without_checking_their_contents_into_git_{FOSDEM;2012;lightningtalks}.webm@ mirror.linux.org.au_linux.conf.au_2013_mp4_gitannex_{Linux_Conference_Australia;2013}.mp4@ joey@darkstar:~/lib/talks#_>git annex vpop 2 vpop 2 Switched to branch 'master' ok
Not 100% happy with the speed -- the generation of the view branch is close
to optimal, and fast enough (unless the branch has very many matching
files). And vadd
can be quite fast if the view has already limited the
total number of files to a smallish amount. But view
has to look at every
file's metadata, and this can take a while in a large repository. Needs indexes.
It also needs integration with git annex sync
, so the view branches
update when files are added to the master branch, and moving files around
inside a view and committing them does not yet update their metadata.
Today's work was sponsored by Daniel Atlas.