On Jun 16, 2014, at 4:31 PM, Jed Brown <[email protected]> wrote:
> Barry Smith <[email protected]> writes:
>> Jed has pointed out that a “branch” is not enough information, so
>> what should we use in the xxx.py so that the correct thing is built
>> when I build PETSc with a particular branch???
>
> The commit hash, which is exactly what we have now.
1) It is a manual beasty that someone has to edit moab.py and change on a
regular basis? This doesn’t work as proved by the current fiasco.
2) It does not give me access to the branch so that I can make changes. Say I
am working on feature-dmmoab in PETSc and see a little bug in the moab branch
that (indirectly only since I am at some stupid headless commit-hash instead on
a branch) I am pointing to, that if I quickly fix I can push and make life
easier for my entire team of eight developers. I need to manual figure out what
branch corresponds to the commit-hash thing I had checked out, change to that
branch in moab, fix the branch in moab, push it and then comeback and edit
moab.py in PETSc to point to the new commit-hash beasty of the moab branch.
This is why I keep circling back to “branch” instead of commit hash in the
moab.py;
So somehow I would like the moab.py to “know” about the associated moab
branch (if there is one) as well as a commit-hash. Now when I checkout the
PETSc feature-dmmoab I want the branch checked out (at a particular
commit-hash? Is that possible?) Now if I update the moab branch with a new
commit then when I commit my feature-dmmoab I want it to automatically update
the “commit-hash” in the moab.py
Manually expecting people to switch from a commit-hash to its corresponding
branch in the moab repository and to ALWAYS put the right thingy in the moab.py
is totally fucking unrealistic. It is not a practical workflow.
You might think this is all academic nonsense and not to worry about it but
say I am doing a project that involves 3 repositories PETSc, moab, and saws and
have a branch in each that coordinates with a branch in each of the others (and
I am changing code in all three of them) and I am doing this with a team of
five people. Expecting all five people to always do the right thing in
coordination without automated help is impossible. So where does the help come
from, some git feature, some other tool????
Barry