problems with the hg-git plugin and bookmarks
Uwe Brauer
oub at mat.ucm.es
Tue Sep 6 19:25:23 UTC 2016
>>> "Kevin" == Kevin Bullock <kbullock+mercurial at ringworld.org> writes:
>> On Sep 6, 2016, at 10:11, Uwe Brauer <oub at mat.ucm.es> wrote:
>>
>>>>> "Uwe" == Uwe Brauer <oub at mat.ucm.es> writes:
>>
>>> o changeset: 6844:63859b8097d3
>>> | tag: default/master
>>> | tag: tip
>>> | parent: 6841:299c7ffa7c22
>>> | user: Mosè Giordano <mose at gnu.org>
>>> | date: Sun Sep 04 18:22:29 2016 +0200
>>> | summary: Do not use a function from cl
>>> |
>>> | @ changeset: 6843:24c9ce964599
>>> |/ bookmark: master
>>> | parent: 6841:299c7ffa7c22
>>> | user: Uwe Brauer <oub at mat.ucm.es>
>>> | date: Sun Sep 04 10:33:45 2016 +0000
>>> | summary: Merge exam into master
>>
>> I stripped both changesets and pulled again now I obtain
>>
>> pulling from git://git.savannah.gnu.org/auctex.git
>> no changes found
>> abort: unknown revision '63859b8097d34576e918d544c1cac0ba869efe69'!
>>
>> So I think I can forget that repo?! And must clone it again?
> When you are preparing a patch to submit upstream, you don't generally
> want to merge it into master yourself. But your log tells me that you
> didn't actually merge it, because your final commit has one parent.
> The two heads in your repo reflect exactly what would've happened if
> you were using git locally: your 'master' is in a different place than
> upstream's 'master', so both are marked. To resolve this, you'll have
> to either rebase your changes onto default/master, or merge
> default/master into your branch. Again, since you're just submitting a
> patch, you don't generally want to introduce any merges, so rebase is
> the preferred choice.
> Unfortunately hg-git has some rough edges around history editing, but
> you should be able to get unstuck by running `hg git-cleanup`.
I did this on the repo [after stripping] which now tells me
pulling from git://git.savannah.gnu.org/auctex.git
no changes found
abort: unknown revision '63859b8097d34576e918d544c1cac0ba869efe69'!
That is the one I stripped (and therefore changeset
63859b8097d34576e918d544c1cac0ba869efe69)
is no longer present.
The result of hg git-cleanup was
abort: No such file or directory: /home/oub/ALLES/emacs/site-lisp/packages/src/Hg-Git/auctex-bridge-corrupt/.hg/git-mapfile
So something is wrong here. Fortunately I have all my stuff in a
different local repo (auctex-hg), so I could do what
https://xkcd.com/1597/
suggests
hg clone git://git.savannah.gnu.org/auctex.git auctex-bridge
And then push the changes (which are on a different branch/bookmark) to
the freshly cloned auctex-bridge.
But I have a fundamental problem with the approach using patches via
export/import. (Maybe the same problem would occur without using the
hg-git plugin). But so far for other repos I have used pull and push
(which I can't for auctex, since I don't have write access) and I was
fortunate enough not to run into any difficulties.
But for auctex it is different.
Here is my strategy:
- I create in auctex-bridge a new bookmark, say exam, add files
stuff and commit. Then what? So far I have merged my changes in
the master branch (gitspeak) which maybe is not wise since I
cannot push. But once I had them merged I created a patch and
sent it for inspection.
- But then the problem is: meanwhile (my patch is still pending)
other stuff has been pushed into the repo.
- So it seems wise to pull, and I then what?
- I merge? But then my local rep is not in sync with the rep. So I
strip and then pull?
Uwe Brauer
More information about the Mercurial
mailing list