Community
Participate
Working Groups
OK, I feel like I must be imagining this somehow, but all of my Git changes for last few weeks have disappeared from repos and from log. Looking at the log it all get's cut off on December 7th, and I've made many many changes since then: http://git.eclipse.org/c/amp/org.eclipse.amp.git/log/ It's possible that I've done something screwy on my end through EGit/JGit, but no matter what I screwed up, I shouldn't ever be able to overwrite the whole history, right?
I get the distinct feeling that all your pushes are going into different branches, and none of them have been merged back with master. Your dec 7 entry from 'git log' Shows this: Date: Tue Dec 7 10:37:09 2010 -0800 Change version to appropriate. And look at your 'master': droy@build:/gitroot/amp/org.eclipse.amp.git> git show-branch --all * [master] Change version to appropriate. ! [origin] Packaging. -- * [master] Change version to appropriate. * [master^] New promotion. * [master~2] Data execution fixes. Work in progress. * [master~3] Missing file from git. * [master~4] Improvements to Data Models, adding sweep support. WARNING: Breaks existing adata models. https://bugs.eclipse.org/bugs/show_bug.cgi?id=331165 https://bugs.eclipse.org/bugs/show_bug.cgi?id=331166 * [master~5] Build promote. * [master~6] Build from xtext. * [master~7] Add tests. * [master~8] Build. * [master~9] Added back missing ascape feature. * [master~10] Build. * [master~11] Build. * [master~12] Build. * [master~13] Build. * [master~14] BUild. * [master~15] Build. * [master~16] Build. * [master~17] Move build feature to its proper place. * [master~18] BUild. * [master~19] Build. * [master~20] Build. * [master~21] Build. * [master~22] Build. * [master~23] Build. * [master~24] Build. * [master~25] Build * [master~26] Buold. * [master~27] BUild. * [master~28] Build.Build. * [master~29] Build. * [master~30] Build. * [master~31] Dependencies. * [master~32] Build. ARGHHHH!!!!!!!!!!!!!!! * [master~33] Build. * [master~34] build. * [master~35] Build. * [master~36] Build. * [master~37] Argh. * [master~38] Build. * [master~39] WTF re: matches? * [master~40] Bjild. * [master~41] Build. * [master~42] More build... * [master~43] Do we need platform? * [master~44] Forget that. * [master~45] XPnad. * [master~46] Grab bit fomr XText rmap. * [master~47] Get rid of xtext.xtend. * [master~48] Build * [master~49] BUild hell. * [master~50] BUild. * [master~51] Build. * [master~52] Bui;d. * [master~53] BUild. * [master~54] Build. * [master~55] Build. * [master~56] Build * [master~57] Build. * [master~58] Build work. * [master~59] Align amp releng with other modeling projects. * [master~60] Build. Simplify as much as possible. * [master~61] Add build feature content. * [master~62] Match to other Modeling Projects. * [master~63] Build * [master~64] build. * [master~65] build * [master~66] Build. * [master~67] Build. * [master~68] Build. * [master~69] Build. * [master~70] Build. * [master~71] Build. * [master~72] Build. * [master~73] Build stuff. * [master~74] Build.. * [master~75] https://bugs.eclipse.org/bugs/show_bug.cgi?id=325535 Oteher packgin and doc fixes. * [master~76] Minor refactoring. * [master~77] Change stat name to differentiate for Scape. *+ [origin] Packaging. How do you perform your git push to us?
A 'find recent changed files' operation shows your repository does have changed files: droy@build:/gitroot/amp/org.eclipse.amp.git> find . -mtime -14 -ls 3585203 0 drwxrwsr-x 2 mparker modeling.amp 96 Dec 21 20:39 ./refs/heads 6958102 4 -rw-rw-r-- 1 mparker modeling.amp 41 Dec 21 20:39 ./refs/heads/master 6792788 6 drwxrwsr-x 237 mparker modeling.amp 5688 Dec 21 16:34 ./objects 6871749 0 drwxrwsr-x 2 mparker modeling.amp 272 Dec 14 18:21 ./objects/00 6942554 4 -r--r--r-- 1 mparker modeling.amp 1715 Dec 14 18:21 ./objects/00/3d995075114dbbf0bd125bd4a41d4f09d95ef5 ................etc A git fsck shows dangling commits, but as I understand it, this is not a problem. droy@build:/gitroot/amp/org.eclipse.amp.git> git fsck --full dangling commit 101714e1e10511b1bf8f6d3bdacf17a8b8bbec43 dangling commit 656d816278571a3e8182e544a9dab9cd4ba94b77 dangling commit 51c633d11589fe6f4278dc167a52e8925bb2f8b8 So .. there is stuff there, but where it is, and how do you get it, is part of the Git user voodoo I do not yet comprehend.
I don't comprehend any of it either. I've been using EGit to push this from two different machines, always using master/origin -- I don't think I've done anything unusual; I've never created a separate branch. I don't understand any of this voodoo either but it is more than a bit worrying. Luckily I have a recent hudson build that I've just archived so if things have gone totally to hell I can just replace everything. Or I'll just go back to CVS. A VCS that can lose a whole bunch of work opaquely and with no easy way to roll back scares me more than a little bit. Looking at what I can vaguely understand from Git docs, I don't think I can get any information on this without looking at the reflogs and stuff and I don't think I can do that without ssh access. Can you grant that temporarily? (In reply to comment #2) > A 'find recent changed files' operation shows your repository does have changed > files: > > droy@build:/gitroot/amp/org.eclipse.amp.git> find . -mtime -14 -ls > 3585203 0 drwxrwsr-x 2 mparker modeling.amp 96 Dec 21 20:39 > ./refs/heads > 6958102 4 -rw-rw-r-- 1 mparker modeling.amp 41 Dec 21 20:39 > ./refs/heads/master > 6792788 6 drwxrwsr-x 237 mparker modeling.amp 5688 Dec 21 16:34 > ./objects > 6871749 0 drwxrwsr-x 2 mparker modeling.amp 272 Dec 14 18:21 > ./objects/00 > 6942554 4 -r--r--r-- 1 mparker modeling.amp 1715 Dec 14 18:21 > ./objects/00/3d995075114dbbf0bd125bd4a41d4f09d95ef5 > ................etc > > > A git fsck shows dangling commits, but as I understand it, this is not a > problem. > > droy@build:/gitroot/amp/org.eclipse.amp.git> git fsck --full > dangling commit 101714e1e10511b1bf8f6d3bdacf17a8b8bbec43 > dangling commit 656d816278571a3e8182e544a9dab9cd4ba94b77 > dangling commit 51c633d11589fe6f4278dc167a52e8925bb2f8b8 > > > So .. there is stuff there, but where it is, and how do you get it, is part of > the Git user voodoo I do not yet comprehend.
(In reply to comment #3) > Looking at what I can vaguely understand from Git docs, I don't think I can get > any information on this without looking at the reflogs and stuff and I don't > think I can do that without ssh access. Can you grant that temporarily? I've given you a real shell. If you discover anything odd/unusual, please let me know.
I just checked my reflog and it was empty. :O That doesn't seem right, does it? This is what I did: /gitroot/amp/org.eclipse.amp.git> git reflog And I get 0 lines. (In reply to comment #4) > (In reply to comment #3) > > > Looking at what I can vaguely understand from Git docs, I don't think I can get > > any information on this without looking at the reflogs and stuff and I don't > > think I can do that without ssh access. Can you grant that temporarily? > > > I've given you a real shell. If you discover anything odd/unusual, please let > me know.
Weird, I must have done something wrong, because it is now showing something there.I've got a checkout on the local repository which doesn't make any sense to me -- how could I do a checkout on the remote? But I think at least I see a glimmer of way ahead. I've got to find the last dangling bit and checkout to that, I suppose. 59f3687 HEAD@{0}: checkout: moving to 59f3687d2cf043de545b28772a78961c3b17c4ef 59f3687 HEAD@{0}: checkout: moving to 59f3687d2cf043de545b28772a78961c3b17c4ef 59f3687 HEAD@{0}: checkout: moving to 59f3687d2cf043de545b28772a78961c3b17c4ef b85e80e HEAD@{1}: checkout: moving to refs/heads/master 59f3687 HEAD@{2}: checkout: moving to 59f3687d2cf043de545b28772a78961c3b17c4ef b85e80e HEAD@{3}: commit: Change version to appropriate. 277e3d4 HEAD@{4}: commit: New promotion. (In reply to comment #5) > I just checked my reflog and it was empty. :O That doesn't seem right, does it? > > This is what I did: > > /gitroot/amp/org.eclipse.amp.git> git reflog > > And I get 0 lines. > > (In reply to comment #4) > > (In reply to comment #3) > > > > > Looking at what I can vaguely understand from Git docs, I don't think I can get > > > any information on this without looking at the reflogs and stuff and I don't > > > think I can do that without ssh access. Can you grant that temporarily? > > > > > > I've given you a real shell. If you discover anything odd/unusual, please let > > me know.
OK, I think I've fixed this, by grabbing all of the dangling revisions, putting them into temp branches and then merging them back in. Yikes. Thanks for your help. I went ahead and setup ssh keys while I was in there. (I think Ialready had a real shell for build, I just didn't know that gitroot was accessible from there.) What I still can't figure out is why most of the time when I do git reflog I get: [vi] lines ?-?/? (END) Whereas once and a while I was able to see the actual reflog. Weird.
[I've recovered the missing changes.]
Good to read this. I wonder what caused those dangling commits. If you have the command lines handy, posting them here could perhaps help out the next person who encounters this.
Yeah good idea. But it was super confusing. Basically I flailed around a bit and eventually came up with something *like* this: [git.eclipse] >git fsck --full dangling commit [some_ridiculously_long_hex_string] dangling commit [another_one] ... >git branch recovered1 [some_ridiculously_long_hex_string] >git branch recovered2 [another_one] ... [local] mkdir tempgit cd tempgit git init git clone ssh://mparker@git.eclipse.org/gitroot/amp/org.eclipse.amp.git git merge recovered1 [this is where it get's a little fuzzy, may be missing a step here] git merge recovered2 ... git commit YMMV, of course. I'd forgotten that whereas git reflog was flakey fsck always worked.
Oh, there's "obviously" a: git push missing there..