Hi git mavens,
I'm screwed. Had a perfectly fine repository that declared itself at the tip of Cog, I committed and then suddenly [Cog 59455f2] CogVM source as per VMMaker.oscog-eem.2302 80 files changed, 4207 insertions(+), 2489 deletions(-) nsspur64src/vm/cogit.h: needs merge nsspur64src/vm/cogitX64SysV.c: needs merge nsspur64src/vm/cogitX64WIN64.c: needs merge nsspur64src/vm/cointerp.c: needs merge nsspur64src/vm/cointerp.h: needs merge nsspur64src/vm/gcc3x-cointerp.c: needs merge nsspursrc/vm/cogit.h: needs merge nsspursrc/vm/cointerp.c: needs merge nsspursrc/vm/cointerp.h: needs merge nsspursrc/vm/gcc3x-cointerp.c: needs merge nsspurstack64src/vm/gcc3x-interp.c: needs merge nsspurstack64src/vm/interp.c: needs merge nsspurstacksrc/vm/gcc3x-interp.c: needs merge nsspurstacksrc/vm/interp.c: needs merge spur64src/vm/cogit.h: needs merge spur64src/vm/cogitX64SysV.c: needs merge spur64src/vm/cogitX64WIN64.c: needs merge spur64src/vm/cointerp.c: needs merge spur64src/vm/cointerp.h: needs merge spur64src/vm/gcc3x-cointerp.c: needs merge spurlowcode64src/vm/cogit.h: needs merge spurlowcode64src/vm/cogitX64SysV.c: needs merge spurlowcode64src/vm/cogitX64WIN64.c: needs merge spurlowcode64src/vm/cointerp.c: needs merge spurlowcode64src/vm/cointerp.h: needs merge spurlowcode64src/vm/gcc3x-cointerp.c: needs merge spurlowcodesrc/vm/cogit.h: needs merge spurlowcodesrc/vm/cointerp.c: needs merge spurlowcodesrc/vm/cointerp.h: needs merge spurlowcodesrc/vm/gcc3x-cointerp.c: needs merge spurlowcodestack64src/vm/gcc3x-interp.c: needs merge spurlowcodestack64src/vm/interp.c: needs merge spurlowcodestacksrc/vm/gcc3x-interp.c: needs merge spurlowcodestacksrc/vm/interp.c: needs merge spursista64src/vm/cogit.h: needs merge spursista64src/vm/cogitX64SysV.c: needs merge spursista64src/vm/cogitX64WIN64.c: needs merge spursista64src/vm/cointerp.c: needs merge spursista64src/vm/cointerp.h: needs merge spursista64src/vm/gcc3x-cointerp.c: needs merge spursistasrc/vm/cogit.h: needs merge spursistasrc/vm/cointerp.c: needs merge spursistasrc/vm/cointerp.h: needs merge spursistasrc/vm/gcc3x-cointerp.c: needs merge spursrc/vm/cogit.h: needs merge spursrc/vm/cointerp.c: needs merge spursrc/vm/cointerp.h: needs merge spursrc/vm/gcc3x-cointerp.c: needs merge spurstack64src/vm/gcc3x-interp.c: needs merge spurstack64src/vm/interp.c: needs merge spurstacksrc/vm/gcc3x-interp.c: needs merge spurstacksrc/vm/interp.c: needs merge src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c: needs merge src/plugins/SqueakFFIPrims/IA32FFIPlugin.c: needs merge src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c: needs merge src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c: needs merge src/vm/cogit.h: needs merge src/vm/cointerp.c: needs merge src/vm/cointerp.h: needs merge src/vm/cointerpmt.c: needs merge src/vm/cointerpmt.h: needs merge src/vm/gcc3x-cointerp.c: needs merge src/vm/gcc3x-cointerpmt.c: needs merge stacksrc/vm/gcc3x-interp.c: needs merge stacksrc/vm/interp.c: needs merge nsspur64src/vm/cogit.h: needs merge nsspur64src/vm/cogitX64SysV.c: needs merge nsspur64src/vm/cogitX64WIN64.c: needs merge nsspur64src/vm/cointerp.c: needs merge nsspur64src/vm/cointerp.h: needs merge nsspur64src/vm/gcc3x-cointerp.c: needs merge nsspursrc/vm/cogit.h: needs merge nsspursrc/vm/cointerp.c: needs merge nsspursrc/vm/cointerp.h: needs merge nsspursrc/vm/gcc3x-cointerp.c: needs merge nsspurstack64src/vm/gcc3x-interp.c: needs merge nsspurstack64src/vm/interp.c: needs merge nsspurstacksrc/vm/gcc3x-interp.c: needs merge nsspurstacksrc/vm/interp.c: needs merge spur64src/vm/cogit.h: needs merge spur64src/vm/cogitX64SysV.c: needs merge spur64src/vm/cogitX64WIN64.c: needs merge spur64src/vm/cointerp.c: needs merge spur64src/vm/cointerp.h: needs merge spur64src/vm/gcc3x-cointerp.c: needs merge spurlowcode64src/vm/cogit.h: needs merge spurlowcode64src/vm/cogitX64SysV.c: needs merge spurlowcode64src/vm/cogitX64WIN64.c: needs merge spurlowcode64src/vm/cointerp.c: needs merge spurlowcode64src/vm/cointerp.h: needs merge spurlowcode64src/vm/gcc3x-cointerp.c: needs merge spurlowcodesrc/vm/cogit.h: needs merge spurlowcodesrc/vm/cointerp.c: needs merge spurlowcodesrc/vm/cointerp.h: needs merge spurlowcodesrc/vm/gcc3x-cointerp.c: needs merge spurlowcodestack64src/vm/gcc3x-interp.c: needs merge spurlowcodestack64src/vm/interp.c: needs merge spurlowcodestacksrc/vm/gcc3x-interp.c: needs merge spurlowcodestacksrc/vm/interp.c: needs merge spursista64src/vm/cogit.h: needs merge spursista64src/vm/cogitX64SysV.c: needs merge spursista64src/vm/cogitX64WIN64.c: needs merge spursista64src/vm/cointerp.c: needs merge spursista64src/vm/cointerp.h: needs merge spursista64src/vm/gcc3x-cointerp.c: needs merge spursistasrc/vm/cogit.h: needs merge spursistasrc/vm/cointerp.c: needs merge spursistasrc/vm/cointerp.h: needs merge spursistasrc/vm/gcc3x-cointerp.c: needs merge spursrc/vm/cogit.h: needs merge spursrc/vm/cointerp.c: needs merge spursrc/vm/cointerp.h: needs merge spursrc/vm/gcc3x-cointerp.c: needs merge spurstack64src/vm/gcc3x-interp.c: needs merge spurstack64src/vm/interp.c: needs merge spurstacksrc/vm/gcc3x-interp.c: needs merge spurstacksrc/vm/interp.c: needs merge src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c: needs merge src/plugins/SqueakFFIPrims/IA32FFIPlugin.c: needs merge src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c: needs merge src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c: needs merge src/vm/cogit.h: needs merge src/vm/cointerp.c: needs merge src/vm/cointerp.h: needs merge src/vm/cointerpmt.c: needs merge src/vm/cointerpmt.h: needs merge src/vm/gcc3x-cointerp.c: needs merge src/vm/gcc3x-cointerpmt.c: needs merge stacksrc/vm/gcc3x-interp.c: needs merge stacksrc/vm/interp.c: needs merge nsspur64src/vm/cogit.h: unmerged (ed6bf51d9ab7c6f5927f69e5661f22ad5cdf93d8) nsspur64src/vm/cogit.h: unmerged (6b84b3adf311e7e9655802800cf3c66cca5ae590) nsspur64src/vm/cogit.h: unmerged (8aeef63d69b098a39eea676e8707de91ff7d4097) nsspur64src/vm/cogitX64SysV.c: unmerged (197c00a9998d01982af526043c15480549118225) nsspur64src/vm/cogitX64SysV.c: unmerged (41adeb695b6a1d13c802967b1b2a08fcb48a7934) nsspur64src/vm/cogitX64SysV.c: unmerged (b61a13f47897197e7b58aa9c147ba87eb5cdc8f1) nsspur64src/vm/cogitX64WIN64.c: unmerged (ff6c102e326c6f85a5129ab03ee09b1f24b33304) nsspur64src/vm/cogitX64WIN64.c: unmerged (2cb03481942943a106feef898e2a99dd7e316a28) nsspur64src/vm/cogitX64WIN64.c: unmerged (ec4b0edb7cd243b040a5982f0a374c3fb3862f77) nsspur64src/vm/cointerp.c: unmerged (56db95c989c194930e8d7eeeebebb372ec63258d) ... fatal: git-write-tree: error building trees Cannot save the current index state /Users/eliot/oscogvm /Users/eliot/oscogvm nsspur64src/vm/cogit.h: needs merge nsspur64src/vm/cogitX64SysV.c: needs merge nsspur64src/vm/cogitX64WIN64.c: needs merge nsspur64src/vm/cointerp.c: needs merge nsspur64src/vm/cointerp.h: needs merge nsspur64src/vm/gcc3x-cointerp.c: needs merge nsspursrc/vm/cogit.h: needs merge nsspursrc/vm/cointerp.c: needs merge nsspursrc/vm/cointerp.h: needs merge nsspursrc/vm/gcc3x-cointerp.c: needs merge nsspurstack64src/vm/gcc3x-interp.c: needs merge nsspurstack64src/vm/interp.c: needs merge nsspurstacksrc/vm/gcc3x-interp.c: needs merge nsspurstacksrc/vm/interp.c: needs merge spur64src/vm/cogit.h: needs merge spur64src/vm/cogitX64SysV.c: needs merge spur64src/vm/cogitX64WIN64.c: needs merge spur64src/vm/cointerp.c: needs merge spur64src/vm/cointerp.h: needs merge spur64src/vm/gcc3x-cointerp.c: needs merge spurlowcode64src/vm/cogit.h: needs merge spurlowcode64src/vm/cogitX64SysV.c: needs merge spurlowcode64src/vm/cogitX64WIN64.c: needs merge spurlowcode64src/vm/cointerp.c: needs merge spurlowcode64src/vm/cointerp.h: needs merge spurlowcode64src/vm/gcc3x-cointerp.c: needs merge spurlowcodesrc/vm/cogit.h: needs merge spurlowcodesrc/vm/cointerp.c: needs merge spurlowcodesrc/vm/cointerp.h: needs merge spurlowcodesrc/vm/gcc3x-cointerp.c: needs merge spurlowcodestack64src/vm/gcc3x-interp.c: needs merge spurlowcodestack64src/vm/interp.c: needs merge spurlowcodestacksrc/vm/gcc3x-interp.c: needs merge spurlowcodestacksrc/vm/interp.c: needs merge spursista64src/vm/cogit.h: needs merge spursista64src/vm/cogitX64SysV.c: needs merge spursista64src/vm/cogitX64WIN64.c: needs merge spursista64src/vm/cointerp.c: needs merge spursista64src/vm/cointerp.h: needs merge spursista64src/vm/gcc3x-cointerp.c: needs merge spursistasrc/vm/cogit.h: needs merge spursistasrc/vm/cointerp.c: needs merge spursistasrc/vm/cointerp.h: needs merge spursistasrc/vm/gcc3x-cointerp.c: needs merge spursrc/vm/cogit.h: needs merge spursrc/vm/cointerp.c: needs merge spursrc/vm/cointerp.h: needs merge spursrc/vm/gcc3x-cointerp.c: needs merge spurstack64src/vm/gcc3x-interp.c: needs merge spurstack64src/vm/interp.c: needs merge spurstacksrc/vm/gcc3x-interp.c: needs merge spurstacksrc/vm/interp.c: needs merge src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c: needs merge src/plugins/SqueakFFIPrims/IA32FFIPlugin.c: needs merge src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c: needs merge src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c: needs merge src/vm/cogit.h: needs merge src/vm/cointerp.c: needs merge src/vm/cointerp.h: needs merge src/vm/cointerpmt.c: needs merge src/vm/cointerpmt.h: needs merge src/vm/gcc3x-cointerp.c: needs merge src/vm/gcc3x-cointerpmt.c: needs merge stacksrc/vm/gcc3x-interp.c: needs merge stacksrc/vm/interp.c: needs merge unable to refresh index _,,,^..^,,,_ best, Eliot |
Hi git mavens, what I mean by "what do I do" is how I really get rid of all stash/merge state so that when I generate sources I know the commit will succeed and these phantom merge states will not materialize. Are there files in the .git directory that I need to nuke or reset? git is throwing up these bogus merges in my face and I have no cheap way to get rid of them. Checking out the entire repository again is expensive; I have to rebuild everything. I want something that works in place reliably. I'm losing lots of time here while git is losing its sparkle and gaining a matt brown "sheen". On Thu, Dec 21, 2017 at 10:48 PM, Eliot Miranda <[hidden email]> wrote:
_,,,^..^,,,_ best, Eliot |
Hi Eliot, To get rid of (i.e. lose) merge state in the index, use `git reset` (no further arguments): git reset [<mode>] [<commit>] This form resets the current branch head to <commit> and possibly updates the index (resetting it to the tree of <commit>) and the working tree depending on <mode>. If <mode> is omitted, defaults to "--mixed". [...] --mixed Resets the index but not the working tree (i.e., the changed files are preserved but not marked for commit) and reports what has not been updated. Assuming that your files do not really contain conflicts, but are all ready to be committed, you should be fine afterwards. You should check the diff to be sure. Now, the more complicated question is: what did you do before you tried to commit? Something must have put all those files in the merge state, git commit will not do that. Most likely an unfinished merge (pull), but maybe you remember it more concretely. To undo a merge (pull) attempt (including changes to the working copy files), you can also use `git merge --abort`. That a working copy declares to be "at the tip of a branch" does not convey any information about the index ("about to be committed") state and additional planned ancestor commits. You can see such things with git status or with the `gitk` graphical utility. You should never have to edit or nuke stuff in the .git repository by hand. It is more likely to break something rather than to fix something. Kind regards, Jakob 2017-12-22 7:52 GMT+01:00 Eliot Miranda <[hidden email]>: > > Hi git mavens, > > > what I mean by "what do I do" is how I really get rid of all stash/merge state so that when I generate sources I know the commit will succeed and these phantom merge states will not materialize. Are there files in the .git directory that I need to nuke or reset? git is throwing up these bogus merges in my face and I have no cheap way to get rid of them. Checking out the entire repository again is expensive; I have to rebuild everything. I want something that works in place reliably. I'm losing lots of time here while git is losing its sparkle and gaining a matt brown "sheen". > > On Thu, Dec 21, 2017 at 10:48 PM, Eliot Miranda <[hidden email]> wrote: >> >> Hi git mavens, >> >> I'm screwed. Had a perfectly fine repository that declared itself at the tip of Cog, I committed and then suddenly >> >> [Cog 59455f2] CogVM source as per VMMaker.oscog-eem.2302 >> 80 files changed, 4207 insertions(+), 2489 deletions(-) >> nsspur64src/vm/cogit.h: needs merge >> nsspur64src/vm/cogitX64SysV.c: needs merge >> nsspur64src/vm/cogitX64WIN64.c: needs merge >> nsspur64src/vm/cointerp.c: needs merge >> nsspur64src/vm/cointerp.h: needs merge >> nsspur64src/vm/gcc3x-cointerp.c: needs merge >> nsspursrc/vm/cogit.h: needs merge >> nsspursrc/vm/cointerp.c: needs merge >> nsspursrc/vm/cointerp.h: needs merge >> nsspursrc/vm/gcc3x-cointerp.c: needs merge >> nsspurstack64src/vm/gcc3x-interp.c: needs merge >> nsspurstack64src/vm/interp.c: needs merge >> nsspurstacksrc/vm/gcc3x-interp.c: needs merge >> nsspurstacksrc/vm/interp.c: needs merge >> spur64src/vm/cogit.h: needs merge >> spur64src/vm/cogitX64SysV.c: needs merge >> spur64src/vm/cogitX64WIN64.c: needs merge >> spur64src/vm/cointerp.c: needs merge >> spur64src/vm/cointerp.h: needs merge >> spur64src/vm/gcc3x-cointerp.c: needs merge >> spurlowcode64src/vm/cogit.h: needs merge >> spurlowcode64src/vm/cogitX64SysV.c: needs merge >> spurlowcode64src/vm/cogitX64WIN64.c: needs merge >> spurlowcode64src/vm/cointerp.c: needs merge >> spurlowcode64src/vm/cointerp.h: needs merge >> spurlowcode64src/vm/gcc3x-cointerp.c: needs merge >> spurlowcodesrc/vm/cogit.h: needs merge >> spurlowcodesrc/vm/cointerp.c: needs merge >> spurlowcodesrc/vm/cointerp.h: needs merge >> spurlowcodesrc/vm/gcc3x-cointerp.c: needs merge >> spurlowcodestack64src/vm/gcc3x-interp.c: needs merge >> spurlowcodestack64src/vm/interp.c: needs merge >> spurlowcodestacksrc/vm/gcc3x-interp.c: needs merge >> spurlowcodestacksrc/vm/interp.c: needs merge >> spursista64src/vm/cogit.h: needs merge >> spursista64src/vm/cogitX64SysV.c: needs merge >> spursista64src/vm/cogitX64WIN64.c: needs merge >> spursista64src/vm/cointerp.c: needs merge >> spursista64src/vm/cointerp.h: needs merge >> spursista64src/vm/gcc3x-cointerp.c: needs merge >> spursistasrc/vm/cogit.h: needs merge >> spursistasrc/vm/cointerp.c: needs merge >> spursistasrc/vm/cointerp.h: needs merge >> spursistasrc/vm/gcc3x-cointerp.c: needs merge >> spursrc/vm/cogit.h: needs merge >> spursrc/vm/cointerp.c: needs merge >> spursrc/vm/cointerp.h: needs merge >> spursrc/vm/gcc3x-cointerp.c: needs merge >> spurstack64src/vm/gcc3x-interp.c: needs merge >> spurstack64src/vm/interp.c: needs merge >> spurstacksrc/vm/gcc3x-interp.c: needs merge >> spurstacksrc/vm/interp.c: needs merge >> src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c: needs merge >> src/plugins/SqueakFFIPrims/IA32FFIPlugin.c: needs merge >> src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c: needs merge >> src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c: needs merge >> src/vm/cogit.h: needs merge >> src/vm/cointerp.c: needs merge >> src/vm/cointerp.h: needs merge >> src/vm/cointerpmt.c: needs merge >> src/vm/cointerpmt.h: needs merge >> src/vm/gcc3x-cointerp.c: needs merge >> src/vm/gcc3x-cointerpmt.c: needs merge >> stacksrc/vm/gcc3x-interp.c: needs merge >> stacksrc/vm/interp.c: needs merge >> nsspur64src/vm/cogit.h: needs merge >> nsspur64src/vm/cogitX64SysV.c: needs merge >> nsspur64src/vm/cogitX64WIN64.c: needs merge >> nsspur64src/vm/cointerp.c: needs merge >> nsspur64src/vm/cointerp.h: needs merge >> nsspur64src/vm/gcc3x-cointerp.c: needs merge >> nsspursrc/vm/cogit.h: needs merge >> nsspursrc/vm/cointerp.c: needs merge >> nsspursrc/vm/cointerp.h: needs merge >> nsspursrc/vm/gcc3x-cointerp.c: needs merge >> nsspurstack64src/vm/gcc3x-interp.c: needs merge >> nsspurstack64src/vm/interp.c: needs merge >> nsspurstacksrc/vm/gcc3x-interp.c: needs merge >> nsspurstacksrc/vm/interp.c: needs merge >> spur64src/vm/cogit.h: needs merge >> spur64src/vm/cogitX64SysV.c: needs merge >> spur64src/vm/cogitX64WIN64.c: needs merge >> spur64src/vm/cointerp.c: needs merge >> spur64src/vm/cointerp.h: needs merge >> spur64src/vm/gcc3x-cointerp.c: needs merge >> spurlowcode64src/vm/cogit.h: needs merge >> spurlowcode64src/vm/cogitX64SysV.c: needs merge >> spurlowcode64src/vm/cogitX64WIN64.c: needs merge >> spurlowcode64src/vm/cointerp.c: needs merge >> spurlowcode64src/vm/cointerp.h: needs merge >> spurlowcode64src/vm/gcc3x-cointerp.c: needs merge >> spurlowcodesrc/vm/cogit.h: needs merge >> spurlowcodesrc/vm/cointerp.c: needs merge >> spurlowcodesrc/vm/cointerp.h: needs merge >> spurlowcodesrc/vm/gcc3x-cointerp.c: needs merge >> spurlowcodestack64src/vm/gcc3x-interp.c: needs merge >> spurlowcodestack64src/vm/interp.c: needs merge >> spurlowcodestacksrc/vm/gcc3x-interp.c: needs merge >> spurlowcodestacksrc/vm/interp.c: needs merge >> spursista64src/vm/cogit.h: needs merge >> spursista64src/vm/cogitX64SysV.c: needs merge >> spursista64src/vm/cogitX64WIN64.c: needs merge >> spursista64src/vm/cointerp.c: needs merge >> spursista64src/vm/cointerp.h: needs merge >> spursista64src/vm/gcc3x-cointerp.c: needs merge >> spursistasrc/vm/cogit.h: needs merge >> spursistasrc/vm/cointerp.c: needs merge >> spursistasrc/vm/cointerp.h: needs merge >> spursistasrc/vm/gcc3x-cointerp.c: needs merge >> spursrc/vm/cogit.h: needs merge >> spursrc/vm/cointerp.c: needs merge >> spursrc/vm/cointerp.h: needs merge >> spursrc/vm/gcc3x-cointerp.c: needs merge >> spurstack64src/vm/gcc3x-interp.c: needs merge >> spurstack64src/vm/interp.c: needs merge >> spurstacksrc/vm/gcc3x-interp.c: needs merge >> spurstacksrc/vm/interp.c: needs merge >> src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c: needs merge >> src/plugins/SqueakFFIPrims/IA32FFIPlugin.c: needs merge >> src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c: needs merge >> src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c: needs merge >> src/vm/cogit.h: needs merge >> src/vm/cointerp.c: needs merge >> src/vm/cointerp.h: needs merge >> src/vm/cointerpmt.c: needs merge >> src/vm/cointerpmt.h: needs merge >> src/vm/gcc3x-cointerp.c: needs merge >> src/vm/gcc3x-cointerpmt.c: needs merge >> stacksrc/vm/gcc3x-interp.c: needs merge >> stacksrc/vm/interp.c: needs merge >> nsspur64src/vm/cogit.h: unmerged (ed6bf51d9ab7c6f5927f69e5661f22ad5cdf93d8) >> nsspur64src/vm/cogit.h: unmerged (6b84b3adf311e7e9655802800cf3c66cca5ae590) >> nsspur64src/vm/cogit.h: unmerged (8aeef63d69b098a39eea676e8707de91ff7d4097) >> nsspur64src/vm/cogitX64SysV.c: unmerged (197c00a9998d01982af526043c15480549118225) >> nsspur64src/vm/cogitX64SysV.c: unmerged (41adeb695b6a1d13c802967b1b2a08fcb48a7934) >> nsspur64src/vm/cogitX64SysV.c: unmerged (b61a13f47897197e7b58aa9c147ba87eb5cdc8f1) >> nsspur64src/vm/cogitX64WIN64.c: unmerged (ff6c102e326c6f85a5129ab03ee09b1f24b33304) >> nsspur64src/vm/cogitX64WIN64.c: unmerged (2cb03481942943a106feef898e2a99dd7e316a28) >> nsspur64src/vm/cogitX64WIN64.c: unmerged (ec4b0edb7cd243b040a5982f0a374c3fb3862f77) >> nsspur64src/vm/cointerp.c: unmerged (56db95c989c194930e8d7eeeebebb372ec63258d) >> ... >> fatal: git-write-tree: error building trees >> Cannot save the current index state >> /Users/eliot/oscogvm >> /Users/eliot/oscogvm >> nsspur64src/vm/cogit.h: needs merge >> nsspur64src/vm/cogitX64SysV.c: needs merge >> nsspur64src/vm/cogitX64WIN64.c: needs merge >> nsspur64src/vm/cointerp.c: needs merge >> nsspur64src/vm/cointerp.h: needs merge >> nsspur64src/vm/gcc3x-cointerp.c: needs merge >> nsspursrc/vm/cogit.h: needs merge >> nsspursrc/vm/cointerp.c: needs merge >> nsspursrc/vm/cointerp.h: needs merge >> nsspursrc/vm/gcc3x-cointerp.c: needs merge >> nsspurstack64src/vm/gcc3x-interp.c: needs merge >> nsspurstack64src/vm/interp.c: needs merge >> nsspurstacksrc/vm/gcc3x-interp.c: needs merge >> nsspurstacksrc/vm/interp.c: needs merge >> spur64src/vm/cogit.h: needs merge >> spur64src/vm/cogitX64SysV.c: needs merge >> spur64src/vm/cogitX64WIN64.c: needs merge >> spur64src/vm/cointerp.c: needs merge >> spur64src/vm/cointerp.h: needs merge >> spur64src/vm/gcc3x-cointerp.c: needs merge >> spurlowcode64src/vm/cogit.h: needs merge >> spurlowcode64src/vm/cogitX64SysV.c: needs merge >> spurlowcode64src/vm/cogitX64WIN64.c: needs merge >> spurlowcode64src/vm/cointerp.c: needs merge >> spurlowcode64src/vm/cointerp.h: needs merge >> spurlowcode64src/vm/gcc3x-cointerp.c: needs merge >> spurlowcodesrc/vm/cogit.h: needs merge >> spurlowcodesrc/vm/cointerp.c: needs merge >> spurlowcodesrc/vm/cointerp.h: needs merge >> spurlowcodesrc/vm/gcc3x-cointerp.c: needs merge >> spurlowcodestack64src/vm/gcc3x-interp.c: needs merge >> spurlowcodestack64src/vm/interp.c: needs merge >> spurlowcodestacksrc/vm/gcc3x-interp.c: needs merge >> spurlowcodestacksrc/vm/interp.c: needs merge >> spursista64src/vm/cogit.h: needs merge >> spursista64src/vm/cogitX64SysV.c: needs merge >> spursista64src/vm/cogitX64WIN64.c: needs merge >> spursista64src/vm/cointerp.c: needs merge >> spursista64src/vm/cointerp.h: needs merge >> spursista64src/vm/gcc3x-cointerp.c: needs merge >> spursistasrc/vm/cogit.h: needs merge >> spursistasrc/vm/cointerp.c: needs merge >> spursistasrc/vm/cointerp.h: needs merge >> spursistasrc/vm/gcc3x-cointerp.c: needs merge >> spursrc/vm/cogit.h: needs merge >> spursrc/vm/cointerp.c: needs merge >> spursrc/vm/cointerp.h: needs merge >> spursrc/vm/gcc3x-cointerp.c: needs merge >> spurstack64src/vm/gcc3x-interp.c: needs merge >> spurstack64src/vm/interp.c: needs merge >> spurstacksrc/vm/gcc3x-interp.c: needs merge >> spurstacksrc/vm/interp.c: needs merge >> src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c: needs merge >> src/plugins/SqueakFFIPrims/IA32FFIPlugin.c: needs merge >> src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c: needs merge >> src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c: needs merge >> src/vm/cogit.h: needs merge >> src/vm/cointerp.c: needs merge >> src/vm/cointerp.h: needs merge >> src/vm/cointerpmt.c: needs merge >> src/vm/cointerpmt.h: needs merge >> src/vm/gcc3x-cointerp.c: needs merge >> src/vm/gcc3x-cointerpmt.c: needs merge >> stacksrc/vm/gcc3x-interp.c: needs merge >> stacksrc/vm/interp.c: needs merge >> unable to refresh index >> _,,,^..^,,,_ >> best, Eliot > > > > > -- > _,,,^..^,,,_ > best, Eliot > |
Hi Jakob,
On Fri, Dec 22, 2017 at 12:03 AM, Jakob Reschke <[hidden email]> wrote:
I had tried a git reset --hard, followed by a git pull. The thing still exploded on me. But thank you. My doing scripts/gitrevert *src/vm I have got rid of all the bogus merges, and so I've managed to push. Is there any way I can preen my .git directory so that there's no stash state, etc, after I do a push?
_,,,^..^,,,_ best, Eliot |
You can use `git stash clear` to get rid of all stashed states. Use git stash list and git stash drop to get rid of specific ones. But note that stashes do not affect your operations at all if you do not call them up via git stash. They cannot temper with your files or states unless you actively use them. reset --hard throws everything away that was not committed. Your following pull must have produced conflicts that you left unresolved. I am not sure which data you would further wish to prune except uncommitted state and stash states. In general, reset is your way to clean up intermediary states. For merge, cherry-pick, and others there are special --abort options that are specific to an ongoing operation. 2017-12-22 10:45 GMT+01:00 Eliot Miranda <[hidden email]>: > > Hi Jakob, > > On Fri, Dec 22, 2017 at 12:03 AM, Jakob Reschke <[hidden email]> wrote: >> >> >> Hi Eliot, >> >> To get rid of (i.e. lose) merge state in the index, use `git reset` >> (no further arguments): > > > I had tried a git reset --hard, followed by a git pull. The thing still exploded on me. > > But thank you. My doing scripts/gitrevert *src/vm I have got rid of all the bogus merges, and so I've managed to push. Is there any way I can preen my .git directory so that there's no stash state, etc, after I do a push? > >> >> >> git reset [<mode>] [<commit>] >> This form resets the current branch head to <commit> and possibly >> updates the index (resetting it to the tree of <commit>) and the >> working tree depending on <mode>. If <mode> is omitted, defaults to >> "--mixed". >> [...] >> --mixed >> Resets the index but not the working tree (i.e., the changed files are >> preserved but not marked for commit) and reports what has not been >> updated. >> >> Assuming that your files do not really contain conflicts, but are all >> ready to be committed, you should be fine afterwards. You should check >> the diff to be sure. >> >> Now, the more complicated question is: what did you do before you >> tried to commit? Something must have put all those files in the merge >> state, git commit will not do that. Most likely an unfinished merge >> (pull), but maybe you remember it more concretely. To undo a merge >> (pull) attempt (including changes to the working copy files), you can >> also use `git merge --abort`. That a working copy declares to be "at >> the tip of a branch" does not convey any information about the index >> ("about to be committed") state and additional planned ancestor >> commits. You can see such things with git status or with the `gitk` >> graphical utility. >> >> You should never have to edit or nuke stuff in the .git repository by >> hand. It is more likely to break something rather than to fix >> something. >> >> Kind regards, >> Jakob >> >> 2017-12-22 7:52 GMT+01:00 Eliot Miranda <[hidden email]>: >> > >> > Hi git mavens, >> > >> > >> > what I mean by "what do I do" is how I really get rid of all stash/merge state so that when I generate sources I know the commit will succeed and these phantom merge states will not materialize. Are there files in the .git directory that I need to nuke or reset? git is throwing up these bogus merges in my face and I have no cheap way to get rid of them. Checking out the entire repository again is expensive; I have to rebuild everything. I want something that works in place reliably. I'm losing lots of time here while git is losing its sparkle and gaining a matt brown "sheen". >> > >> > On Thu, Dec 21, 2017 at 10:48 PM, Eliot Miranda <[hidden email]> wrote: >> >> >> >> Hi git mavens, >> >> >> >> I'm screwed. Had a perfectly fine repository that declared itself at the tip of Cog, I committed and then suddenly >> >> >> >> [Cog 59455f2] CogVM source as per VMMaker.oscog-eem.2302 >> >> 80 files changed, 4207 insertions(+), 2489 deletions(-) >> >> nsspur64src/vm/cogit.h: needs merge >> >> nsspur64src/vm/cogitX64SysV.c: needs merge >> >> nsspur64src/vm/cogitX64WIN64.c: needs merge >> >> nsspur64src/vm/cointerp.c: needs merge >> >> nsspur64src/vm/cointerp.h: needs merge >> >> nsspur64src/vm/gcc3x-cointerp.c: needs merge >> >> nsspursrc/vm/cogit.h: needs merge >> >> nsspursrc/vm/cointerp.c: needs merge >> >> nsspursrc/vm/cointerp.h: needs merge >> >> nsspursrc/vm/gcc3x-cointerp.c: needs merge >> >> nsspurstack64src/vm/gcc3x-interp.c: needs merge >> >> nsspurstack64src/vm/interp.c: needs merge >> >> nsspurstacksrc/vm/gcc3x-interp.c: needs merge >> >> nsspurstacksrc/vm/interp.c: needs merge >> >> spur64src/vm/cogit.h: needs merge >> >> spur64src/vm/cogitX64SysV.c: needs merge >> >> spur64src/vm/cogitX64WIN64.c: needs merge >> >> spur64src/vm/cointerp.c: needs merge >> >> spur64src/vm/cointerp.h: needs merge >> >> spur64src/vm/gcc3x-cointerp.c: needs merge >> >> spurlowcode64src/vm/cogit.h: needs merge >> >> spurlowcode64src/vm/cogitX64SysV.c: needs merge >> >> spurlowcode64src/vm/cogitX64WIN64.c: needs merge >> >> spurlowcode64src/vm/cointerp.c: needs merge >> >> spurlowcode64src/vm/cointerp.h: needs merge >> >> spurlowcode64src/vm/gcc3x-cointerp.c: needs merge >> >> spurlowcodesrc/vm/cogit.h: needs merge >> >> spurlowcodesrc/vm/cointerp.c: needs merge >> >> spurlowcodesrc/vm/cointerp.h: needs merge >> >> spurlowcodesrc/vm/gcc3x-cointerp.c: needs merge >> >> spurlowcodestack64src/vm/gcc3x-interp.c: needs merge >> >> spurlowcodestack64src/vm/interp.c: needs merge >> >> spurlowcodestacksrc/vm/gcc3x-interp.c: needs merge >> >> spurlowcodestacksrc/vm/interp.c: needs merge >> >> spursista64src/vm/cogit.h: needs merge >> >> spursista64src/vm/cogitX64SysV.c: needs merge >> >> spursista64src/vm/cogitX64WIN64.c: needs merge >> >> spursista64src/vm/cointerp.c: needs merge >> >> spursista64src/vm/cointerp.h: needs merge >> >> spursista64src/vm/gcc3x-cointerp.c: needs merge >> >> spursistasrc/vm/cogit.h: needs merge >> >> spursistasrc/vm/cointerp.c: needs merge >> >> spursistasrc/vm/cointerp.h: needs merge >> >> spursistasrc/vm/gcc3x-cointerp.c: needs merge >> >> spursrc/vm/cogit.h: needs merge >> >> spursrc/vm/cointerp.c: needs merge >> >> spursrc/vm/cointerp.h: needs merge >> >> spursrc/vm/gcc3x-cointerp.c: needs merge >> >> spurstack64src/vm/gcc3x-interp.c: needs merge >> >> spurstack64src/vm/interp.c: needs merge >> >> spurstacksrc/vm/gcc3x-interp.c: needs merge >> >> spurstacksrc/vm/interp.c: needs merge >> >> src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c: needs merge >> >> src/plugins/SqueakFFIPrims/IA32FFIPlugin.c: needs merge >> >> src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c: needs merge >> >> src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c: needs merge >> >> src/vm/cogit.h: needs merge >> >> src/vm/cointerp.c: needs merge >> >> src/vm/cointerp.h: needs merge >> >> src/vm/cointerpmt.c: needs merge >> >> src/vm/cointerpmt.h: needs merge >> >> src/vm/gcc3x-cointerp.c: needs merge >> >> src/vm/gcc3x-cointerpmt.c: needs merge >> >> stacksrc/vm/gcc3x-interp.c: needs merge >> >> stacksrc/vm/interp.c: needs merge >> >> nsspur64src/vm/cogit.h: needs merge >> >> nsspur64src/vm/cogitX64SysV.c: needs merge >> >> nsspur64src/vm/cogitX64WIN64.c: needs merge >> >> nsspur64src/vm/cointerp.c: needs merge >> >> nsspur64src/vm/cointerp.h: needs merge >> >> nsspur64src/vm/gcc3x-cointerp.c: needs merge >> >> nsspursrc/vm/cogit.h: needs merge >> >> nsspursrc/vm/cointerp.c: needs merge >> >> nsspursrc/vm/cointerp.h: needs merge >> >> nsspursrc/vm/gcc3x-cointerp.c: needs merge >> >> nsspurstack64src/vm/gcc3x-interp.c: needs merge >> >> nsspurstack64src/vm/interp.c: needs merge >> >> nsspurstacksrc/vm/gcc3x-interp.c: needs merge >> >> nsspurstacksrc/vm/interp.c: needs merge >> >> spur64src/vm/cogit.h: needs merge >> >> spur64src/vm/cogitX64SysV.c: needs merge >> >> spur64src/vm/cogitX64WIN64.c: needs merge >> >> spur64src/vm/cointerp.c: needs merge >> >> spur64src/vm/cointerp.h: needs merge >> >> spur64src/vm/gcc3x-cointerp.c: needs merge >> >> spurlowcode64src/vm/cogit.h: needs merge >> >> spurlowcode64src/vm/cogitX64SysV.c: needs merge >> >> spurlowcode64src/vm/cogitX64WIN64.c: needs merge >> >> spurlowcode64src/vm/cointerp.c: needs merge >> >> spurlowcode64src/vm/cointerp.h: needs merge >> >> spurlowcode64src/vm/gcc3x-cointerp.c: needs merge >> >> spurlowcodesrc/vm/cogit.h: needs merge >> >> spurlowcodesrc/vm/cointerp.c: needs merge >> >> spurlowcodesrc/vm/cointerp.h: needs merge >> >> spurlowcodesrc/vm/gcc3x-cointerp.c: needs merge >> >> spurlowcodestack64src/vm/gcc3x-interp.c: needs merge >> >> spurlowcodestack64src/vm/interp.c: needs merge >> >> spurlowcodestacksrc/vm/gcc3x-interp.c: needs merge >> >> spurlowcodestacksrc/vm/interp.c: needs merge >> >> spursista64src/vm/cogit.h: needs merge >> >> spursista64src/vm/cogitX64SysV.c: needs merge >> >> spursista64src/vm/cogitX64WIN64.c: needs merge >> >> spursista64src/vm/cointerp.c: needs merge >> >> spursista64src/vm/cointerp.h: needs merge >> >> spursista64src/vm/gcc3x-cointerp.c: needs merge >> >> spursistasrc/vm/cogit.h: needs merge >> >> spursistasrc/vm/cointerp.c: needs merge >> >> spursistasrc/vm/cointerp.h: needs merge >> >> spursistasrc/vm/gcc3x-cointerp.c: needs merge >> >> spursrc/vm/cogit.h: needs merge >> >> spursrc/vm/cointerp.c: needs merge >> >> spursrc/vm/cointerp.h: needs merge >> >> spursrc/vm/gcc3x-cointerp.c: needs merge >> >> spurstack64src/vm/gcc3x-interp.c: needs merge >> >> spurstack64src/vm/interp.c: needs merge >> >> spurstacksrc/vm/gcc3x-interp.c: needs merge >> >> spurstacksrc/vm/interp.c: needs merge >> >> src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c: needs merge >> >> src/plugins/SqueakFFIPrims/IA32FFIPlugin.c: needs merge >> >> src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c: needs merge >> >> src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c: needs merge >> >> src/vm/cogit.h: needs merge >> >> src/vm/cointerp.c: needs merge >> >> src/vm/cointerp.h: needs merge >> >> src/vm/cointerpmt.c: needs merge >> >> src/vm/cointerpmt.h: needs merge >> >> src/vm/gcc3x-cointerp.c: needs merge >> >> src/vm/gcc3x-cointerpmt.c: needs merge >> >> stacksrc/vm/gcc3x-interp.c: needs merge >> >> stacksrc/vm/interp.c: needs merge >> >> nsspur64src/vm/cogit.h: unmerged (ed6bf51d9ab7c6f5927f69e5661f22ad5cdf93d8) >> >> nsspur64src/vm/cogit.h: unmerged (6b84b3adf311e7e9655802800cf3c66cca5ae590) >> >> nsspur64src/vm/cogit.h: unmerged (8aeef63d69b098a39eea676e8707de91ff7d4097) >> >> nsspur64src/vm/cogitX64SysV.c: unmerged (197c00a9998d01982af526043c15480549118225) >> >> nsspur64src/vm/cogitX64SysV.c: unmerged (41adeb695b6a1d13c802967b1b2a08fcb48a7934) >> >> nsspur64src/vm/cogitX64SysV.c: unmerged (b61a13f47897197e7b58aa9c147ba87eb5cdc8f1) >> >> nsspur64src/vm/cogitX64WIN64.c: unmerged (ff6c102e326c6f85a5129ab03ee09b1f24b33304) >> >> nsspur64src/vm/cogitX64WIN64.c: unmerged (2cb03481942943a106feef898e2a99dd7e316a28) >> >> nsspur64src/vm/cogitX64WIN64.c: unmerged (ec4b0edb7cd243b040a5982f0a374c3fb3862f77) >> >> nsspur64src/vm/cointerp.c: unmerged (56db95c989c194930e8d7eeeebebb372ec63258d) >> >> ... >> >> fatal: git-write-tree: error building trees >> >> Cannot save the current index state >> >> /Users/eliot/oscogvm >> >> /Users/eliot/oscogvm >> >> nsspur64src/vm/cogit.h: needs merge >> >> nsspur64src/vm/cogitX64SysV.c: needs merge >> >> nsspur64src/vm/cogitX64WIN64.c: needs merge >> >> nsspur64src/vm/cointerp.c: needs merge >> >> nsspur64src/vm/cointerp.h: needs merge >> >> nsspur64src/vm/gcc3x-cointerp.c: needs merge >> >> nsspursrc/vm/cogit.h: needs merge >> >> nsspursrc/vm/cointerp.c: needs merge >> >> nsspursrc/vm/cointerp.h: needs merge >> >> nsspursrc/vm/gcc3x-cointerp.c: needs merge >> >> nsspurstack64src/vm/gcc3x-interp.c: needs merge >> >> nsspurstack64src/vm/interp.c: needs merge >> >> nsspurstacksrc/vm/gcc3x-interp.c: needs merge >> >> nsspurstacksrc/vm/interp.c: needs merge >> >> spur64src/vm/cogit.h: needs merge >> >> spur64src/vm/cogitX64SysV.c: needs merge >> >> spur64src/vm/cogitX64WIN64.c: needs merge >> >> spur64src/vm/cointerp.c: needs merge >> >> spur64src/vm/cointerp.h: needs merge >> >> spur64src/vm/gcc3x-cointerp.c: needs merge >> >> spurlowcode64src/vm/cogit.h: needs merge >> >> spurlowcode64src/vm/cogitX64SysV.c: needs merge >> >> spurlowcode64src/vm/cogitX64WIN64.c: needs merge >> >> spurlowcode64src/vm/cointerp.c: needs merge >> >> spurlowcode64src/vm/cointerp.h: needs merge >> >> spurlowcode64src/vm/gcc3x-cointerp.c: needs merge >> >> spurlowcodesrc/vm/cogit.h: needs merge >> >> spurlowcodesrc/vm/cointerp.c: needs merge >> >> spurlowcodesrc/vm/cointerp.h: needs merge >> >> spurlowcodesrc/vm/gcc3x-cointerp.c: needs merge >> >> spurlowcodestack64src/vm/gcc3x-interp.c: needs merge >> >> spurlowcodestack64src/vm/interp.c: needs merge >> >> spurlowcodestacksrc/vm/gcc3x-interp.c: needs merge >> >> spurlowcodestacksrc/vm/interp.c: needs merge >> >> spursista64src/vm/cogit.h: needs merge >> >> spursista64src/vm/cogitX64SysV.c: needs merge >> >> spursista64src/vm/cogitX64WIN64.c: needs merge >> >> spursista64src/vm/cointerp.c: needs merge >> >> spursista64src/vm/cointerp.h: needs merge >> >> spursista64src/vm/gcc3x-cointerp.c: needs merge >> >> spursistasrc/vm/cogit.h: needs merge >> >> spursistasrc/vm/cointerp.c: needs merge >> >> spursistasrc/vm/cointerp.h: needs merge >> >> spursistasrc/vm/gcc3x-cointerp.c: needs merge >> >> spursrc/vm/cogit.h: needs merge >> >> spursrc/vm/cointerp.c: needs merge >> >> spursrc/vm/cointerp.h: needs merge >> >> spursrc/vm/gcc3x-cointerp.c: needs merge >> >> spurstack64src/vm/gcc3x-interp.c: needs merge >> >> spurstack64src/vm/interp.c: needs merge >> >> spurstacksrc/vm/gcc3x-interp.c: needs merge >> >> spurstacksrc/vm/interp.c: needs merge >> >> src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c: needs merge >> >> src/plugins/SqueakFFIPrims/IA32FFIPlugin.c: needs merge >> >> src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c: needs merge >> >> src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c: needs merge >> >> src/vm/cogit.h: needs merge >> >> src/vm/cointerp.c: needs merge >> >> src/vm/cointerp.h: needs merge >> >> src/vm/cointerpmt.c: needs merge >> >> src/vm/cointerpmt.h: needs merge >> >> src/vm/gcc3x-cointerp.c: needs merge >> >> src/vm/gcc3x-cointerpmt.c: needs merge >> >> stacksrc/vm/gcc3x-interp.c: needs merge >> >> stacksrc/vm/interp.c: needs merge >> >> unable to refresh index >> >> _,,,^..^,,,_ >> >> best, Eliot >> > >> > >> > >> > >> > -- >> > _,,,^..^,,,_ >> > best, Eliot >> > >> > > > > -- > _,,,^..^,,,_ > best, Eliot > |
In reply to this post by Eliot Miranda-2
Just to clarify, the command you ran was the raw commit command...
$ git commit -m "message" and not some greater script that surrounds a commit with other logic including stashing ? And also, did those "need merge" errors immediately appear running that command, or did they show later after running another command like `git pull`? In the meantime, just guessing this is related... "It is unfortunate that git stash does not work with merge conflicts. "as is this... In essence, if there are merge conflicts - i.e. `git merge` did not complete and is in a halfway state waiting for the conflicts to be resolved, the don't stash. Stashing a halfway state seems a bad thing to do. To reverse out of such a half-way state, a `git merge --abort` should make everything well. However its not always easy to make that connection since `git merge --abort` is not symmetrical with `git pull`. btw, I'd suggest you avoid `git pull` since it is over-helpful and conflates underlying git concepts which undermines your understanding to leave you floundering when things go wrong. Instead split `git pull` into its components. Assuming you are active on the "Cog" branch, you would instead do... $ git fetch origin $ git merge origin/Cog Then if errors show up during `git merge` its easier to remember that `git merge --abort` reverts things. Also a nice thing about fetching and merging separately is that it gives you the chance to examine what you’ve fetched before deciding what to do next. For example, optionally between fetchign and merging you can do... $ git diff Cog origin/Cog Here are some further viewpoints on avoiding `git pull`... cheers -ben On 22 December 2017 at 14:48, Eliot Miranda <[hidden email]> wrote:
|
Thanks Ben, this is indeed descriptive of the mess I got into. I'll read at length, but the takeaway is that git pull is to be avoided. Looks like also some kind of stash check could go into the scripts/gitci script prior to doing the actual commit. _,,,^..^,,,_ (phone)
|
Free forum by Nabble | Edit this page |