summaryrefslogtreecommitdiff
path: root/doc/bugs/bare_git_repos.mdwn
blob: 5e9100acfec48dd8ad3465aa65f55a66a572f059 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
It would be nice if git-annex could be used in bare git repos.
However, that is not currently supported. Problems include:

* git-annex often does not read a git repo's config before touching it,
  so it doesn't know if the repo is bare or not
  (reading the config when operating on ssh repos would be a pain and SLOW;
  I had some of that code in as of 1aa19422ac8748eeff219ac4f46df166dae783c5,
  but ripped it all out)
* .. which results in creating `.git/annex` in a bare repo, which mightily
  confuses git (so it will complain that the bare repo is not
  a git repo at all!)
* `.git-annex/` needs to have state recorded to it and committed, and that
  is not possible with a bare repo. (If [[todo/branching]] were done,
  that might be fixed.) (now fixed)

----

Update: Now that git-annex-shell is used for accessing remote repos,
it would be possible to add smarts about bare repos there, and avoid
some of the above problems. Probably only the state recording problem
remains.

A possible other approach to the state recording repo is to not
record state changes on the remote in that case. Git-annex already
records remote state changes locally whenever it modifies the state of a
remote. --[[Joey]]

> And... [[done]]! See [[/bare_repositories]] for current status
> and gotchas. --[[Joey]]