<div dir="ltr">Hi Jakob,<div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 22, 2017 at 12:03 AM, Jakob Reschke <span dir="ltr"><<a href="mailto:forums.jakob@resfarm.de" target="_blank">forums.jakob@resfarm.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Hi Eliot,<br>
<br>
To get rid of (i.e. lose) merge state in the index, use `git reset`<br>
(no further arguments):<br></blockquote><div><br></div><div>I had tried a git reset --hard, followed by a git pull.  The thing still exploded on me.</div><div><br></div><div>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?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
git reset [<mode>] [<commit>]<br>
This form resets the current branch head to <commit> and possibly<br>
updates the index (resetting it to the tree of <commit>) and the<br>
working tree depending on <mode>. If <mode> is omitted, defaults to<br>
"--mixed".<br>
[...]<br>
--mixed<br>
Resets the index but not the working tree (i.e., the changed files are<br>
preserved but not marked for commit) and reports what has not been<br>
updated.<br>
<br>
Assuming that your files do not really contain conflicts, but are all<br>
ready to be committed, you should be fine afterwards. You should check<br>
the diff to be sure.<br>
<br>
Now, the more complicated question is: what did you do before you<br>
tried to commit? Something must have put all those files in the merge<br>
state, git commit will not do that. Most likely an unfinished merge<br>
(pull), but maybe you remember it more concretely. To undo a merge<br>
(pull) attempt (including changes to the working copy files), you can<br>
also use `git merge --abort`. That a working copy declares to be "at<br>
the tip of a branch" does not convey any information about the index<br>
("about to be committed") state and additional planned ancestor<br>
commits. You can see such things with git status or with the `gitk`<br>
graphical utility.<br>
<br>
You should never have to edit or nuke stuff in the .git repository by<br>
hand. It is more likely to break something rather than to fix<br>
something.<br>
<br>
Kind regards,<br>
Jakob<br>
<div class="HOEnZb"><div class="h5"><br>
2017-12-22 7:52 GMT+01:00 Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>>:<br>
><br>
> Hi git mavens,<br>
><br>
><br>
>    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".<br>
><br>
> On Thu, Dec 21, 2017 at 10:48 PM, Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>> wrote:<br>
>><br>
>> Hi git mavens,<br>
>><br>
>>     I'm screwed.  Had a perfectly fine repository that declared itself at the tip of Cog, I committed and then suddenly<br>
>><br>
>> [Cog 59455f2] CogVM source as per VMMaker.oscog-eem.2302<br>
>>  80 files changed, 4207 insertions(+), 2489 deletions(-)<br>
>> nsspur64src/vm/cogit.h: needs merge<br>
>> nsspur64src/vm/cogitX64SysV.c: needs merge<br>
>> nsspur64src/vm/cogitX64WIN64.<wbr>c: needs merge<br>
>> nsspur64src/vm/cointerp.c: needs merge<br>
>> nsspur64src/vm/cointerp.h: needs merge<br>
>> nsspur64src/vm/gcc3x-cointerp.<wbr>c: needs merge<br>
>> nsspursrc/vm/cogit.h: needs merge<br>
>> nsspursrc/vm/cointerp.c: needs merge<br>
>> nsspursrc/vm/cointerp.h: needs merge<br>
>> nsspursrc/vm/gcc3x-cointerp.c: needs merge<br>
>> nsspurstack64src/vm/gcc3x-<wbr>interp.c: needs merge<br>
>> nsspurstack64src/vm/interp.c: needs merge<br>
>> nsspurstacksrc/vm/gcc3x-<wbr>interp.c: needs merge<br>
>> nsspurstacksrc/vm/interp.c: needs merge<br>
>> spur64src/vm/cogit.h: needs merge<br>
>> spur64src/vm/cogitX64SysV.c: needs merge<br>
>> spur64src/vm/cogitX64WIN64.c: needs merge<br>
>> spur64src/vm/cointerp.c: needs merge<br>
>> spur64src/vm/cointerp.h: needs merge<br>
>> spur64src/vm/gcc3x-cointerp.c: needs merge<br>
>> spurlowcode64src/vm/cogit.h: needs merge<br>
>> spurlowcode64src/vm/<wbr>cogitX64SysV.c: needs merge<br>
>> spurlowcode64src/vm/<wbr>cogitX64WIN64.c: needs merge<br>
>> spurlowcode64src/vm/cointerp.<wbr>c: needs merge<br>
>> spurlowcode64src/vm/cointerp.<wbr>h: needs merge<br>
>> spurlowcode64src/vm/gcc3x-<wbr>cointerp.c: needs merge<br>
>> spurlowcodesrc/vm/cogit.h: needs merge<br>
>> spurlowcodesrc/vm/cointerp.c: needs merge<br>
>> spurlowcodesrc/vm/cointerp.h: needs merge<br>
>> spurlowcodesrc/vm/gcc3x-<wbr>cointerp.c: needs merge<br>
>> spurlowcodestack64src/vm/<wbr>gcc3x-interp.c: needs merge<br>
>> spurlowcodestack64src/vm/<wbr>interp.c: needs merge<br>
>> spurlowcodestacksrc/vm/gcc3x-<wbr>interp.c: needs merge<br>
>> spurlowcodestacksrc/vm/interp.<wbr>c: needs merge<br>
>> spursista64src/vm/cogit.h: needs merge<br>
>> spursista64src/vm/<wbr>cogitX64SysV.c: needs merge<br>
>> spursista64src/vm/<wbr>cogitX64WIN64.c: needs merge<br>
>> spursista64src/vm/cointerp.c: needs merge<br>
>> spursista64src/vm/cointerp.h: needs merge<br>
>> spursista64src/vm/gcc3x-<wbr>cointerp.c: needs merge<br>
>> spursistasrc/vm/cogit.h: needs merge<br>
>> spursistasrc/vm/cointerp.c: needs merge<br>
>> spursistasrc/vm/cointerp.h: needs merge<br>
>> spursistasrc/vm/gcc3x-<wbr>cointerp.c: needs merge<br>
>> spursrc/vm/cogit.h: needs merge<br>
>> spursrc/vm/cointerp.c: needs merge<br>
>> spursrc/vm/cointerp.h: needs merge<br>
>> spursrc/vm/gcc3x-cointerp.c: needs merge<br>
>> spurstack64src/vm/gcc3x-<wbr>interp.c: needs merge<br>
>> spurstack64src/vm/interp.c: needs merge<br>
>> spurstacksrc/vm/gcc3x-interp.<wbr>c: needs merge<br>
>> spurstacksrc/vm/interp.c: needs merge<br>
>> src/plugins/SqueakFFIPrims/<wbr>ARM32FFIPlugin.c: needs merge<br>
>> src/plugins/SqueakFFIPrims/<wbr>IA32FFIPlugin.c: needs merge<br>
>> src/plugins/SqueakFFIPrims/<wbr>X64SysVFFIPlugin.c: needs merge<br>
>> src/plugins/SqueakFFIPrims/<wbr>X64Win64FFIPlugin.c: needs merge<br>
>> src/vm/cogit.h: needs merge<br>
>> src/vm/cointerp.c: needs merge<br>
>> src/vm/cointerp.h: needs merge<br>
>> src/vm/cointerpmt.c: needs merge<br>
>> src/vm/cointerpmt.h: needs merge<br>
>> src/vm/gcc3x-cointerp.c: needs merge<br>
>> src/vm/gcc3x-cointerpmt.c: needs merge<br>
>> stacksrc/vm/gcc3x-interp.c: needs merge<br>
>> stacksrc/vm/interp.c: needs merge<br>
>> nsspur64src/vm/cogit.h: needs merge<br>
>> nsspur64src/vm/cogitX64SysV.c: needs merge<br>
>> nsspur64src/vm/cogitX64WIN64.<wbr>c: needs merge<br>
>> nsspur64src/vm/cointerp.c: needs merge<br>
>> nsspur64src/vm/cointerp.h: needs merge<br>
>> nsspur64src/vm/gcc3x-cointerp.<wbr>c: needs merge<br>
>> nsspursrc/vm/cogit.h: needs merge<br>
>> nsspursrc/vm/cointerp.c: needs merge<br>
>> nsspursrc/vm/cointerp.h: needs merge<br>
>> nsspursrc/vm/gcc3x-cointerp.c: needs merge<br>
>> nsspurstack64src/vm/gcc3x-<wbr>interp.c: needs merge<br>
>> nsspurstack64src/vm/interp.c: needs merge<br>
>> nsspurstacksrc/vm/gcc3x-<wbr>interp.c: needs merge<br>
>> nsspurstacksrc/vm/interp.c: needs merge<br>
>> spur64src/vm/cogit.h: needs merge<br>
>> spur64src/vm/cogitX64SysV.c: needs merge<br>
>> spur64src/vm/cogitX64WIN64.c: needs merge<br>
>> spur64src/vm/cointerp.c: needs merge<br>
>> spur64src/vm/cointerp.h: needs merge<br>
>> spur64src/vm/gcc3x-cointerp.c: needs merge<br>
>> spurlowcode64src/vm/cogit.h: needs merge<br>
>> spurlowcode64src/vm/<wbr>cogitX64SysV.c: needs merge<br>
>> spurlowcode64src/vm/<wbr>cogitX64WIN64.c: needs merge<br>
>> spurlowcode64src/vm/cointerp.<wbr>c: needs merge<br>
>> spurlowcode64src/vm/cointerp.<wbr>h: needs merge<br>
>> spurlowcode64src/vm/gcc3x-<wbr>cointerp.c: needs merge<br>
>> spurlowcodesrc/vm/cogit.h: needs merge<br>
>> spurlowcodesrc/vm/cointerp.c: needs merge<br>
>> spurlowcodesrc/vm/cointerp.h: needs merge<br>
>> spurlowcodesrc/vm/gcc3x-<wbr>cointerp.c: needs merge<br>
>> spurlowcodestack64src/vm/<wbr>gcc3x-interp.c: needs merge<br>
>> spurlowcodestack64src/vm/<wbr>interp.c: needs merge<br>
>> spurlowcodestacksrc/vm/gcc3x-<wbr>interp.c: needs merge<br>
>> spurlowcodestacksrc/vm/interp.<wbr>c: needs merge<br>
>> spursista64src/vm/cogit.h: needs merge<br>
>> spursista64src/vm/<wbr>cogitX64SysV.c: needs merge<br>
>> spursista64src/vm/<wbr>cogitX64WIN64.c: needs merge<br>
>> spursista64src/vm/cointerp.c: needs merge<br>
>> spursista64src/vm/cointerp.h: needs merge<br>
>> spursista64src/vm/gcc3x-<wbr>cointerp.c: needs merge<br>
>> spursistasrc/vm/cogit.h: needs merge<br>
>> spursistasrc/vm/cointerp.c: needs merge<br>
>> spursistasrc/vm/cointerp.h: needs merge<br>
>> spursistasrc/vm/gcc3x-<wbr>cointerp.c: needs merge<br>
>> spursrc/vm/cogit.h: needs merge<br>
>> spursrc/vm/cointerp.c: needs merge<br>
>> spursrc/vm/cointerp.h: needs merge<br>
>> spursrc/vm/gcc3x-cointerp.c: needs merge<br>
>> spurstack64src/vm/gcc3x-<wbr>interp.c: needs merge<br>
>> spurstack64src/vm/interp.c: needs merge<br>
>> spurstacksrc/vm/gcc3x-interp.<wbr>c: needs merge<br>
>> spurstacksrc/vm/interp.c: needs merge<br>
>> src/plugins/SqueakFFIPrims/<wbr>ARM32FFIPlugin.c: needs merge<br>
>> src/plugins/SqueakFFIPrims/<wbr>IA32FFIPlugin.c: needs merge<br>
>> src/plugins/SqueakFFIPrims/<wbr>X64SysVFFIPlugin.c: needs merge<br>
>> src/plugins/SqueakFFIPrims/<wbr>X64Win64FFIPlugin.c: needs merge<br>
>> src/vm/cogit.h: needs merge<br>
>> src/vm/cointerp.c: needs merge<br>
>> src/vm/cointerp.h: needs merge<br>
>> src/vm/cointerpmt.c: needs merge<br>
>> src/vm/cointerpmt.h: needs merge<br>
>> src/vm/gcc3x-cointerp.c: needs merge<br>
>> src/vm/gcc3x-cointerpmt.c: needs merge<br>
>> stacksrc/vm/gcc3x-interp.c: needs merge<br>
>> stacksrc/vm/interp.c: needs merge<br>
>> nsspur64src/vm/cogit.h: unmerged (<wbr>ed6bf51d9ab7c6f5927f69e5661f22<wbr>ad5cdf93d8)<br>
>> nsspur64src/vm/cogit.h: unmerged (<wbr>6b84b3adf311e7e9655802800cf3c6<wbr>6cca5ae590)<br>
>> nsspur64src/vm/cogit.h: unmerged (<wbr>8aeef63d69b098a39eea676e8707de<wbr>91ff7d4097)<br>
>> nsspur64src/vm/cogitX64SysV.c: unmerged (<wbr>197c00a9998d01982af526043c1548<wbr>0549118225)<br>
>> nsspur64src/vm/cogitX64SysV.c: unmerged (<wbr>41adeb695b6a1d13c802967b1b2a08<wbr>fcb48a7934)<br>
>> nsspur64src/vm/cogitX64SysV.c: unmerged (<wbr>b61a13f47897197e7b58aa9c147ba8<wbr>7eb5cdc8f1)<br>
>> nsspur64src/vm/cogitX64WIN64.<wbr>c: unmerged (<wbr>ff6c102e326c6f85a5129ab03ee09b<wbr>1f24b33304)<br>
>> nsspur64src/vm/cogitX64WIN64.<wbr>c: unmerged (<wbr>2cb03481942943a106feef898e2a99<wbr>dd7e316a28)<br>
>> nsspur64src/vm/cogitX64WIN64.<wbr>c: unmerged (<wbr>ec4b0edb7cd243b040a5982f0a374c<wbr>3fb3862f77)<br>
>> nsspur64src/vm/cointerp.c: unmerged (<wbr>56db95c989c194930e8d7eeeebebb3<wbr>72ec63258d)<br>
>> ...<br>
>> fatal: git-write-tree: error building trees<br>
>> Cannot save the current index state<br>
>> /Users/eliot/oscogvm<br>
>> /Users/eliot/oscogvm<br>
>> nsspur64src/vm/cogit.h: needs merge<br>
>> nsspur64src/vm/cogitX64SysV.c: needs merge<br>
>> nsspur64src/vm/cogitX64WIN64.<wbr>c: needs merge<br>
>> nsspur64src/vm/cointerp.c: needs merge<br>
>> nsspur64src/vm/cointerp.h: needs merge<br>
>> nsspur64src/vm/gcc3x-cointerp.<wbr>c: needs merge<br>
>> nsspursrc/vm/cogit.h: needs merge<br>
>> nsspursrc/vm/cointerp.c: needs merge<br>
>> nsspursrc/vm/cointerp.h: needs merge<br>
>> nsspursrc/vm/gcc3x-cointerp.c: needs merge<br>
>> nsspurstack64src/vm/gcc3x-<wbr>interp.c: needs merge<br>
>> nsspurstack64src/vm/interp.c: needs merge<br>
>> nsspurstacksrc/vm/gcc3x-<wbr>interp.c: needs merge<br>
>> nsspurstacksrc/vm/interp.c: needs merge<br>
>> spur64src/vm/cogit.h: needs merge<br>
>> spur64src/vm/cogitX64SysV.c: needs merge<br>
>> spur64src/vm/cogitX64WIN64.c: needs merge<br>
>> spur64src/vm/cointerp.c: needs merge<br>
>> spur64src/vm/cointerp.h: needs merge<br>
>> spur64src/vm/gcc3x-cointerp.c: needs merge<br>
>> spurlowcode64src/vm/cogit.h: needs merge<br>
>> spurlowcode64src/vm/<wbr>cogitX64SysV.c: needs merge<br>
>> spurlowcode64src/vm/<wbr>cogitX64WIN64.c: needs merge<br>
>> spurlowcode64src/vm/cointerp.<wbr>c: needs merge<br>
>> spurlowcode64src/vm/cointerp.<wbr>h: needs merge<br>
>> spurlowcode64src/vm/gcc3x-<wbr>cointerp.c: needs merge<br>
>> spurlowcodesrc/vm/cogit.h: needs merge<br>
>> spurlowcodesrc/vm/cointerp.c: needs merge<br>
>> spurlowcodesrc/vm/cointerp.h: needs merge<br>
>> spurlowcodesrc/vm/gcc3x-<wbr>cointerp.c: needs merge<br>
>> spurlowcodestack64src/vm/<wbr>gcc3x-interp.c: needs merge<br>
>> spurlowcodestack64src/vm/<wbr>interp.c: needs merge<br>
>> spurlowcodestacksrc/vm/gcc3x-<wbr>interp.c: needs merge<br>
>> spurlowcodestacksrc/vm/interp.<wbr>c: needs merge<br>
>> spursista64src/vm/cogit.h: needs merge<br>
>> spursista64src/vm/<wbr>cogitX64SysV.c: needs merge<br>
>> spursista64src/vm/<wbr>cogitX64WIN64.c: needs merge<br>
>> spursista64src/vm/cointerp.c: needs merge<br>
>> spursista64src/vm/cointerp.h: needs merge<br>
>> spursista64src/vm/gcc3x-<wbr>cointerp.c: needs merge<br>
>> spursistasrc/vm/cogit.h: needs merge<br>
>> spursistasrc/vm/cointerp.c: needs merge<br>
>> spursistasrc/vm/cointerp.h: needs merge<br>
>> spursistasrc/vm/gcc3x-<wbr>cointerp.c: needs merge<br>
>> spursrc/vm/cogit.h: needs merge<br>
>> spursrc/vm/cointerp.c: needs merge<br>
>> spursrc/vm/cointerp.h: needs merge<br>
>> spursrc/vm/gcc3x-cointerp.c: needs merge<br>
>> spurstack64src/vm/gcc3x-<wbr>interp.c: needs merge<br>
>> spurstack64src/vm/interp.c: needs merge<br>
>> spurstacksrc/vm/gcc3x-interp.<wbr>c: needs merge<br>
>> spurstacksrc/vm/interp.c: needs merge<br>
>> src/plugins/SqueakFFIPrims/<wbr>ARM32FFIPlugin.c: needs merge<br>
>> src/plugins/SqueakFFIPrims/<wbr>IA32FFIPlugin.c: needs merge<br>
>> src/plugins/SqueakFFIPrims/<wbr>X64SysVFFIPlugin.c: needs merge<br>
>> src/plugins/SqueakFFIPrims/<wbr>X64Win64FFIPlugin.c: needs merge<br>
>> src/vm/cogit.h: needs merge<br>
>> src/vm/cointerp.c: needs merge<br>
>> src/vm/cointerp.h: needs merge<br>
>> src/vm/cointerpmt.c: needs merge<br>
>> src/vm/cointerpmt.h: needs merge<br>
>> src/vm/gcc3x-cointerp.c: needs merge<br>
>> src/vm/gcc3x-cointerpmt.c: needs merge<br>
>> stacksrc/vm/gcc3x-interp.c: needs merge<br>
>> stacksrc/vm/interp.c: needs merge<br>
>> unable to refresh index<br>
>> _,,,^..^,,,_<br>
>> best, Eliot<br>
><br>
><br>
><br>
><br>
> --<br>
> _,,,^..^,,,_<br>
> best, Eliot<br>
><br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>