Mark J. Nelson wrote:
> I fixed the address for gatekeeper, and added the SCM team, which was 
> really more appropriate to start with.  (Gatekeeper, sorry for the wide 
> distro.)
>
> We (the SCM team) are happy to help (before/during the fact) and/or 
> investigate (after the fact), but we need a ton more information than 
> what you've sent us.  Repository pointers, history, steps to reproduce, 
> snapshots of purportedly hosed repositories, etc.
>
> Anyway, some responses inline below.
>
> --Mark
>
>
> Dina wrote:
>   
>> (gatekeeper alias:  this is the summary for an ongoing thread
>> where I had some problems trying to hg push ... besides the ssh
>> problem from earlier where I had an unnecessary couple lines in
>> my $HOME/.ssh/config that read:
>>     Host *.opensolaris.org
>>             ProxyCommand /usr/lib/ssh/ssh-socks5-proxy-connect -h 
>> 192.18.43.19 %h %p
>>
>> I'm stating the obvious I'm sure, so this is meant as a perspective
>> on how some of us [me] needed to bumble along until we got it right.
>> And I do have a request for clarification on how to set up for
>> command-line, non-GUI merge conflict resolver ... and the right
>> things to put in .hgrc. )
>>     
>
> hgsetup should get your .hgrc correct.
>
> We have not (yet) provided a cli for conflict resolution, integration of 
> David Powell's "hgr" script stalled out a while back.  (Long enough ago 
> that I need to dig through e-mail to see what the blocking points were.)
>
> There is support (of some fashion) for use of filemerge, meld, emacs, or 
> vim for 3-way merging.
>
>   
>> This is what worked ... yes, I had to create a new workspace
>> to get this done.  There are way too many steps here, and I
>> found I had to reparent twice.  I don't know if that's real
>> or superstition right now.
>>     
>
> If you're claiming that a workspace could not be salvaged, please 
> preserve it and send us a pointer, along with (if possible) the steps it 
> took to get it into that state.  Until then, I'm somewhat skeptical, 
> especially if you were only ever parented to either the gate or the 
> clone, which are synchronized repositories.
>
>   
>> # create_ws()
>>
>> % echo $GATE
>> ssh://onhg at onnv.sfbay.sun.com//export/onnv-gate
>> % echo $CLONE
>> /ws/onnv-clone
>>             in my setup the clone is local
>>             the gate is ssh-remote, the local
>>             and ssh equivalents are not
>>             interchangeable, and instructions
>>             out there are ssh-centric
>>     
>
> They are interchangeable.
>
> Please be explicit when you claim otherwise, if you want us to spend any 
> effort figuring out why you're seeing a difference.
>
>   
>> % hg clone /ws/onnv-clone  $HOME/work/myws
>> % hg clone /ws/onnv-clone/usr/closed $HOME/work/myws/usr/closed
>>
>>
>> # modify_ws()
>>
>> % vi ...
>> <copied over my one line change from hosed workspace>
>> % hg commit
>> <typed in my CR id and description>
>>
>>
>> # putback_ws()
>>
>> % hg reparent $GATE    <-- following MJN instructions
>> % hg pbchk            which I think can be omitted for
>> <type passphrase>        same below
>> % hg push            (failed)
>>
>>
>> # sync_ws()
>>
>> % hg pull $CLONE    <-- does this reparent to clone?
>>     
>
> No, it does not.
>
>   
>> % hg merge            if pull is a no-op, go straight
>> % hg commit            to reparent/push below
>> % hg recommit
>> <type passphrase>
>>
>>
>> # putback_ws()
>>
>> % hg reparent $GATE    <-- this seems necessary again
>> % hg pbchk
>> <type passphrase>
>> % hg push
>> <type passphrase, then it worked>
>>
>> # destroy_ws()
>> ....
>>
>> I think what would've helped me is to change slightly the
>> MJN instructions, so that it doesn't list:
>>     hg reparent $GATE
>> and THEN explain how to deal with  pulling from clone and merge
>> and all that.  Just skip the first reparent, do all your merges
>> and stuff before reparent/push.
>>     
>
> Looks like this is probably leftover from writing the iterative part of 
> those instructions, but it's certainly harmless.
>
>   
>> Once I had reparent'ed to $GATE, then things don't go very well
>> if I had to go back and deal with the $CLONE again.  I think
>> I tried to reparent $CLONE and I ended up with the 2 "Not
>> trusting file..." messages plus some complaint about no default
>> repository.   When I tried to pull from the clone again, then
>> the workspace got hosed.
>>     
>
> The trust messages are a red herring.  They are harmless and can be 
> ignored, per the information in 
> http://www.opensolaris.org/os/community/on/flag-days/pages/2008080405/ 
> and in the hgrc(5) manpage.
>
> If you have no default repository, then you have either gotten your 
> parent (default) path wrong in your own .hgrc, or you're trying to 
> perform an operation on a repository that is not owned by you.
>
> Unless you can provide more details, including history and repository 
> access, and a definition of "hosed," we can't help.
>
>   
>> The instructions are correct, but not ideally laid out, IMVHO.
>>     
>
> We can't really write a cookbook that's going to make folks happy and 
> productive.  Mercurial is a substantively different tool than teamware, 
> and attempts to translate commands/procedures step for step are doomed 
> to unnecessary complexity and confusion.
>
> Once you get your head around how Mercurial tracks and manages change, 
> the heads/branches/merges/commits make much more sense.  As long as 
> you're trying to think of them as direct analogues to Teamware commands, 
> they're not going to behave as you expect.
>
>   
>> What would also help me is to have the command-line "resolve"
>> from Teamware working in the hg environment.  I prefer it over
>> the GUI, which doesn't work in my home setup.
>>     
>
> This is a valid request, so I went and tracked it down.  It's covered by
>
>       http://bugs.grommit.com/show_bug.cgi?id=309
>
> ...and the primary obstacle was the lack of handling for partial merges.
> _______________________________________________
> scm-migration-dev mailing list
> scm-migration-dev at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/scm-migration-dev
>   
Hi Dina,

Looks like you've had quite a party. I'm just a user myself here but 
wanted to share some pointers with you that I hope will help in your quest.

Firstly: have you seen the Teamware to Mecurial Guide in wiki:
<http://braindump.uk/wiki/index.php/Teamware_to_Mercurial>

I see 'hgr' mentioned above, I was not aware of that tool. But am aware 
of another called hg-merge that works rather like resolve. It was 
originally posted to the SCM alias by John Zolnowsky at sun.com. I updated 
it to include 'filemerge' sub command as per teamware resolve. The 
script can be found at http://braindump.uk/wiki/index.php/hg-merge_script

Regards,

Stacey

Reply via email to