devblog
This commit is contained in:
parent
4a788fbb3b
commit
d3e3fcb8fc
1 changed files with 52 additions and 0 deletions
52
doc/devblog/day_549__operating_on_hidden_files.mdwn
Normal file
52
doc/devblog/day_549__operating_on_hidden_files.mdwn
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
Goal for today was to make `git annex sync --content` operate on files hidden by
|
||||||
|
`git annex adjust --hide-missing`. However, this got into the weeds pretty
|
||||||
|
quickly due to the problem of how to handle `--content-of=path` when
|
||||||
|
either the whole path or some files within it may be hidden.
|
||||||
|
|
||||||
|
Eventually I discovered that `git ls-files --with-tree` can be used to
|
||||||
|
get a combined list of files in the index plus files in another tree,
|
||||||
|
which in git-annex's case is the original branch that got adjusted.
|
||||||
|
It's not documented to work the way I'm using it (worrying), but it's
|
||||||
|
perfect, because git-annex already uses `git ls-files` extensively and this
|
||||||
|
could let lots of commands get support for operating on hidden files.
|
||||||
|
|
||||||
|
That said, I'm going to limit it to `git annex sync` for now,
|
||||||
|
because it would be a lot of work to make lots of commands support them,
|
||||||
|
and there could easily be commands where supporting them adds lots of
|
||||||
|
complexity or room for confusion.
|
||||||
|
|
||||||
|
Demo time:
|
||||||
|
|
||||||
|
joey@darkstar:/tmp> git clone ~/lib/sound/
|
||||||
|
Cloning into 'sound'...
|
||||||
|
done.
|
||||||
|
Checking out files: 100% (45727/45727), done.
|
||||||
|
joey@darkstar:/tmp> cd sound/
|
||||||
|
joey@darkstar:/tmp/sound> git annex init --version=6
|
||||||
|
init (merging origin/git-annex origin/synced/git-annex into git-annex...)
|
||||||
|
(scanning for unlocked files...)
|
||||||
|
ok
|
||||||
|
joey@darkstar:/tmp/sound> git annex adjust --hide-missing
|
||||||
|
adjust
|
||||||
|
Switched to branch 'adjusted/master(hidemissing)'
|
||||||
|
ok
|
||||||
|
joey@darkstar:/tmp/sound#master(hidemissing)> ls
|
||||||
|
podcasts
|
||||||
|
joey@darkstar:/tmp/sound#master(hidemissing)> ls podcasts
|
||||||
|
feeds
|
||||||
|
joey@darkstar:/tmp/sound#master(hidemissing)> git annex sync origin --no-push -C podcasts
|
||||||
|
...
|
||||||
|
joey@darkstar:/tmp/sound> time git annex adjust --hide-missing
|
||||||
|
adjust
|
||||||
|
ok
|
||||||
|
15.03user 3.11system 0:14.95elapsed 121%CPU (0avgtext+0avgdata 93280maxresident)k
|
||||||
|
0inputs+88outputs (0major+12206minor)pagefaults 0swaps
|
||||||
|
joey@darkstar:/tmp/sound#master(hidemissing)> ls podcasts
|
||||||
|
Astronomy_Cast/ Hacking_Culture/
|
||||||
|
Benjamen_Walker_s_Theory_of_Everything/ In_Our_Time/
|
||||||
|
Clarkesworld_Magazine___Science_Fiction___Fantasy/ Lightspeed_MagazineLightspeed_Magazine___Science_Fiction___Fantasy/
|
||||||
|
DatCast/ Long_Now__Seminars_About_Long_term_Thinking/
|
||||||
|
Escape_Pod/ Love___Radio/
|
||||||
|
Gravy/ feeds
|
||||||
|
|
||||||
|
Close to being able to use this on my phone. ;-)
|
Loading…
Add table
Reference in a new issue