[petsc-dev] migrating repos from petsc.cs.iit.edu to bitbucket.org

Satish Balay balay at mcs.anl.gov
Sat Nov 17 10:19:40 CST 2012


On Sat, 17 Nov 2012, Satish Balay wrote:

> On Sat, 17 Nov 2012, Satish Balay wrote:
> 
> > On Fri, 16 Nov 2012, Barry Smith wrote:
> > 
> > > 
> > > On Nov 16, 2012, at 3:45 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
> > > 
> > > > I think we could nicely do petsc-dev, petsc-release, and one buildsystem managed as a subrepo.
> > > 
> > >    I'm willing to try this.
> > 
> > So how do we proceed with it?
> > 
> > - commit buildsystem as subrepo of petsc-release
> > - reset petsc-release/config/BuildSystem to point to bitbucket/buildsystem
> > - remove 'auto-clone buildsystem code from petsc-release
> > - fixup tarball generation code to work with subrepos
> > - merge with petsc-dev
> > - abandon buildsystem-release?
> > [more cleanup in petsc-dev]
> > - rename BuildSystem -> buildsystem in petsc-dev only?
> > 
> > Do we make sure all commiters to petsc-release have the latest
> > mercurial? [even subrepo behavior can be different with older
> > mercurial versions..]
> > 
> > And the workflow for release patches.
> > 
> > - *never do* pull or update in petsc-release/config/BuildSystem
> > - commit change to petc-release [even if the change is in petsc-release/config/BuildSystem]
> > - push petsc-release to bitbucket [but the subrepo buildsystem push will fail?]
> > - merge petsc-release to petsc-dev
> > - [how does one merge petsc-release/BuildSystem*release-head* to petsc-dev/buildsystem-*head*?]
> > - push petsc-dev to bitbucket [this should also push petsc-dev/config/buildsystem with
> >   all changes to bitbucket?]
> 
> Also how do we handle the following senario:
> 
> with the current workflow - the following cold happen:
> 
> - I fix something to buildsystem-release and push
> - Barry fixes something [with old buildsystem-release] and attempts to push - but
>   push fails.
> - So Barry does a 'pull; merge; push' on buildsystem-release
> 
> [at some point] either Barry or I can do buildsystem-release ->
> buildsystem-dev merge [once or multiple times]
> 
> With subrepo what would be the workflow?


I guess it could b:

- I make changes to petsc-release/buildsystem, commit push petsc-release
 [error with buildsystem push - so merge with petsc-release, push]

- Barry makes changes to petsc-release/buildsystem, commit push petsc-release.
  Error with petsc-release push - so, pull, merge petsc-release. This will
  also pull,merge corresponding buildsystem. now commit and push petsc-release.
 [error with buildsystem push - so merge with petsc-release, push]

BTW: from http://mercurial.selenic.com/wiki/Subrepository

* There's no support for merging across renaming/moving subrepos *

So changing 'BuildSystem -> 'buildsystem' will cause grief with subrepos?

Satish



More information about the petsc-dev mailing list