I am creating a git repository and commit using libgit2 (in C ++). It works fine, but checking destroys all local files.
However, they seem to still be present in the repo. This is what I get when I try to look in the repository.
Welcome to Git (version 1.8.3-preview20130601)
Run 'git help git' to display the help index.
Run 'git help <command>' to display help for specific commands.
x@x-PC /C/Users/x/Desktop/poiu (master)
$ git log
commit a63cd37ef7d7228053b875e396531d367e2ea745
Author: Unregistered User <unregistered@x.com>
Date: Fri Oct 25 13:27:21 2013 +0200
Project Save
x@x-PC /C/Users/x/Desktop/poiu (master)
$ git checkout a63cd37ef7d7228053b875e396531d367e2ea745
D "db\\32\\879a83081b8d0b4ef41a37b9e28138"
D "db\\41\\930644af1f4ab6d288bf3d50829558"
D "db\\48\\3172d42be6ccb80e57071d5aabb584"
D "db\\80\\0b152a41ba2ef0bc1c55c96add4d33"
D "db\\c1\\3b1ce3276ed14d7ff7c6ace9b63cf3"
D "db\\fa\\50e29fe380a8117140463106ae67b1"
Note: checking out 'a63cd37ef7d7228053b875e396531d367e2ea745'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b new_branch_name
HEAD is now at a63cd37... Project Save
x@x-PC /C/Users/x/Desktop/poiu ((a63cd37...))
$ git checkout -f a63cd37ef7d7228053b875e396531d367e2ea745
error: unable to create file db\32\879a83081b8d0b4ef41a37b9e28138 (No such file or directory)
error: unable to create file db\41\930644af1f4ab6d288bf3d50829558 (No such file or directory)
error: unable to create file db\48\3172d42be6ccb80e57071d5aabb584 (No such file or directory)
error: unable to create file db\80\0b152a41ba2ef0bc1c55c96add4d33 (No such file or directory)
error: unable to create file db\c1\3b1ce3276ed14d7ff7c6ace9b63cf3 (No such file or directory)
error: unable to create file db\fa\50e29fe380a8117140463106ae67b1 (No such file or directory)
HEAD is now at a63cd37... Project Save
x@x-PC /C/Users/x/Desktop/poiu ((a63cd37...))
$
Now, what is "strange" is that if I manually create the db \ xx directories manually, the -f check works.
Even stranger, everything works the same way - under MacOSx, but not with Windows ...
Any idea what is going on here?
source
share