On Wed, 6 Jun 2012, Barry Smith wrote: > > On Jun 6, 2012, at 2:57 PM, Sean Farley wrote: > > >>> A) make buildsystem a subrepo (svn external for those familiar with svn) > >> > >> There have already been many discussions on petsc-dev about how hg > >> subrepos suck and don't satisfy all our needs. > > > > That's why I asked about a current list to see exactly what need isn't > > met. > > Check the old email. Satish and Matt had specific concerns.
One of the concerns we discussed earlier is the additional requirement: 'subrepo' usage should be same/similar to 'single repo' usage. This clearly is not possible with (A). [we have to buy into the sub-repo model and use it appropriately]. i.e be aware which commands work with subrepos by default - and which ones need '-s' for subrepo - and then be aware that buildsystem you pull is not the latest [only the latest commited to petsc-dev] etc. I don't remember other issues that came up witht he model. Perhaps 'pull -u' is different than 'pull;update'? similar to the currently recommended hook? > > So far, I only have that older mercurial clients wouldn't be able > > to push (but pulling should work fine); so all devs would need a > > recent mercurial client. > > As I mentioned in my email to Jed. There needs to be a way to enforce the > use of a recent mercurial client. > > > > >>> B) merge buildsystem into petsc-dev and use graft / transplant to > >>> maintain a separate repo > >> > >> Yuck. > > > > Yuck? Everyone would win: Matt would have his separate repo and there > > would be no more unsynchronized changesets. > > It sounds hacky. If it is not hacky and Matt is fine with this then we > could go that route. The primary drawback is the initial merge of 'petsc-dev + buildsystem'. [new clones by everyone? How does merge from petsc-33 to petsc-dev work after this new clone?] the stand-alone buildsystem from this merged repo can be automated to some extent. [with 'hg convert' - it can do incremental updates from merged-petsc-dev to standalone-buildsystem]. Not sure if there are corner case - [what if some buildsystem files spill over outside 'buildsystem sub-dir' etc..] Satish
