[Dune] DUNE migration to Git complete

Steffen Müthing steffen.muething at ipvs.uni-stuttgart.de
Mon May 6 11:36:59 CEST 2013


Dear Dune users and developers,

the migration from SVN to Git is now complete! :-)


=== Getting and browsing the code ===

Information on how to obtain the Git repositories can be found on [1]. There is a new repository
browser at [2], which is also tied into the commit emails.


=== SVN repositories ===

We will keep the SVN repositories available for the time being, both as an archive and to avoid
breaking any scripts that rely on their existence, but remember that they are frozen and do not
receive updates anymore.


=== Repository layout ===

There is a little bit of structure to the branch layout, see [3] for details. Moreover, the Wiki contains
the start of a collection of important information (like the whitespace policy) and useful tips (like
how to set up a credential cache), which can be found at [4].


=== Commit messages ===

As anyone who is subscribed to the commit mailing list will have noticed, the format of the commit mails
has changed significantly. The most important change is that there are now two types of mails:

- branch update mails contain a short overview of all the commits that got added to a branch as part
  of a push operation. One such mail is generated for every branch update, even if you update several
  branches with a single push. The server does not generate mails for updates to the developer's personal
  branches (see [3] for an explanation of what those are).

- commit mails are similar to the old emails generated for the SVN repositories: they contain the commit
  message and a diff of the changes. In addition, they start with a list of all the branches the commit got
  added to *at the time the mail was generated*. See below for an explanation of why that restriction
  matters. Commit messages are generated the first time a commit is mentioned in a branch update mail,
  so commits that only get pushed to a personal branch will not trigger a commit mail. The commit mail will
  be generated as soon as the commit gets merged into master or a feature branch, however.

There is a third type of mail generated for tags, but as tagging is a rare operation, those probably
aren't all that important.

All that information can be a little inconvenient to navigate in plain-text emails, so the messages contain
links to the repository browser to show you the equivalent logs / commits in a format that's much easier
to navigate and poke around in.

In order to simplify filtering, all messages have a tag of either [Commit] or [branch] so that you can keep
the actual commit messages separate from the branch updates. For even more filtering, take a look at
the mail headers, there is quite a number of X-Git-* headers for that purpose.


=== Whitespace cleanup ===

As part of the migration, we have taken the opportunity to remove trailing whitespace and reindent
all source files in the repositories. Don't be alarmed if a lot of files differ between the Git and Subversion
repositories, the changes are only in the whitespace (and in the editor indentation hints that have been
added in a uniform fashion), but if you want to contribute patches to Dune, please take a look at [5] for the
implications.


=== GitHub mirror ===

The Dune repositories are also mirrored on GitHub at https://github.com/dune-project, but please keep using
our infrastructure (wiki, bug tracker etc.).


=== git-svn ===

A lot of people have been using the git-svn bridge to interface with the SVN repositories.
If you are one of them, please be aware that the Git commits synthesized by git-svn are
not compatible with the new Git repositories. The cleanest way to migrate git-svn checkouts
is to just delete the git-svn repository and clone the new Git repository. We have also created
a [guide][6] to transferring any local patches you might have in git-svn to the new Git repository.


======

Happy committing, branching, rebasing, merging, bisecting and whatever other crazy things you
might want to do in Git!


Steffen and the rest of the DUNE team



[1] http://www.dune-project.org/downloadgit.html

[2] http://cgit.dune-project.org/repositories

[3]: http://users.dune-project.org/projects/main-wiki/wiki/Repository_layout

[4]: http://users.dune-project.org/projects/main-wiki/wiki/Guides_dune_core_modules

[5]: http://users.dune-project.org/projects/main-wiki/wiki/Whitespace_hook

[6]: http://users.dune-project.org/projects/main-wiki/wiki/Migrating_git-svn_patches


Steffen Müthing
Universität Stuttgart
Institut für Parallele und Verteilte Systeme
Universitätsstr. 38
70569 Stuttgart
Tel: +49 711 685 88429
Fax: +49 711 685 88340
Email: steffen.muething at ipvs.uni-stuttgart.de

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20130506/6b6913b8/attachment.sig>


More information about the Dune mailing list