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

Jakob Reschke forums.jakob at resfarm.de
Fri Dec 22 10:19:08 UTC 2017


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 <eliot.miranda at gmail.com>:
>
> 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 (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
>



More information about the Vm-dev mailing list