Hi Jakob,
On Fri, Dec 22, 2017 at 12:03 AM, Jakob Reschke forums.jakob@resfarm.de 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 eliot.miranda@gmail.com:
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 eliot.miranda@gmail.com
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 (ed6bf51d9ab7c6f5927f69e5661f22
ad5cdf93d8)
nsspur64src/vm/cogit.h: unmerged (6b84b3adf311e7e9655802800cf3c6
6cca5ae590)
nsspur64src/vm/cogit.h: unmerged (8aeef63d69b098a39eea676e8707de
91ff7d4097)
nsspur64src/vm/cogitX64SysV.c: unmerged (197c00a9998d01982af526043c1548
0549118225)
nsspur64src/vm/cogitX64SysV.c: unmerged (41adeb695b6a1d13c802967b1b2a08
fcb48a7934)
nsspur64src/vm/cogitX64SysV.c: unmerged (b61a13f47897197e7b58aa9c147ba8
7eb5cdc8f1)
nsspur64src/vm/cogitX64WIN64.c: unmerged (
ff6c102e326c6f85a5129ab03ee09b1f24b33304)
nsspur64src/vm/cogitX64WIN64.c: unmerged (
2cb03481942943a106feef898e2a99dd7e316a28)
nsspur64src/vm/cogitX64WIN64.c: unmerged (
ec4b0edb7cd243b040a5982f0a374c3fb3862f77)
nsspur64src/vm/cointerp.c: unmerged (56db95c989c194930e8d7eeeebebb3
72ec63258d)
... 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