2013-10-14 3 views
2

Похоже, что у меня ошибка дерева деревьев. Чтобы быть справедливым, я просто полностью испортил свои локальные файлы на git, и мне надоело, и я удалил полный жесткий диск в своем репо и отступил от удаленного мастера. Теперь я получаю следующую ошибку. Одна из первых вещей, которые я сделала, - создать локальную ветку для моей работы.Egit in eclipse отсутствует дерево

Скорее всего, я мог бы восстановить много своей работы, если бы я не удалял все, кроме эй, проходите время - правильно? (Это может показаться моим состоянием прямо сейчас с git и моим проектом тоже ...)

Если это имеет значение, я делаю проект андроида.

Я читаю сообщение this и кажется полезным, но я понятия не имею, как найти «a30df1173f14dea24df661f1eef749fed2f4e1ed» sha1 hash.

Ведение

git ls-tree a30df1173f14dea24df661f1eef749fed2f4e1ed

дает мне следующую

100755 blob 2851ba4fdf2a134f8fc97fd60b3045b73cd6039b .DS_Store 
100755 blob 3f9691c5dda29b09cb96060fd6ec7017f6c671d2 .classpath 
100755 blob c50d3b4fe2f6221db617840561dc94d7690bb883 .gitignore 
100755 blob 6b58f1723a252cfd314d108fadac4b71a4209c1c .project 
100755 blob 39f00018845d776de324707090d26c5153720e22 AndroidManifest.xml 
100755 blob 94a9ed024d3859793618152ea559a168bbcbb5e2 COPYING 
100755 blob c1853e4c312a938d5890f5f4e0844782429ba11e default.properties 
040000 tree 423accda532f8788f916b26b863ddf32e2896aa6 docs 
160000 commit 0000000000000000000000000000000000000000 eagle vision 
100755 blob 424f2604203eabd2310165b143b430326aa87ee7 ic_launcher-web.png 
040000 tree 2b83cd828cd11a11e84a2d8f646dfa40de109827 libs 
100644 blob 8a7b1fac8f8c12e925e56776f225730c4712f92a lint.xml 
040000 tree c0182f719fccf5fc8b0d7658c3d15fe4deac0d9e plugins 
100755 blob f2fe1559a217865a5454add526dcc446f892385b proguard-project.txt 
100755 blob 9ae01de96458dbded45d2a442c09c0f4d33e473a project.properties 
040000 tree 3c9446b3bb23eebe80942992ee03e01a7390ba80 res 
040000 tree 895e957ccc4ee642127c25a3481d784302e44a70 src 

Из всех из них орел видение кажется странным со всеми теми, 0 ':

160000 commit 0000000000000000000000000000000000000000 eagle vision

Не совсем уверен, где я «Я собираюсь с этим, хотя. Попытка пройти через git faq не идет очень далеко.

Вот вся ошибка:

eclipse.buildId=v22.0.0-675183 
java.version=1.7.0_21 
java.vendor=Oracle Corporation 
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US 
Framework arguments: -product com.android.ide.eclipse.adt.package.product 
Command-line arguments: -os linux -ws gtk -arch x86_64 -product com.android.ide.eclipse.adt.package.product 

Error 
Sun Oct 13 21:11:59 CDT 2013 
Missing tree 2ec4e5b3e0e3d9ccc766fd1ed0dccaedcef3e53a 

org.eclipse.jgit.errors.MissingObjectException: Missing tree 2ec4e5b3e0e3d9ccc766fd1ed0dccaedcef3e53a 
    at org.eclipse.jgit.storage.file.WindowCursor.open(WindowCursor.java:127) 
    at org.eclipse.jgit.treewalk.CanonicalTreeParser.reset(CanonicalTreeParser.java:201) 
    at org.eclipse.jgit.treewalk.TreeWalk.parserFor(TreeWalk.java:984) 
    at org.eclipse.jgit.treewalk.TreeWalk.addTree(TreeWalk.java:468) 
    at org.eclipse.egit.core.synchronize.GitSyncCache.loadDataFromGit(GitSyncCache.java:130) 
    at org.eclipse.egit.core.synchronize.GitSyncCache.getAllData(GitSyncCache.java:85) 
    at org.eclipse.egit.core.synchronize.GitSyncCache.getAllData(GitSyncCache.java:63) 
    at org.eclipse.egit.core.synchronize.GitResourceVariantTreeSubscriber.refresh(GitResourceVariantTreeSubscriber.java:180) 
    at org.eclipse.team.core.subscribers.Subscriber.refresh(Subscriber.java:466) 
    at org.eclipse.egit.core.synchronize.GitSubscriberMergeContext.handleRepositoryChange(GitSubscriberMergeContext.java:142) 
    at org.eclipse.egit.core.synchronize.GitSubscriberMergeContext.access$0(GitSubscriberMergeContext.java:133) 
    at org.eclipse.egit.core.synchronize.GitSubscriberMergeContext$1.indexDiffChanged(GitSubscriberMergeContext.java:68) 
    at org.eclipse.egit.core.internal.indexdiff.IndexDiffCache.notifyListeners(IndexDiffCache.java:98) 
    at org.eclipse.egit.core.internal.indexdiff.IndexDiffCache.access$0(IndexDiffCache.java:89) 
    at org.eclipse.egit.core.internal.indexdiff.IndexDiffCache$1.indexDiffChanged(IndexDiffCache.java:84) 
    at org.eclipse.egit.core.internal.indexdiff.IndexDiffCacheEntry.notifyListeners(IndexDiffCacheEntry.java:425) 
    at org.eclipse.egit.core.internal.indexdiff.IndexDiffCacheEntry.access$8(IndexDiffCacheEntry.java:417) 
    at org.eclipse.egit.core.internal.indexdiff.IndexDiffCacheEntry$5.run(IndexDiffCacheEntry.java:358) 
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) 

ответ

0

160000 является special entry для записи подмодуль.
SHA1 составляет до 40 нулей означает, что подмодуль был удален (см git-submodule.sh) или в unknown state:

When you compare something with a work tree state, and when the work tree state is dirty, we always show 0{40} to mean "it is dirty and we do not know what the object name of that thing is, until you actuallly run git-update-index (or git-add) it" (and at that point it would stop being dirty).
For blobs (be it a regular file or a symbolic link), this has an advantage of not having to run hash-object to obtain the object name of an object that would be created if you actually did git-add it.

When we check if it is dirty, we already do an lstat(2) and know the type of it, so we can show the mode bits. So you will see 100644, 100755 or 120000 for blobs. Similarly for a submodule.

For a submodule, we could read the value from $sub/.git/HEAD, but it is more consistent to show 0{40} on the work tree side (typically the right hand side, unless you use -R).

Так проверьте, если у вас есть .git/modules/asubmodule/HEAD.
Или попробуйте cleanup your submodule entry, а затем переопределите этот подмодуль на URL-адрес орла.

Но ваше отсутствующее дерево, возможно, не связано с этой записью.

+0

Я следил за ссылкой, чтобы очистить запись подмодуля, но я даже не получаю –

+0

@ xphill64x вы можете попробовать «git rm eagle vision»? – VonC

+0

git rm 'eagle vision' не соответствует ни одному файлу. –

Смежные вопросы