Re: [PHP-DEV] Re: Git Migration: Status Update

2012-03-13 Thread Richard Lynch
On Wed, March 7, 2012 1:51 pm, Sebastian Bergmann wrote:
 Am 07.03.2012 19:46, schrieb Kris Craig:
 As I and others have said already, using a Subversion branching
 model
 on Git just doesn't make any sense.

  How often does it have to be explained to you and others that we
 would
  like to do this step by step? First we change the tool, then we
 change
  the process. Shouldn't be too hard to understand ...

Maybe it's just me, but if I told my boss we were going to change the
tool and decide and document the fundamental business processes later,
I don't think that would float...

That said, I still can't get my head around Git at all, and so far
have only managed to checkout/update on a read-only basis. Not that it
matters. My code contributions to PHP have been nil so far anyway.

-- 
brain cancer update:
http://richardlynch.blogspot.com/search/label/brain%20tumor
Donate:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclickhosted_button_id=FS9NLTNEEKWBE



-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Re: Git Migration: Status Update

2012-03-13 Thread Kris Craig
+1

Git can be confusing for seasoned Subversion developers at first, as it
really is a fundamental paradigm shift in many respects.  I'm not sure why
you're only able to do read-only access, though.  The add/commit syntax for
Git is fairly similar to that of SVN.  Have you tried creating a dummy repo
locally and making commits to that?  I'm not privy to the latest on the Git
migration project, but it could just be a Git and/or FSO permissions issue
on the remote origin.

--Kris


On Tue, Mar 13, 2012 at 8:18 AM, Richard Lynch c...@l-i-e.com wrote:

 On Wed, March 7, 2012 1:51 pm, Sebastian Bergmann wrote:
  Am 07.03.2012 19:46, schrieb Kris Craig:
  As I and others have said already, using a Subversion branching
  model
  on Git just doesn't make any sense.
 
   How often does it have to be explained to you and others that we
  would
   like to do this step by step? First we change the tool, then we
  change
   the process. Shouldn't be too hard to understand ...

 Maybe it's just me, but if I told my boss we were going to change the
 tool and decide and document the fundamental business processes later,
 I don't think that would float...

 That said, I still can't get my head around Git at all, and so far
 have only managed to checkout/update on a read-only basis. Not that it
 matters. My code contributions to PHP have been nil so far anyway.

 --
 brain cancer update:
 http://richardlynch.blogspot.com/search/label/brain%20tumor
 Donate:

 https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclickhosted_button_id=FS9NLTNEEKWBE



 --
 PHP Internals - PHP Runtime Development Mailing List
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP-DEV] Re: Git Migration: Status Update

2012-03-07 Thread David Soria Parra
On 2012-03-07, Kris Craig kris.cr...@gmail.com wrote:
 --f46d044304ec4e135704baa12342
 Content-Type: text/plain; charset=ISO-8859-1

 On Tue, Mar 6, 2012 at 10:09 PM, Kiall Mac Innes ki...@managedit.ie wrote:

 On Wed, Mar 7, 2012 at 6:03 AM, Drak d...@zikula.org wrote:

 I know I keep promising to draft an RFC for this lol, so I'll make it a
 high priority to put together an RFC for a PHP Git branching model sometime
 this week[end].

There is no need for that. PHP will continue to use release branches
with optional feature branches. We are doing one step at a time and
have people adopt the changes slowly. We are after all a large project
and a lot of contributors cannot spend hours of reading into a VCS
and a new branching model. So we are slowly moving towards new models.

After all I see no need to do it differently. You can use whatever
branching model you want in your personal github repository and then
send a final pull request that can be merged. Adding complexity
to the main repository for no reason is not needed. Keep the
complexity in your personal repositories. That is after all
one of the main benefits of a decentralized version control system.

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Re: Git Migration: Status Update

2012-03-07 Thread Xinchen Hui
Sent from my iPhone

在 2012-3-7,17:12,David Soria Parra d...@php.net 写道:

 On 2012-03-07, Kris Craig kris.cr...@gmail.com wrote:
 --f46d044304ec4e135704baa12342
 Content-Type: text/plain; charset=ISO-8859-1

 On Tue, Mar 6, 2012 at 10:09 PM, Kiall Mac Innes ki...@managedit.ie wrote:

 On Wed, Mar 7, 2012 at 6:03 AM, Drak d...@zikula.org wrote:

 I know I keep promising to draft an RFC for this lol, so I'll make it a
 high priority to put together an RFC for a PHP Git branching model sometime
 this week[end].

 There is no need for that. PHP will continue to use release branches
 with optional feature branches. We are doing one step at a time and
 have people adopt the changes slowly. We are after all a large project
 and a lot of contributors cannot spend hours of reading into a VCS
 and a new branching model. So we are slowly moving towards new models.
+1, thanks

 After all I see no need to do it differently. You can use whatever
 branching model you want in your personal github repository and then
 send a final pull request that can be merged. Adding complexity
 to the main repository for no reason is not needed. Keep the
 complexity in your personal repositories. That is after all
 one of the main benefits of a decentralized version control system.

 --
 PHP Internals - PHP Runtime Development Mailing List
 To unsubscribe, visit: http://www.php.net/unsub.php


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Re: Git Migration: Status Update

2012-03-07 Thread Drak
On 7 March 2012 11:54, Kiall Mac Innes ki...@managedit.ie wrote:

 On Wed, Mar 7, 2012 at 6:03 AM, Drak d...@zikula.org wrote:

 [snip]
 Forcing pushes to one's own topic branches in one's own fork can be
 acceptable providing
 upstream maintainers know before merging (for example squashing some work
 after peer review), but not to the central repo without some exceptional
 reason - it could cause chaos otherwise.


 Gerrit has an interesting take on this, you are free to do whatever you
 like on refs/heads/dev/${username}/* - including force push etc.

 Maybe something like this could be useful?


I understand, but it's totally unnecessary.  Features and fixes are done on
a local branch and published for review in your own local fork upstream.
 When you are ready you make a pull request and someone can merge in your
code - or if you have write access to the central repo simple merge and
push to the central branch for that feature.  There is no need for
complexity in the central repository.  It's easy, it will just take time
for contributors to find their feet if they are not used to git.

Regards.

Drak


Re: [PHP-DEV] Re: Git Migration: Status Update

2012-03-07 Thread Kris Craig
On Wed, Mar 7, 2012 at 1:12 AM, David Soria Parra d...@php.net wrote:

 On 2012-03-07, Kris Craig kris.cr...@gmail.com wrote:
  --f46d044304ec4e135704baa12342
  Content-Type: text/plain; charset=ISO-8859-1
 
  On Tue, Mar 6, 2012 at 10:09 PM, Kiall Mac Innes ki...@managedit.ie
 wrote:
 
  On Wed, Mar 7, 2012 at 6:03 AM, Drak d...@zikula.org wrote:
 
  I know I keep promising to draft an RFC for this lol, so I'll make it a
  high priority to put together an RFC for a PHP Git branching model
 sometime
  this week[end].

 There is no need for that. PHP will continue to use release branches
 with optional feature branches. We are doing one step at a time and
 have people adopt the changes slowly. We are after all a large project
 and a lot of contributors cannot spend hours of reading into a VCS
 and a new branching model. So we are slowly moving towards new models.

 After all I see no need to do it differently. You can use whatever
 branching model you want in your personal github repository and then
 send a final pull request that can be merged. Adding complexity
 to the main repository for no reason is not needed. Keep the
 complexity in your personal repositories. That is after all
 one of the main benefits of a decentralized version control system.

 --
 PHP Internals - PHP Runtime Development Mailing List
 To unsubscribe, visit: http://www.php.net/unsub.php


A few points

   1. This really wouldn't be adding complexity to the repo.  We would
   merely be using a branching model that is more compatible with Git's
   feature set.  As I and others have said already, using a Subversion
   branching model on Git just doesn't make any sense.  We may as well just
   keep using SVN if we're not going to make use of Git's branching advantages.
   2. Using different branching structures between repo clones is not
   considered a good practice in Git.  On the contrary, it just makes the
   commit history that much more confusing to read.  If you use a standardized
   branching model, on the other hand, different features/contributions can be
   quickly and easily identified in the history (see gitk --all).  In the
   event of a regression or other bad feature commit, reversing it is
*much*easier and cleaner if branches are clearly segregated.  It also
makes
   drafting the changelog a much less cumbersome task.
   3. I'm all for using a gradual approach so that people have time to get
   used to it.  However, that transition to a standards-compliant Git
   branching model is still something that does need to happen eventually.
   4. Git branching is not *nearly* as complicated or confusing as you guys
   are making it out to be.  You know how long it took me to train our IT guy
   at work on Git branching?  10 minutes.  He then made one mistake (forgot
   the --no-ff), which I corrected, and ever since he's been using it without
   any problems and raving about how much easier it is to keep track of our
   commit history now than when we were on Subversion.  Seriously, the
   learning curve is *very* minimal, even for those who are used to SVN
   branching.
   5. Enough people have expressed support for this idea to justify
   drafting an RFC and letting it be voted on IMHO.  However, I would like to
   address your concerns about confusion (though experience tells me that
   they're largely unfounded), so when I draft it I'll propose a gradual
   adoption scheme of some sort so that anyone who feels intimidated by
   adhering to mainstream accepted Git branching standards won't feel
   disenfranchised.
   6. There are also scripts that simplify this model (
   https://github.com/nvie/gitflow), though I've never used them myself.
   But I'll take a look and see if that might be something that could be
   recommended for anyone who doesn't want to spend the few minutes it would
   take to learn t his model.


--Kris


Re: [PHP-DEV] Re: Git Migration: Status Update

2012-03-07 Thread Sebastian Bergmann
Am 07.03.2012 19:46, schrieb Kris Craig:
 As I and others have said already, using a Subversion branching model
 on Git just doesn't make any sense.

 How often does it have to be explained to you and others that we would
 like to do this step by step? First we change the tool, then we change
 the process. Shouldn't be too hard to understand ...

-- 
Sebastian BergmannCo-Founder and Principal Consultant
http://sebastian-bergmann.de/   http://thePHP.cc/

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Re: Git Migration: Status Update

2012-03-07 Thread Kris Craig
Umm Sebastian, how many times do I have to explain that *I agree with you*?!

Please read my post before responding.  Specifically, point #5.  I hate
repeating myself, so I'll simply copy/paste it if you don't mind:

when I draft it I'll propose a gradual adoption scheme


--Kris


On Wed, Mar 7, 2012 at 10:51 AM, Sebastian Bergmann sebast...@php.netwrote:

 Am 07.03.2012 19:46, schrieb Kris Craig:
  As I and others have said already, using a Subversion branching model
  on Git just doesn't make any sense.

  How often does it have to be explained to you and others that we would
  like to do this step by step? First we change the tool, then we change
  the process. Shouldn't be too hard to understand ...

 --
 Sebastian BergmannCo-Founder and Principal Consultant
 http://sebastian-bergmann.de/   http://thePHP.cc/

 --
 PHP Internals - PHP Runtime Development Mailing List
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP-DEV] Re: Git Migration: Status Update

2012-03-07 Thread Ryan McCue

Kris Craig wrote:

As I and others have said already, using a Subversion
branching model on Git just doesn't make any sense.  We may as well just
keep using SVN if we're not going to make use of Git's branching advantages.


I completely disagree. There's no need to completely switch your 
branching model or mental workflow. The git-flow article is just one of 
many ways you can do branching (I don't particularly have an opinion on 
it, but I don't use it). Personally, I switch between using feature 
branches and using release branches, much like PHP.


Personally, I don't think PHP's system needs to change any time soon (or 
indeed, at all), unless a majority of contributors really want to. It's 
just a waste of time and resources otherwise.


--
Ryan McCue
http://ryanmccue.info/

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Re: Git Migration: Status Update

2012-03-06 Thread Drak
On 5 March 2012 03:15, David Soria Parra dso...@gmx.net wrote:

 No. We will always need to be able to delete branches created, or tags
 (we had situations were we needed to retag, for example). That in
 itself can be used to do a forced push:


[snip]


 I am also not a strong believer trying to forbid as much as possible.
 If you have an SVN account you are trusted enough to not just delete
 something that is used. Also thanks to the decentralized model of git
 we all have backups, so we can just recreate it.


Additionally, if someone force pushes a branch overwriting work it can
always be recovered by a sysadmin from the reflog on the remote server.
 It's not a problem.
However I stress, that something is pretty wrong if people are force
pushing branches to the main repo and I'd personally be slapping wrists if
I saw it for any project I oversee.  Forcing pushes to
one's own topic branches in one's own fork can be acceptable providing
upstream maintainers know before merging (for example squashing some work
after peer review), but not to the central repo without some exceptional
reason - it could cause chaos otherwise.

Regards,

Drak


Re: [PHP-DEV] Re: Git Migration: Status Update

2012-03-06 Thread Kiall Mac Innes
On Wed, Mar 7, 2012 at 6:03 AM, Drak d...@zikula.org wrote:

 [snip]
 Forcing pushes to one's own topic branches in one's own fork can be
 acceptable providing
 upstream maintainers know before merging (for example squashing some work
 after peer review), but not to the central repo without some exceptional
 reason - it could cause chaos otherwise.


Gerrit has an interesting take on this, you are free to do whatever you
like on refs/heads/dev/${username}/* - including force push etc.

Maybe something like this could be useful?

Kiall


Re: [PHP-DEV] Re: Git Migration: Status Update

2012-03-06 Thread Kris Craig
On Tue, Mar 6, 2012 at 10:09 PM, Kiall Mac Innes ki...@managedit.ie wrote:

 On Wed, Mar 7, 2012 at 6:03 AM, Drak d...@zikula.org wrote:

  [snip]
  Forcing pushes to one's own topic branches in one's own fork can be
  acceptable providing
  upstream maintainers know before merging (for example squashing some work
  after peer review), but not to the central repo without some exceptional
  reason - it could cause chaos otherwise.


 Gerrit has an interesting take on this, you are free to do whatever you
 like on refs/heads/dev/${username}/* - including force push etc.

 Maybe something like this could be useful?

 Kiall


Again I would just stress that, if people followed a Git branching model
and only made direct commits to feature branches they themselves
create/maintain, this scenario shouldn't be one that's likely to come up.
 Once a feature branch is complete and it's been tested/approved/whatever
(process is important), you simply do a fresh pull of the develop (or, in
this case, version) branch, rebase the feature off of that, then merge it
into the develop branch and do a push.  Using this approach, any merge
conflicts that might arise (such as overwriting work that somebody else
recently contributed) would be caught before anything is pushed.  Instead,
said conflicts are resolved manually and then Git proceeds with the merge.
 This is similar in concept to what Kiall alluded to.

I know I keep promising to draft an RFC for this lol, so I'll make it a
high priority to put together an RFC for a PHP Git branching model sometime
this week[end].

--Kris


[PHP-DEV] Re: Git Migration: Status Update

2012-03-04 Thread Jaroslav Hanslik


  (3) Karma system fixes. Already done by me. People who have access to
  the root of a repository are able to do forced pushes.




Do you think it's good idea not to forbid forced pushes at all?

Cheers
Jaroslav

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-DEV] Re: Git Migration: Status Update

2012-03-04 Thread David Soria Parra
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 03/04/2012 10:32 AM, Jaroslav Hanslik wrote:
 
 (3) Karma system fixes. Already done by me. People who have
 access to the root of a repository are able to do forced pushes.
 
 
 
 Do you think it's good idea not to forbid forced pushes at all?
No. We will always need to be able to delete branches created, or tags
(we had situations were we needed to retag, for example). That in
itself can be used to do a forced push:

  git push :master  git push mynewmaster:master

Will be equal to

  git push +mynewmaster:master

equal to

  git push --force mynewmaster:master

I am also not a strong believer trying to forbid as much as possible.
If you have an SVN account you are trusted enough to not just delete
something that is used. Also thanks to the decentralized model of git
we all have backups, so we can just recreate it.

David

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJPU98AAAoJEAT0aMuPE7Z1SM8P/1eN+edqsqoMPukCZfeeWbFm
DM4wRS1UYyc4WZ2LrUi/6+hadgEk4QZLwkLiZPw+CuYwlGtkRhIoPWskV3HK4xT9
HqdMeHxTxEAjsq0dnb37hklSGc2LlTFRnUhCHkrZdGb4OZEjOXeQBVa8ud/32Exa
Cjxcyrmrzdxzu65W1P203zjAwo4jCR24PgWw4qhAqqI4UNYuHhgmIvptOo0MMvZV
bkZ2GzKDsZladGG+mVwHdxZNwPOU9CxFnWG36wX7tl11uX80M+4WMTTJ43T1kpif
ZhqbUrUWwitaZfdLBE9apKpwzO09cQdEsY7hgezZNntyH4PmHV+NCvCgz+BBywzM
ivxNSjvTj8Kt3p4Y63WXOlfdrhTG/65hoZQTMn2Mv3qSIx3lVIqnUc/UFk5WBEI/
qOBARLGBtqy1ytMTdLLAcYN3cqFKS+zV0ucYIrBClr1LeIuAkIjfXNZ55CILmGy8
KEwJn6gC495jzV3LK7dw9S0mUiVvraG3IeBsNcJr8OELPZFC/U5IZHO0o1bafXWQ
I/iqAA2tPeHQ289XyyHRSqL+qQHfDwP75gB0uUcu43lSieu0bNwkCI7IotHtC5vi
dePV4pzyj+Yjyicx4NcrurWW5BeLafe8l1wvzUNS7SmrtUr3ZMJkj6qIVbVq6hq5
GvGw6+527FSIwn0TUGC2
=+P5T
-END PGP SIGNATURE-

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Re: Git Migration: Status Update

2012-03-04 Thread Kris Craig
I was about to respond to Lester's comments but it looks like Jeremiah beat
me to it (again).  Yeah he's correct in that bad habits refers to using
Git the same way you would use Subversion.  It was not mean to refer to how
you've used Subversion itself.

@David Generally, I would resolve this by having an intermediary branch
intended solely for such collisions.  For example:

git checkout PHP_5.3
(git commits)
git checkout PHP_5.4
(git commits)
git checkout PHP_5.3-5.4_bridge
git merge --no-ff PHP_5.3
git merge --no-ff PHP_5.4
(resolve merge conflicts, if any)
git checkout PHP_5.4
git merge --no-ff PHP_5.3-5.4_bridge
(then, when it's time for a major release; which is the only time master
should ever be used)
git checkout -b Release-(version number) PHP_5.4
(any last-minute release commits; basically, each commit is a release
candidate)
git checkout master
git merge --no-ff Release-(version number)
git checkout PHP_5.4
git merge --no-ff Release-(version number)
git branch -d Release-(version number)


The above approach would allow for David's scenario of merging 5.3 changes
into 5.4 without disrupting development on either branch in the event of
merge conflicts, simultaneous commits, etc.

I could probably draft something a little more comprehensive if anyone's
interested.

--Kris


On Sun, Mar 4, 2012 at 1:30 PM, David Soria Parra dso...@gmx.net wrote:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 On 03/04/2012 10:32 AM, Jaroslav Hanslik wrote:
 
  (3) Karma system fixes. Already done by me. People who have
  access to the root of a repository are able to do forced pushes.
 
 
 
  Do you think it's good idea not to forbid forced pushes at all?
 No. We will always need to be able to delete branches created, or tags
 (we had situations were we needed to retag, for example). That in
 itself can be used to do a forced push:

  git push :master  git push mynewmaster:master

 Will be equal to

  git push +mynewmaster:master

 equal to

  git push --force mynewmaster:master

 I am also not a strong believer trying to forbid as much as possible.
 If you have an SVN account you are trusted enough to not just delete
 something that is used. Also thanks to the decentralized model of git
 we all have backups, so we can just recreate it.

 David

 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.11 (GNU/Linux)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

 iQIcBAEBAgAGBQJPU98AAAoJEAT0aMuPE7Z1SM8P/1eN+edqsqoMPukCZfeeWbFm
 DM4wRS1UYyc4WZ2LrUi/6+hadgEk4QZLwkLiZPw+CuYwlGtkRhIoPWskV3HK4xT9
 HqdMeHxTxEAjsq0dnb37hklSGc2LlTFRnUhCHkrZdGb4OZEjOXeQBVa8ud/32Exa
 Cjxcyrmrzdxzu65W1P203zjAwo4jCR24PgWw4qhAqqI4UNYuHhgmIvptOo0MMvZV
 bkZ2GzKDsZladGG+mVwHdxZNwPOU9CxFnWG36wX7tl11uX80M+4WMTTJ43T1kpif
 ZhqbUrUWwitaZfdLBE9apKpwzO09cQdEsY7hgezZNntyH4PmHV+NCvCgz+BBywzM
 ivxNSjvTj8Kt3p4Y63WXOlfdrhTG/65hoZQTMn2Mv3qSIx3lVIqnUc/UFk5WBEI/
 qOBARLGBtqy1ytMTdLLAcYN3cqFKS+zV0ucYIrBClr1LeIuAkIjfXNZ55CILmGy8
 KEwJn6gC495jzV3LK7dw9S0mUiVvraG3IeBsNcJr8OELPZFC/U5IZHO0o1bafXWQ
 I/iqAA2tPeHQ289XyyHRSqL+qQHfDwP75gB0uUcu43lSieu0bNwkCI7IotHtC5vi
 dePV4pzyj+Yjyicx4NcrurWW5BeLafe8l1wvzUNS7SmrtUr3ZMJkj6qIVbVq6hq5
 GvGw6+527FSIwn0TUGC2
 =+P5T
 -END PGP SIGNATURE-

 --
 PHP Internals - PHP Runtime Development Mailing List
 To unsubscribe, visit: http://www.php.net/unsub.php