From: Jean-Christian de Rivaz Date: Tue, 10 Jul 2007 14:20:08 GMT Subject: Re: I used git pull instead of stg pull ! Message-ID: <46939598.9000103@eclis.ch> In-Reply-To: <20070710132957.GA9297@diana.vm.bytemark.co.uk> Thanks a lot Karl, Your method solved the problem perfectly. Have a good day, -- Jean-Christian de Rivaz Karl Hasselström a écrit : > On 2007-07-10 11:52:47 +0200, Jean-Christian de Rivaz wrote: > >> I have made the error to use the "git pull" command instead of the >> "stg pull" command. The "git pull" have been executed successfuly, >> but now stg seem to be confused: >> >> stg pull -n >> stg pull: local changes in the tree. Use "refresh" to commit them >> >> stg new dummy -m "dummy" >> stg new: HEAD and top are not the same. You probably committed >> changes to the tree outside of StGIT. If you know what you >> are doing, use the "refresh -f" command >> >> How can I restore the archive to a normal state for stg ? > > The problem is that you have committed a merge on top of the StGIT > stack, and StGIT can't deal with that. You can undo the merge > (provided that you haven't committed anything else on top of it) with > "git reset --hard HEAD^". > > NOTE: "reset --hard" will erase uncommitted modifications to working > tree files, so first make sure that "git status" doesn't report any > modifications you want to keep. > > If you want to get a better view of what it is you're doing, you could > fire up gitk and find the sha1 of the commit that is supposed to be at > the top of the StGIT stack, and "git reset " to that commit. > > Once the merge is undone, just "stg pull" like you wanted to do in the > first place. >