Hi Clemens,

On 21.08.2016 17:28, Clemens Lang wrote:
Thanks for the section on setting up commiter name and email address, I
had forgot about this.

you are welcome. I saw the page and that was the first thing hitting my eye,
which is why I started to give that wiki page some polish. :-)


+Additionally one should define a few (not necessarily global) presets for working with your clone of the MacPorts repository:
+{{{
+$ git config --global push.default nothing
+$ git config --global branch.autosetuprebase always
+$ git config --global core.excludesfile ~/.gitignore_global
+$ git config --global commit.template ~/.git-commit-template
+}}}

Well, I chose to suggest these, as they were recommended by the KDE community.


I do not think we should recommend setting these variables for the
following reasons:

Let's see...


 - Users don't understand they're doing here. I want our developers
   to know what and why things are happening with Git, not serve them a
   "here's how you ought to do it" recipe.

So, than we need to explain what these settings do. I am strongly opposing the concept of giving just orders to our port maintainers without educating them about why things were set up the way they are. These settings make sense because they prevent bad things which can happen easily with git. I always favour(ed) Mercurial over it, but it was decided against... so we need to make sure that the basic settings
are chosen such that they prevent evil.


- This is also the reason why the "Fetching the latest changes" section
   I wrote yesterday is so long: Developers should understand what
   happens when they run these commands, not just be told "run this". I
   think we should move branch.autosetuprebase to the end of the
"Fetching the latest changes" section where we tell them that instead
   of the --rebase flag, they can also set this option. Also, setting
   this option globally is bad; other projects might not want this
   behavior.

As I wrote above that section I am aware of that those settings might not be wanted as global ones, but I actually have them set as global in most of my
setups, to tell you the truth.


- push.default nothing may be a good idea, but I would only put it as a
   recommendation in a section on committing and pushing changes for
   people that want to make sure they're not accidentially pushing
   something they don't want to push.

I think it is a good thing, as it always forces the maintainers to think about which branch they really want to target. That's an extra level of precaution.


 - I do not think we need .gitignore_global; We already converted our
   svn:excludes into .gitignores in the repositories and we've always
   left the configuration of svn clients to our developers. If they
   think this is necessary, they can figure it out on their own.

OK, fine with me.


- I also do not think we should recommend a git commit template for the
   same reason. Developers with Subversion have always been free to
   configure their own client and while a commit template is possible
   with Subversion, we did not recommend it there either.

Well, a commit template I definitely favour, because quite some times you do find commits to the MacPorts repo which do not adhere to the standards defined on our Wiki or in the Guide. A template would guide the committers to not to forget some rules of the game. But, if you don't want to annoy our
committers with too many rules then so be it. :)

Greets,
Marko

_______________________________________________
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to