[petsc-dev] Style Guide: How to format single-line if/for/while-blocks?

Jed Brown jedbrown at mcs.anl.gov
Mon Jan 21 22:32:01 CST 2013


On Mon, Jan 21, 2013 at 10:08 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

> > If anyone wants to do this with git, I can show you how. I think you'll
> find it's not as nice to work with as you may have hoped, not through a
> failing of the tool, but because we also communicate through side channels.
>
> Well I think it is insane in 2012 that we all need to stare at the exact
> same ASCII strings with the exact same placement (each of you thinks is
> wrong) when we develop shared code, so please teach me how.


This has a nice picture of the way clean clean and smudge filters work.

http://git-scm.com/book/ch7-2.html#Keyword-Expansion

The idea is that you tell git to use your filter in a place that is not
checked into the repository:

echo '*.c filter=petscfmt' >> .git/info/attributes

(If you wanted it to be checked in, you'd put it in .gitattributes, but we
don't want that now.) Then set what the petscfmt filter does

git config filter.petscfmt.clean 'uncrustify read from stdin and write
clean version to stdout'
git config filter.petscfmt.smudge 'uncrustify read from stdin and write
smudged version to stdout'

The smudged version is whatever the user wants to interact with, the
cleaned version is whatever should go in the PETSc repository. (You can
also just edit these filters in .git/config.)


> Can this be done through some bridge that uses the current hg PETSc
> repository?
>

I've been using gitifyhg [1] casually for a couple weeks and I've now moved
to it for primary PETSc development. You can clone with

git clone gitifyhg::ssh://hg@bitbucket.org/petsc/petsc-dev petsc-dev-git

(or, if you want a quick clone, "git clone git at bitbucket.org:
jedbrown/petsc-git")

[1] https://github.com/buchuki/gitifyhg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20130121/6cf87dc2/attachment.html>


More information about the petsc-dev mailing list