From ef2815ff91afe2c4a3ef681b26fe7e0089076f9d Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 12 Nov 2014 17:03:24 -0400 Subject: devblog --- doc/devblog/day_233__direct_mode_proxy.mdwn | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 doc/devblog/day_233__direct_mode_proxy.mdwn (limited to 'doc') diff --git a/doc/devblog/day_233__direct_mode_proxy.mdwn b/doc/devblog/day_233__direct_mode_proxy.mdwn new file mode 100644 index 000000000..21a2f2d00 --- /dev/null +++ b/doc/devblog/day_233__direct_mode_proxy.mdwn @@ -0,0 +1,29 @@ +Ever since the direct mode guard was added a year ago, direct mode has been +a lot safer to use, but very limited in the git commands that could be run +in a direct mode repository. + +The worst limitation was that there was no way to `git revert` unwanted +changes. But also, there was no way to check out different branches, +or run commands like `git mv`. + +Today I made `git annex proxy`, which allows doing all of those things, +and more. [documentation here](http://git-annex.branchable.com/direct_mode/#index5h2) + +It's so flexible that I'm not sure where the boundries lie yet, but it +seems it will work for any git command that updates both the work tree and +the index. Some git commands only update one or the other and not both and +won't work with the proxy. As an advanced user tool, I think this is a +great solution. I still want to make a simpler +[[undo command|todo/direct_mode_undo]] that can nicely integrate into file +managers. + +The implementation of `git annex proxy` is +[quite simple](http://source.git-annex.branchable.com/?p=source.git;a=blob;f=Command/Proxy.h), because it +reuses all the complicated work tree update code that was already written +for `git annex merge`. + +---- + +And here's the lede I buried: I've gotten two years of funding to work +on git-annex part-time! +[Details in my personal blog](http://joeyh.name/blog/entry/continuing_to_be_pleasantly_surprised/). -- cgit v1.2.3