[MOAB-dev] MOAB git branching model

Tim Tautges tautges at mcs.anl.gov
Fri Sep 20 08:40:10 CDT 2013



On 09/19/2013 02:17 PM, Jed Brown wrote:
> Tim Tautges <tautges at mcs.anl.gov> writes:
>> Yeah.  I'm more worried about not doing it until just before an official release, which has its own problems.
>
> You can automate reminders about when something might be ready to merge.
> Call the following script git-candidate-branches and put it in your
> path.
>

Thanks, very nice.


> #!/bin/sh
>
> merged=$1
> dest=$2
>
> git for-each-ref --shell --format 'branch=%(refname) date=%(committerdate:iso8601)' refs/remotes/origin | while read entry
> do
>      eval "$entry"
>      git merge-base --is-ancestor $branch $merged || continue
>      git merge-base --is-ancestor $branch $dest && continue
>      merge_point=$(git rev-list --ancestry-path --reverse $branch..$merged | head -1)
>      test -n "$merge_point" || continue
>      start=$(git merge-base $branch ${merge_point}~1)
>      # echo Testing branch $branch merge_point $merge_point start $start
>      git merge-base --is-ancestor $start $dest || continue
>      abbrev_ref=$(git rev-parse --abbrev-ref $branch)
>      echo Candidate for $dest: $date $abbrev_ref
> done
>
> You should see something like the following.
>
> $ git candidate-branches next master
> Candidate for master: 2013-09-12 16:36:36 -0500 origin/balay/update-sowing
> Candidate for master: 2013-09-16 16:38:15 -0700 origin/barry/fix-dgmres.c
> Candidate for master: 2013-09-17 15:14:26 -0500 origin/barry/fix-petscobjectsetstate
> Candidate for master: 2013-08-17 16:38:30 -0500 origin/barry/fixmatmultseqaijflopcount
> [...]
>
>
>>> Feature releases are tagged on 'master', at which point 'maint' is
>>> fast-forwarded.  Maintenance releases (bug fixes; no API changes) are
>>> tagged on 'maint'.  Preview releases or RCs would be tagged on 'master',
>>> though we don't currently use those.
>>>
>>
>> I was asking more about numbered releases, not feature releases.
>
> "Feature" releases are like v3.4.  In PETSc, they are allowed to change
> binary interfaces and we make them a bit more than once a year (will
> probably be more like twice a year now).  "Maintenance" releases are
> like v3.4.2.  In PETSc, they must be source and binary compatible.
>

Aha, was confusing that with feature branches.

- tim

-- 
================================================================
"You will keep in perfect peace him whose mind is
   steadfast, because he trusts in you."               Isaiah 26:3

              Tim Tautges            Argonne National Laboratory
          (tautges at mcs.anl.gov)      (telecommuting from UW-Madison)
  phone (gvoice): (608) 354-1459      1500 Engineering Dr.
             fax: (608) 263-4499      Madison, WI 53706



More information about the moab-dev mailing list