summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-12-04 17:57:34 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-12-04 17:57:34 -0400
commit3a3d1cfa390e01fb6567af899425d53ec0a14a77 (patch)
treed3bc1c9d18a631a34642f22eadc0dbcf53867b92
parent01bf5a9ec04c2e6711e33d6b43562528d3ab7ae4 (diff)
devblog
-rw-r--r--doc/devblog/day_341__starting_smudge.mdwn24
1 files changed, 24 insertions, 0 deletions
diff --git a/doc/devblog/day_341__starting_smudge.mdwn b/doc/devblog/day_341__starting_smudge.mdwn
new file mode 100644
index 000000000..d212ca78a
--- /dev/null
+++ b/doc/devblog/day_341__starting_smudge.mdwn
@@ -0,0 +1,24 @@
+I've gotten git-annex working as a smudge/clean filter today in the
+`smudge` branch. It works ok in a local git repository. `git add` lets
+git-annex decide if it wants to annex a file's content, and checking out
+branches and other git commands involving those files works pretty well.
+
+It can sometimes be slow; git's smudge interface necessarily needs to
+copy the content of files around, particularly when checking out files,
+and so it's never going to be as fast as the good old git-annex symlink
+approach. Most of the slow parts are things that can't be done in direct
+mode repos though, like switching branches, so that isn't a regression.
+
+No git-annex commands to manage the annexed content work yet. That
+will need a key to worktree file mapping to be maintained, and implementing
+that mapping and ensuring its always consistent is probably going to be
+the harder part of this.
+
+Also there's the question of how to handle upgrades from direct mode
+repositories. This will be an upgrade from annex.version 5 to 6, and you
+won't want to do it until all computers that have clones of a repository
+have upgraded to git-annex 6.x, since older versions won't be able to work
+with the upgraded repository. So, the repository upgrade will need to be
+run manually initially, and it seems I'll need to keep supporting direct
+mode for v5 repos in a transition period, which will probably be measured
+in years.