Giter Club home page Giter Club logo

Comments (2)

gdsjaar avatar gdsjaar commented on August 19, 2024

I think that the reorganization you show below is good since most of the cmake-related files can be shared between Trilinos and a standalone SEACAS build. We are also planning on going to the snapshotting mode in the future. I redid the seacas cmake structure to follow this and it has been committed.

Thanks,
..Greg

"A supercomputer is a device for turning compute-bound problems into I/O-bound problems"

From: Nico Schlömer <[email protected]mailto:[email protected]>
Reply-To: gdsjaar/seacas <[email protected]mailto:[email protected]>
Date: Monday, November 2, 2015 at 5:35 AM
To: gdsjaar/seacas <[email protected]mailto:[email protected]>
Subject: [EXTERNAL] [seacas] snapshotting into Trilinos (#15)

Now that SEACAS is on GitHub, we can think about how to make it easy to snapshot this repo into Trilinos. @bartlettroscoehttps://github.com/bartlettroscoe has something in place for TriBits and I think this is working pretty smooth. The general storyline would be the following:

  • Create a base TriBITS project called SEACASProj or something, and then have the base directory organized like:

seacas/
ProjectName.cmake # SET(PROJECT_NAME SEACASProj)
PackagesList.cmake # List two packages, Zoltan, and SEACAS
TPLsList.camke # Same as now
packages/
seacas/ # Main source for the SEACAS pacakge
zoltan/ # Snapshot of Zoltan/ dir from Trilinos
TPL/ # Only externally built TPLs
cgns/
...
serial_mpi/
...

The rest of the directories would be the same.

  • With this layout, the directory seacas/packages/seacas/ would be directly snapshotted into Trilinos like:

$ export SEACAS_PROJ=???
$ cd Trilinos/package/seacas/
$ ../../cmake/tribits/python_utils/shapshot-dir.py --orig-dir=$SEACUS_PROJ/packages/seacus/

  • Then run the checkin-test.py script to push.

Bonus Level

If we want to allow for local changes to SEACAS in Trilinos, we should snapshot to a branch and them merge like:

$ cd Trilinos/package/seacas/
$ git checkout --track origin/seacas-github-snapshot
$ ./snapshot_seacas.sh
$ git push # to origin/seacas-github-snapshot
$ git checkout master
$ git merge --no-ff seacas

That will allow for local urgent changes to seacas/ in the Trilinos 'master' branch to not get overwritten by the snapshot. The process for moving changes from Trilinos/packages/secacas/ to seacas/packages/seacas/ would require using git format-patch and git am and it would be more fragile because there is no root commit to resolve merge conflicts.

This is about the exactly same workflow used for TriBITShttp://trac.trilinos.org/wiki/TriBITSTrilinosDev. It is the same in that a subdir from a separate repo is snapshotted into a directory under Trilinos. That part is exactly the same.

We can also test changes before the snapshot into Trilinos with:

-DSEACAS_SOURCE_DIR=$SEACAS_PROJ/packages/seacas

Reply to this email directly or view it on GitHubhttps://github.com//issues/15.

from seacas.

nschloe avatar nschloe commented on August 19, 2024

Cool! Feel free to close this issue.

from seacas.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.