Comments in the moderation queue:
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..
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:
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).
git gc --auto
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.
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.
git fsck --dangling
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
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.
if I use git annex proxy I can't see the changes:
git annex proxy
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:
git -c core.bare=false
C:\Users\Chris\Projects\testing>git -c core.bare=false status
On branch annex/direct/master
(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?
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 http://git-annex.branchable.com/direct_mode/ for details.
git annex proxy --
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...) ?
git annex info --fast *
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.
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...