summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2010-10-12 02:00:29 -0400
committerGravatar Joey Hess <joey@kitenet.net>2010-10-12 02:00:29 -0400
commitc8002bd91b03b66c195014ecaa9111c50fa5e716 (patch)
tree444f5ecfe5b5defcdfc499d22f5d1dd59341f6d4 /TODO
parenteea55856e9db85884a7fb28ce1b408fdbc05f90f (diff)
update
Diffstat (limited to 'TODO')
-rw-r--r--TODO34
1 files changed, 33 insertions, 1 deletions
diff --git a/TODO b/TODO
index ea930f803..b08784ec2 100644
--- a/TODO
+++ b/TODO
@@ -1,7 +1,39 @@
* bug when annexing files in a subdir of a git repo
* how to handle git mv file?
-* query remotes for their annex.name settings
+* query remotes for their annex.name settings, or figure out a different
+ solution to nameing problem?
+
+ - querying network remotes all the time will be slow. local caching in
+ .git/config?
+ - having a git annex name and a git remote name that are distinct
+ will be confusing
+ - but git remote names are repo-local, I want a global name
+ - really, I don't want a name at all, I want a per-repo UUID
+
+ So, each repo has a UUID, stored in annex.uuid.
+
+ And also, the last seen UUID for each remote is listed:
+
+ remote.origin.annex-uuid=d3d2474c-d5c3-11df-80a9-002170d25c55
+
+ Then when it need to find a repo by UUID, it can see if a known remote
+ has it -- and then query the remote to confirm the repo there still has
+ that UUID (a different repo may have been mounted there).
+
+ Failing that, it can force a refresh of all uuids, updating .git/config,
+ and check again.
+
+ - Only downside for this is that if I put a repo on a usb disk,
+ and it is disconnected and I have no remote for it,
+ git-annex will have to say:
+
+ "You asked for a file that is only present on a git repo with
+ UUID d3d2474c-d5c3-11df-80a9-002170d25c55 -- and I don't know
+ where it is."
+
+ To solve that, let .git-annex/uuid.map map between uuids and descriptions,
+ like "d3d2474c-d5c3-11df-80a9-002170d25c55 SATA drive labeled '* arch-2'"
* hook up LocationLog
* --push/--pull/--get/--want/--drop