Recent comments posted to this site:

It can actually get really big and still be okay to use, if you follow the tips page for annexs with lots of files.

Mine is still reasonably responsive at 10 million files! Iterating over it all (git annex info, deduping) is really painful though, but it'd be like that without git-annex..

Comment by CandyAngel Tue Jun 30 07:17:48 2015

If there are no branches, other than git-annex, then you do not have git history.

If it is really the old repository with deleted branches and not a newly created one, then there is a possibility, that the git history has not been fully deleted/garbage-collected yet (i.e. there are old objects and packs in .git/objects and .git/objects/pack). It that case:

  1. Do not run git commands until you create a backup of the .git directory, because some usual git commands automatically launch git gc --auto, which removes some old unreachable objects (and maybe reflog entries).

  2. See if there are some reflogs of deleted branches or HEAD left in .git/logs. Reflogs will give you commit ids that branches’ tips pointed to. But usually reflogs are deleted with their branches.

  3. As the last resort, use git fsck --dangling to find objects, that may be the commits of deleted branches. See also other options of git fsck command.

Of course, all that is not necessary if you have a clone of the repo somewhere. Then just fetch the history from it.

Git history will give you the history of modifications in the repository, the content of not annexed files (that were stored directly in git) and the names of annexed files (represented as symlinks).

If all you need is just the contents of annexed files, then look at .git/annex/objects.
But: if the repository was in direct mode, then .git/annex/objects may contain only old versions of files. The current versions of annexed files in direct mode are stored in the working directory, which is empty in your case.

The git-annex branch contains just the location log of the content of annexed files, i.e. which git-annex repositories and when stored the contents.

Comment by Chel Tue Jun 30 06:32:59 2015
Sorry to post again here but I was wondering if this message got lost. Anyone have a solution here? Thanks!
Comment by digiuser Mon Jun 29 03:05:53 2015

if I use git annex proxy I can't see the changes:

C:\Users\Chris\Projects\testing>git annex proxy -- git status
On branch annex/direct/master
nothing to commit, working directory clean

and I noticed that I'm on a branch called annex/direct/master, not the master I'd expect...

if I use git -c core.bare=false, I get the normal output:

C:\Users\Chris\Projects\testing>git -c core.bare=false status
On branch annex/direct/master
Untracked files:
  (use "git add <file>..." to include in what will be committed)


nothing added to commit but untracked files present (use "git add" to track)

but I'm still on a "wrong" branch? what is this annex/direct/master branch and am I supposed to commit and push this branch?

Thanks, Chris

Comment by Sat Jun 27 11:23:05 2015

Have you tried the git annex proxy -- command? Another way might be to just bypass the annex checks with git -c core.bare=false. Check for details.

Comment by Jarno Fri Jun 26 17:32:42 2015

Is it possible to force git-annex to keep all versions for some or all files??

Or (maybe better) specify how many old versions to keep (for example keep the last 20 versions or so...) ?

Comment by boustanihani Thu Jun 25 21:13:01 2015
... but nowadays, i use git annex info --fast *.
Comment by anarcat Wed Jun 24 21:40:07 2015

git-annex doesn't deliberately keep all versions of the files. however, if you change a file (using git-annex-edit), it will keep the old copy, which will become unused data. that data will be purged by the assistant after a while (if configured to do so) but you can also archive it, etc...

so in a way, yes, it is versionned, but the unused data is somewhat more 'brittle' than the current dataset.

Comment by anarcat Wed Jun 24 16:28:42 2015

cool thanks :)

Is it also possible to version control large binary files using git-annex assistant ??

I mean to be able to switch back to earlier versions when needed...

Is there something like a way to specify how many older versions should be kept in the repo? This would be a nice feature for preserving disk space...

Comment by boustanihani Wed Jun 24 14:06:35 2015
you are correct. "git add" will add a file into git directly. "git annex add" is like "git track"...
Comment by anarcat Wed Jun 24 12:14:02 2015