[petsc-dev] [Bitbucket] Pull request #109: Added at test, simplified version of ex11, convergence test. Uses differencing to produce matrix in stand alone code, fixed SNES to support this. (petsc/petsc)

Jed Brown jedbrown at mcs.anl.gov
Thu Oct 24 11:54:53 CDT 2013


"Mark F. Adams" <mfadams at lbl.gov> writes:

> [amend to add important part of error message]
>
> I am trying to rebase -i, where I squashed one commit message, and get this error:
>
> 12:31 madams/sr-driver2 ~/Codes/petsc$ git pull
> Merge made by the 'recursive' strategy.

Where did this come from?  This merge probably causes lots of problems.

Given the merge chaos in your current branch, I might instead fix it by
creating a new branch, merging in the dependencies that you will need,
and then cherry-picking and squashing/amending one commit at a time from
the madams/sr-driver2.  That is

$ git checkout -b madams/sr-driver3 knepley/feature-plex-refine-3d
$ git merge knepley/fix-plex-ghost-cells
$ git cherry-pick  [sha1 for "start of segmental refinement"]
$ git cherry-pick  [sha1 for "..."]
$ git cherry-pick  [sha1 for "temp version"]
$ git rebase -i HEAD~2  # squash the last two commits and write a commit message
$ git cherry-pick  [...]

You can cherry-pick the whole series and then amend if you prefer.  But
in any case, it's important to get the work you need to fix up _on top
of_ the stable branches you depend on rather than the other way around.

> 12:31 madams/sr-driver2 ~/Codes/petsc$ git rebase -i HEAD~10
> [detached HEAD 319baff] TS ex32: Added a parallel test
> Author: Matthew G. Knepley <knepley at gmail.com>
> 2 files changed, 32 insertions(+), 27 deletions(-)
> The previous cherry-pick is now empty, possibly due to conflict resolution.
> If you wish to commit it anyway, use:
>
>    git commit --allow-empty
>
> Otherwise, please use 'git reset'
> # rebase in progress; onto a704522
> # You are currently rebasing branch 'madams/sr-driver2' on 'a704522'.
> #   (all conflicts fixed: run "git rebase --continue")
> #
>  [snip]
> Could not apply 29a5cbd... Compiler: Fix warnings from MPI impls which do not initialize outputs
>
>
>
> On Oct 24, 2013, at 11:31 AM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
>
>> @madams This branch is totally unreviewable in its current form, and
>> it cannot be bisected because many of the intermediate states are
>> broken.  I understand making haphazard/checkpoint commits while
>> developing, but to maintain reviewability and quality in the long term,
>> it's important to organize the commits so that they can be understood in
>> sequence.  Commit messages like "...", "temp version", and "cleaning up"
>> force the reviewer to read the commit in its entirety to have any idea
>> what it is supposed to accomplish.  This makes it difficult to keep
>> track of what is happening, which discourages people from following
>> development, avoiding duplicate/conflicting work, etc.
>> 
>> We have to support everything that goes into PETSc, but if we can't
>> follow development, we give outdated advice and end up unable to answer
>> questions.
>> 
>> Most people working on PETSc are organizing their commits to be
>> reviewable these days.  We can go to the commit and branch lists (in the
>> web interface or with Git locally) and the first line of the commit
>> message gives a good summary of what the commit is accomplishing, the
>> body of the commit message explains why it is important/who may be
>> impacted by the change, and the commit itself accomplishes something
>> that the viewer can check.  This allows other developers to quickly get
>> the gist of what is in a branch, what may be interesting to look at in
>> more detail, etc.
>> 
>> Commit topology and messages are key means by which developers
>> communicate with each other.  It really doesn't take much effort once
>> you get in the habit of organizing commits as a means of communication
>> rather than as a log with arbitrary checkpoints.
>> 
>> Any other means of communication, such as pull request summaries or
>> mailing list threads, are secondary sources, inherently more error-prone
>> and higher effort to evaluate, and provide less structure for automated
>> diagnostics/summaries.
>> 
>> https://bitbucket.org/petsc/petsc/wiki/writing-commit-messages
>> 
>> Git provides good tools for reordering/squashing/amending commits, so
>> it's possible to develop in clutter and then organize when it's time to
>> communicate to other people.
>> 
>> 
>> This PR is blocked on some of Matt's long-running branches.  @knepley
>> When will 'knepley/feature-dmda-section' and
>> 'knepley/feature-plex-refine-3d' be ready to merge?
>> 
>> Mark Adams <pullrequests-reply at bitbucket.org> writes:
>> 
>>> --- you can reply above this line ---
>>> 
>>> A new pull request has been opened by Mark Adams.
>>> 
>>> madams/sr-driver2 has changes to be pulled into master.
>>> 
>>> https://bitbucket.org/petsc/petsc/pull-request/109/added-at-test-simplified-version-of-ex11
>>> 
>>> Title: Added at test, simplified version of ex11, convergence test.  Uses differencing to produce matrix in stand alone code, fixed SNES to support this.
>>> 
>>> Changes to be pulled:
>>> 
>>> c1fa6a8934f2 by Mark Adams: "cleanup jed's cherry picked version"
>>> e7b0c4510d02 by Jed Brown: "Merge branch 'knepley/fix-plex-ghost-cells' into jed/sr-driver
>>> 
>>> DMLabelFilter is…"
>>> c56f055af68b by Mark Adams: "finished up adding serial DMPlex test with a convergance test on a 5-point Lapla…"
>>> 8fdc87fb42d2 by Mark Adams: "cleaning up"
>>> 0fb202fbc65d by Mark Adams: "cleaning up
>>> 
>>> Conflicts:
>>> 	src/ts/examples/tutorials/makefile"
>>> ... and 112 more.
>>> 
>>> 
>>> --
>>> 
>>> Unsubscribe from pull request emails for this repository.
>>> https://bitbucket.org/petsc/petsc/pull-request/109/unsubscribe/jedbrown/bc8a9c9283892888c102096c5dadc4a6a692a4fe/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20131024/9f8aac99/attachment.sig>


More information about the petsc-dev mailing list