[petsc-dev] mecurial emergency

Satish Balay balay at mcs.anl.gov
Sat Jun 26 10:19:00 CDT 2010


On Sat, 26 Jun 2010, Satish Balay wrote:

> On Sat, 26 Jun 2010, Barry Smith wrote:
> 
> > 
> >   I need help. FAQ.html has "instructions" to fix this but the instructions are not complete enough: they say 
> > 
> > "Fixing this is complicated. Basically, you clone the repo
> > before you made head #2, then create the diff for the bad changeset
> > that made head #2. Apply it to the clone and checkin, then pull the
> > master.
> > 
> > Now 
> > 
> > 1) how do I clone the repo before you made head #2? 
> > 2) how do you create the diff for the bad changeset that made head # 2
> > 3) how do you apply it to the clone 
> > 4) how do you checkin? Never heard of checkin in mecurial
> > 
> > Please let me know this and I will also update the FAQ.
> > 
> > 
> > 
> > [barry-smiths-macbook-pro:src/sys/totalview] barrysmith% hg merge
> > abort: outstanding uncommitted changes (use 'hg status' to list changes)
> > 
> > [barry-smiths-macbook-pro:src/sys/totalview] barrysmith% hg commit
> > nothing changed
> > 
> > [barry-smiths-macbook-pro:src/sys/totalview] barrysmith% hg status | head -5
> > ! src/ksp/ksp/examples/tutorials/ex1.c
> 
> Looks like some files are deleted. Commit doesn't pick it up
> automatically. [unless 'hg rm' is used for the deletion]
> 
> > ? !
> > ? #configure.log#
> > ? arch-g++.py
> > ? bin/#petscrun#
> > [
> > 
> > [barry-smiths-macbook-pro:src/sys/totalview] barrysmith% hg heads
> > changeset:   16298:503f0f312436
> > tag:         tip
> > parent:      16297:53f17d50e2f2
> > parent:      16296:90b6abac8d23
> > user:        Victor Minden victorminden at gmail.com
> > date:        Fri Jun 25 15:25:05 2010 -0500
> > description:
> > commit after merge
> > 
> > 
> > changeset:   16291:47055b889013
> > user:        Barry Smith bsmith at mcs.anl.gov
> > date:        Sat Jun 26 09:54:02 2010 -0500
> > files:       src/docs/website/documentation/codemanagement.html src/docs/website/documentation/linearsolvertable.html src/docs/website/features/index.html src/docs/website/miscellaneous/acknwldg.html src/docs/website/miscellaneous/funding.html src/sys/makefile src/sys/totalview/makefile src/sys/totalview/tv_data_display.c src/sys/totalview/tv_data_display.h
> > description:
> > minor cleanup of docs
> > added totalview include and source for debugger
> 
> 
> I would do:
> 
> hg update -C 47055b889013
> hg merge
> hg commit

I should have added: the above instructions are for the case where
local changes can be discarded. If I have to preserve the local
changes [depending upon how the changes were done] - I might use some
different process.

The following might work for almost all cases [since the merge is
interfering with the local changes - do the merge in a different/clean
repo]

i.e:

hg clone -r 47055b889013 petsc-dev petsc-dev-merge
cd petsc-dev-merge
hg pull [tip]
hg merge
hg commit
hg push [../petsc-dev]
cd ../petsc-dev

hg status
hg update or 'hg commit/hg merge' or somethig suitable for commiting local changes and merging
local changes

hg push [petsc.cs.iit.edu]

Satish



More information about the petsc-dev mailing list