[petsc-dev] git script for finding "outdated" branches in next

Balay, Satish balay at mcs.anl.gov
Fri Jan 11 17:14:32 CST 2019


Currently I see:

balay at sb /home/balay/petsc (master=)
$ gitreadytomerge
  origin/balay/metis-add-doubleprecision-option/maint
  origin/barry/feature-dmda1d-periodic-fill
  origin/Fande-Kong/fixed_hierarchical_partitioning_weights_master
  origin/haplav/feature-hdf5-improve-attribute-io
  origin/hzhang/fix-submats-memleak/maint
  origin/maint
  origin/next
  origin/psanan/dmstag-ex4-fix
  origin/rmills/fix-ex12-runtype-option/maint
balay at sb /home/balay/petsc (master=)
$ gitreadytomergeincomplete 
  origin/balay/metis-add-doubleprecision-option/maint
  origin/barry/feature-dmda1d-periodic-fill
  origin/Fande-Kong/fixed_hierarchical_partitioning_weights_master
  origin/haplav/feature-hdf5-improve-attribute-io
  origin/hzhang/fix-submats-memleak/maint
  origin/knepley/fix-plex-interpolation-parallel
  origin/next
  origin/psanan/dmstag-ex4-fix
  origin/rmills/fix-ex12-runtype-option/maint

So the extra branch in 'incomplete' list is origin/knepley/fix-plex-interpolation-parallel

But then - next has:

>>>>>
commit 216eaf983554edc1ad429265718576c68c47b72c
Author: Karl Rupp <me at karlrupp.net>
Date:   Wed Oct 3 07:19:27 2018 +0200

    Revert "Merge branch 'knepley/fix-plex-interpolation-parallel' into next [PR #1130]"
    
    This reverts commit 626808e7b5e6d32fe8ac4d345872231b9c5782ff, reversing
    changes made to 02a379f6432ba4e531280ac582edfd94c6a600ec.
<<<<<

So I'll ignore this branch.. I also see 'declined' on the PR.
https://bitbucket.org/petsc/petsc/pull-requests/1130/knepley-fix-plex-interpolation-parallel/diff

Satish

On Fri, 11 Jan 2019, Balay, Satish via petsc-dev wrote:

> I use the following:
> 
> alias gitreadytomerge'=git fetch -p && comm -12 <(git branch -r --merged origin/next | sort) <(git branch -r --no-merged origin/master | sort)'
> alias gitreadytomergesorted='git fetch && paste <(gitreadytomerge | xargs git show -q --format=format:%aI) <(gitreadytomerge) |sort -n'
> alias gitreadytomergeincomplete='git fetch -p && (for i in $(git log origin/master..origin/next --no-merges --format=%H); do git branch -r --contains $i; done | sort | uniq)'
> 
> The last one can take a while to process all the commits in next.
> 
> Note: they have some corner cases - like listing branches added to next
> - and subsequently removed. [or if branch-A is merged to branch-B
> and branch-B is merged to next - then branch-A is also listed etc..]
> 
> Satish
> 
> 
> On Fri, 11 Jan 2019, Smith, Barry F. via petsc-dev wrote:
> 
> > 
> >    Jed gave me this git script to find branches in next that have not yet been merged to master
> > 
> > alias gitmasternotupdated="comm -12 <(git branch -r --merged origin/next | grep origin/ | sort) <(git branch -r --no-merged origin/master ) | xargs -n1 git log -1 --format='%Cgreen%ci %C(yellow)%d%Creset %s' --abbrev-commit |  sed 's?origin/[a-z/-]*, ??g' | grep -v '(origin/next)' | cut -b 1-`stty size | cut -d" " -f 2` | sort -u | grep -v Merge" 
> > 
> > Unfortunately it does not list branches in next that have had additional commits added to them (by someone fixing problems seen in nightly tests) since they were merged to next. Hence they can be "lost" branches that we forget to merge into next again for another round of testing.
> > 
> >    Could someone cook up a script that captures these branches? That is, it shows branches in next that are not master but have been updated since they were merged into next.
> > 
> >    Thanks
> > 
> >     Barry
> >  
> 



More information about the petsc-dev mailing list