[Vm-dev] What do I do when this happens?

Eliot Miranda eliot.miranda at gmail.com
Fri Dec 22 09:45:50 UTC 2017


Hi Jakob,

On Fri, Dec 22, 2017 at 12:03 AM, Jakob Reschke <forums.jakob at 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 at 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 at 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
> >
>
>


-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20171222/84932256/attachment-0001.html>


More information about the Vm-dev mailing list