Re: [crossfire] Crossfire should use Git

2014-06-13 Thread Mark Wedel


 Whenever these discussions come up (this is probably the 3rd or 4th 
iteration), the general response is 'we should use the VCS that I'm most 
familiar with'


 So on that basis, I'd vote for mercurial (use it at work) or SVN (crossfire 
already uses it)


 All that being said, for the amount of commits crossfire gets, I'm really not 
convinced a distributed VCS is worth the effort.  It is certainly useful for 
really big projects, or if making lots of changes such that you want to be able 
to do intermediate commits.


 To me, the only really compelling reason for a DVCS is that all the data is 
local, so you can do things like diff, history, etc, and still get data even if 
the master gate is down.


 I don't think it will make much difference in terms of maintaining branches - 
all systems I've seen have problems once branches drift apart - at some level, 
manual merging is possible.  Its been a while, but I seem to remember that even 
for SVN, there was a pretty simple way to do that.  The main problem (in 
general) with branches is people just generally don't want to do the extra steps 
to backport, even if the steps were pretty trivial.


 I'm really not convinced that a bunch of branches are desirable thing - 
whenever extra branches have shown up in SVN, they basically just languished, 
and I don't think it was because of the VCS, but rather there are not so many 
developers that your going to have 10 people working on the trunk and 8 playing 
on a branch - rather, everyone just works on trunk.


 Conceivably, this can be useful if working on a private branch, but a DVCS 
really doesn't help prevent merge hell if the branches drift too far apart 
(conflicts still need to be resolved by hand), though I suppose with a DVCS, 
they would need to be resolved less often vs trying to use SVN.


 mercurial at least can pull from a SVN repo, as it sounds like GIT can, but 
the issue is the push.  I have no idea if git and mercurial can play well 
together (if the repo was mercurial, can git do most things it needs to do or 
vice versa).



___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


[crossfire] Development dialogue

2014-06-13 Thread Rick Tanner
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


It has been quite some time since Crossfire has seen so many code
tweaks and changes like we have seen the past couple of months.

Thank you to everyone who is and has been contributing to this.

Some recent discussion on IRC brought up some concerns with recent SVN
commits and their impact on existing code, server setup practices, and
performance gains or efficiency of such code changes.

I'm making this post to open dialogue on these concerns so they get
addressed, worked on, updated, etc.

If a code rewrite is necessary, or a revert or something else - it
should be made with some sort of agreement.

I ask that we keep the discussion positive and productive. If you have
an axe to grind, this is not the forum for that. ;-)

Thank you,

Rick Tanner

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (Darwin)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iD8DBQFTm4rLhHyvgBp+vH4RAtOmAJ9Hd8G7knqQ+L8PhDmzEp3qMSGUqACgvLBB
SYrqMk9wp1jY9cYX1hnCsPo=
=YSMv
-END PGP SIGNATURE-
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Crossfire should use Git

2014-06-13 Thread Kevin Zheng
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 06/13/2014 18:03, Rick Tanner wrote:
> My questions on going with a distributed revision control has to
> do with how does all these changes in a branch make it back to the
> main code base?
> 
> Perhaps I'm asking "who" brings in all the changes from the
> branches to the main code base?

I expect that branch maintenance and integration will remain pretty
much the same. Developers who choose to publish topic branches should
ultimately merge in changes when the code is ready.

Contributors who wish to make changes should make local commits and
generate patch sets. Contributors wishing to make extensive changes
can seek the help of a developer with commit access.

Keep in mind that it is not necessary to work in topic branches; the
current workflow can stay the same. I expect that more people will use
and publish branches, though.

Thanks,
Kevin Zheng
-BEGIN PGP SIGNATURE-
Version: GnuPG v2
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJTm4n8AAoJEOrPD3bCLhCQB9YIAL740CWrMriZ2Vi3JokSESxa
CG7qAecR2ELrD61FpDiLY04g2fAZdAMDoxPzeRX4i3mY+uwaWrzdie74/J8ufqB5
6aFyB0YEXHXr07CFFyRJWa09FXuPXgVZxzYU4vFLCkUspBujVdGmUbrsZdLHFxvR
qAxGSNhFVQyKUQvfJBrbu+mitJK2x2b15sigZOticKHfnkEQNCE3UKjBFM314QgQ
ps++0nusn1nQX9MrP5tl/gJV3ScfRZW81Eh6GkAcZPANlsajK4Hlrw88S3t/6l24
Q5oDEJE19XdrCkzwNLPpQhlQ9lvfTi/0/xGB9+jmWAZ9K3kx0UIcxZu3guAPT1A=
=6Axm
-END PGP SIGNATURE-
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Crossfire should use Git

2014-06-13 Thread Kevin R. Bulgrien
On Fri, 13 Jun 2014 09:52:02 -0400
Steven Johnson  wrote:

> I'm not a regular contributor either but I believe mercurial (hg) is
> the better choice as well. Plus the site Bloody Shade mentioned
> http://hginit.com/ easily explains the transition from svn to hg.
> On Jun 13, 2014 9:29 AM, "Bloody Shade"  wrote:
> 
> > I'm not sure I can agree with a move to Git, personally.

I am not a fan of git.  I had a co-worker that used it and expressed
pros of a distributed VCS.  I agreed in principle with various ideas.
At one point, I decided to try git out for maintaining a web site that
was deployed on multiple servers (test/production).  I stuck with it for
two weeks.  It was a horrible two weeks during which I wasted much time
dredging through horrible documentation to figure out how to do
seemingly basic things.  The sheer number of commands was a huge
put-off.  I destroyed my repository multiple times while learning.
At one point, I wanted to do something that was easy peasy in CVS
and SVN, but it was a brick wall in git.  I researched for hours, and
ultimately learned git will not do it.  Though I could have obliged
git's (IMO) retarded limitation quite easily, my experience was so
hard already, that I decided then and there to try either bazaar or
mercurial instead.

I learned that mercurial (at that point) had the same issue as git
with respect to the particular operation I wanted to do (add an empty
directory).  I don't know that this is presently an issue with
mercurial, but it tipped the balance for me.  I tried bazaar.

In less than an hour, I converted my git repo to a bazaar repo and was
using bazaar painlessly ... it worked just like I felt it should based
on my years of experience with CVS and SVN.  After two weeks of using
git this never happened.

If crossfire wants casual users to be able to use the VCS, then I cannot
recommend git.  If crossfire wants to limit VCS use to git-heads, then
go ahead.  A CVS/SVN/BZR user can pretty comfortably go from one VCS to
another.  I'd guess the same is true of Hg.  It is clear to me that git
is a horse of a different color.  It solves a particular problem that
does not fit most software project needs at the expense of being an
easy to use tool.

I am sure that one day it is almost inevitable that I will have to use
it and be comfortable using it, but I will put off that day as long as
I can.

> > There's plenty of drawbacks that also come with git (not that other
> > version controls don't).
> > I personally use mercurial (hg) for my projects and you can find
> > more info on it and see if you like it at: http://hginit.com/
> >
> > I found this article with some things I also don't like about git,
> > in case anybody else is wondering (although I'm sure there's more):
> > http://steveko.wordpress.com/2012/02/24/10-things-i-hate-about-git/

Right on.  Excellent article.

> > Then again, I'm not a regular contributor, so feel free to ignore
> > this, but I thought it would be worth throwing my 2 cents.
> >
> > On 6/13/2014 10:13 AM, Kevin Zheng wrote:
> >
> >> -BEGIN PGP SIGNED MESSAGE-
> >> Hash: SHA1
> >>
> >> Hi all,
> >>
> >> Crossfire originally lived in the world of CVS, until a handful of
> >> brave knights ventured to move it to SVN. Today I believe it is
> >> time to move again, and this time to Git.

I actually asked to get access to crossfire VCS at this time.  I did
not know SVN.  The transition from CVS to SVN was easy.  I did learn,
however that I choose not to use SVN when possible, but whatever I
dislike about SVN is small compared to what git brings to the table.

> >> Git is a distributed version control system, which means that
> >> checking out an old revision or reading the commit log does not
> >> require accessing the sometimes painfully slow servers on the
> >> Internet. Each 'clone' of the repository is a fully-functioning
> >> repository on its own. This means that developers, even those who
> >> do not have commit access, can work on projects at their own pace
> >> and submit them with tools such as `git format-patch` and others.
> >>
> >> Git makes branching easy. It makes maintaining them manageable. As
> >> an example, several important fixes were made in 'trunk', which
> >> have yet to be backported to 1.12.0. In addition, there are no
> >> release engineering branches, which means that each release is
> >> simply cut from the next 'trunk' state in line. Even "trivial"
> >> fixes could benefit from topic branches, but SVN does not make
> >> this easy, convenient, or fun. Using Git branches would help
> >> create a more stable codebase by improving release engineering and
> >> adopting intermediate "stable" branches that servers can track. A
> >> recent autotools bug that wiped server configuration files, for
> >> example, could have been prevented if changes on the bleeding edge
> >> were evaluated by test servers first.
> >>
> >> Git is not terribly difficult to use. Right now I access the SVN
> >> repository through a

Re: [crossfire] Crossfire should use Git

2014-06-13 Thread Rick Tanner
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


My questions on going with a distributed revision control has to do
with how does all these changes in a branch make it back to the main
code base?

This is not a question in regards to command syntax and code merging
practices.  It's more on a administrative or QA level.

Perhaps I'm asking "who" brings in all the changes from the branches
to the main code base?

Thank you,

Rick Tanner




-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (Darwin)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iD8DBQFTm4NQhHyvgBp+vH4RAvepAKCmTqzcsL28o6Q96Xm2CbxgNr1/QQCfUzY1
BjzHRN1yAdfmRHPBkU7OtmU=
=KBE3
-END PGP SIGNATURE-
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Crossfire should use Git

2014-06-13 Thread Steven Johnson
I'm not a regular contributor either but I believe mercurial (hg) is the
better choice as well. Plus the site Bloody Shade mentioned
http://hginit.com/ easily explains the transition from svn to hg.
On Jun 13, 2014 9:29 AM, "Bloody Shade"  wrote:

> I'm not sure I can agree with a move to Git, personally.
>
> There's plenty of drawbacks that also come with git (not that other
> version controls don't).
> I personally use mercurial (hg) for my projects and you can find more info
> on it and see if you like it at: http://hginit.com/
>
> I found this article with some things I also don't like about git, in case
> anybody else is wondering (although I'm sure there's more):
> http://steveko.wordpress.com/2012/02/24/10-things-i-hate-about-git/
>
> Then again, I'm not a regular contributor, so feel free to ignore this,
> but I thought it would be worth throwing my 2 cents.
>
> On 6/13/2014 10:13 AM, Kevin Zheng wrote:
>
>> -BEGIN PGP SIGNED MESSAGE-
>> Hash: SHA1
>>
>> Hi all,
>>
>> Crossfire originally lived in the world of CVS, until a handful of brave
>> knights ventured to move it to SVN. Today I believe it is time to move
>> again, and this time to Git.
>>
>> Git is a distributed version control system, which means that checking
>> out an old revision or reading the commit log does not require accessing
>> the sometimes painfully slow servers on the Internet. Each 'clone' of
>> the repository is a fully-functioning repository on its own. This means
>> that developers, even those who do not have commit access, can work on
>> projects at their own pace and submit them with tools such as `git
>> format-patch` and others.
>>
>> Git makes branching easy. It makes maintaining them manageable. As an
>> example, several important fixes were made in 'trunk', which have yet to
>> be backported to 1.12.0. In addition, there are no release engineering
>> branches, which means that each release is simply cut from the next
>> 'trunk' state in line. Even "trivial" fixes could benefit from topic
>> branches, but SVN does not make this easy, convenient, or fun. Using Git
>> branches would help create a more stable codebase by improving release
>> engineering and adopting intermediate "stable" branches that servers can
>> track. A recent autotools bug that wiped server configuration files, for
>> example, could have been prevented if changes on the bleeding edge were
>> evaluated by test servers first.
>>
>> Git is not terribly difficult to use. Right now I access the SVN
>> repository through a local Git clone, but this is inadequate because I
>> cannot publish my topic branches (without considerably difficulty). A
>> migration that preserves tags, branches, and full revision history can
>> be made as fast as the revisions are pulled from SVN.
>>
>> In summary, a few important benefits of using Git:
>>
>> - - Contributors can work on the code easier, with revision control.
>> - - Distributed, so works without (slow) Internet access.
>> - - Encourages branching -> more stable codebase.
>> - - Easy to use and migrate to.
>> - - Full (all revision history) repository size: 21.7 MiB (server), 13.9
>>MiB (client), 106.1 MiB (maps)
>>
>> However, there are a few immediate problems:
>>
>> Most projects using SVN make extensive use of the revision number
>> identifiers. Crossfire is no different. Git has revision (commit)
>> identifiers, but they are meaningless without the repository, whereas
>> SVN increments the number for each commit. I do not believe this is an
>> issue, because client compatibility is not determined by this
>> specifier, plugin versions are only checked to match, and other uses
>> of the identifier can be removed.
>>
>> Of course, comments, questions, and hate mail are always welcome.
>>
>> Thanks,
>> Kevin Zheng
>> -BEGIN PGP SIGNATURE-
>> Version: GnuPG v2
>> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
>>
>> iQEcBAEBAgAGBQJTmvjyAAoJEOrPD3bCLhCQsEIH/2CnCPs/FmKlGmgkMw98zo/b
>> vIFMiFiMZsuEteKUajXZb3+OfabyvCTBJZc3nVOlVwxt6xT+9NcspmdPYIofqt2M
>> 24fhSY7LqSF5Odc/afQX6JrA21fgF/ryU6jc1Iri2+13Wk6TDEhQqZ/ASdSmaaZm
>> IXd9iPb8D7EbSmp0pqvAGKriExVZDSIuukXmOQzbjG8mqFgczBnNdxP62bPh2H03
>> NyMbd+nCFfaaXAca/5wGZgrqmx0OU8DiRx9FTKzwp1/Ku3t09PT9aUbuOY6qUKAU
>> kdOQfdp8naAxCbf38B/9k+IU5lk+JFcbs576X3lreU0xyr1byZyparkfNOLk3XE=
>> =lsHS
>> -END PGP SIGNATURE-
>> ___
>> crossfire mailing list
>> crossfire@metalforge.org
>> http://mailman.metalforge.org/mailman/listinfo/crossfire
>>
>>
>
> ---
> This email is free from viruses and malware because avast! Antivirus
> protection is active.
> http://www.avast.com
>
> ___
> crossfire mailing list
> crossfire@metalforge.org
> http://mailman.metalforge.org/mailman/listinfo/crossfire
>
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Crossfire should use Git

2014-06-13 Thread Bloody Shade

I'm not sure I can agree with a move to Git, personally.

There's plenty of drawbacks that also come with git (not that other 
version controls don't).
I personally use mercurial (hg) for my projects and you can find more 
info on it and see if you like it at: http://hginit.com/


I found this article with some things I also don't like about git, in 
case anybody else is wondering (although I'm sure there's more):

http://steveko.wordpress.com/2012/02/24/10-things-i-hate-about-git/

Then again, I'm not a regular contributor, so feel free to ignore this, 
but I thought it would be worth throwing my 2 cents.


On 6/13/2014 10:13 AM, Kevin Zheng wrote:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi all,

Crossfire originally lived in the world of CVS, until a handful of brave
knights ventured to move it to SVN. Today I believe it is time to move
again, and this time to Git.

Git is a distributed version control system, which means that checking
out an old revision or reading the commit log does not require accessing
the sometimes painfully slow servers on the Internet. Each 'clone' of
the repository is a fully-functioning repository on its own. This means
that developers, even those who do not have commit access, can work on
projects at their own pace and submit them with tools such as `git
format-patch` and others.

Git makes branching easy. It makes maintaining them manageable. As an
example, several important fixes were made in 'trunk', which have yet to
be backported to 1.12.0. In addition, there are no release engineering
branches, which means that each release is simply cut from the next
'trunk' state in line. Even "trivial" fixes could benefit from topic
branches, but SVN does not make this easy, convenient, or fun. Using Git
branches would help create a more stable codebase by improving release
engineering and adopting intermediate "stable" branches that servers can
track. A recent autotools bug that wiped server configuration files, for
example, could have been prevented if changes on the bleeding edge were
evaluated by test servers first.

Git is not terribly difficult to use. Right now I access the SVN
repository through a local Git clone, but this is inadequate because I
cannot publish my topic branches (without considerably difficulty). A
migration that preserves tags, branches, and full revision history can
be made as fast as the revisions are pulled from SVN.

In summary, a few important benefits of using Git:

- - Contributors can work on the code easier, with revision control.
- - Distributed, so works without (slow) Internet access.
- - Encourages branching -> more stable codebase.
- - Easy to use and migrate to.
- - Full (all revision history) repository size: 21.7 MiB (server), 13.9
   MiB (client), 106.1 MiB (maps)

However, there are a few immediate problems:

Most projects using SVN make extensive use of the revision number
identifiers. Crossfire is no different. Git has revision (commit)
identifiers, but they are meaningless without the repository, whereas
SVN increments the number for each commit. I do not believe this is an
issue, because client compatibility is not determined by this
specifier, plugin versions are only checked to match, and other uses
of the identifier can be removed.

Of course, comments, questions, and hate mail are always welcome.

Thanks,
Kevin Zheng
-BEGIN PGP SIGNATURE-
Version: GnuPG v2
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJTmvjyAAoJEOrPD3bCLhCQsEIH/2CnCPs/FmKlGmgkMw98zo/b
vIFMiFiMZsuEteKUajXZb3+OfabyvCTBJZc3nVOlVwxt6xT+9NcspmdPYIofqt2M
24fhSY7LqSF5Odc/afQX6JrA21fgF/ryU6jc1Iri2+13Wk6TDEhQqZ/ASdSmaaZm
IXd9iPb8D7EbSmp0pqvAGKriExVZDSIuukXmOQzbjG8mqFgczBnNdxP62bPh2H03
NyMbd+nCFfaaXAca/5wGZgrqmx0OU8DiRx9FTKzwp1/Ku3t09PT9aUbuOY6qUKAU
kdOQfdp8naAxCbf38B/9k+IU5lk+JFcbs576X3lreU0xyr1byZyparkfNOLk3XE=
=lsHS
-END PGP SIGNATURE-
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire




---
This email is free from viruses and malware because avast! Antivirus protection 
is active.
http://www.avast.com

___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


[crossfire] Crossfire should use Git

2014-06-13 Thread Kevin Zheng
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi all,

Crossfire originally lived in the world of CVS, until a handful of brave
knights ventured to move it to SVN. Today I believe it is time to move
again, and this time to Git.

Git is a distributed version control system, which means that checking
out an old revision or reading the commit log does not require accessing
the sometimes painfully slow servers on the Internet. Each 'clone' of
the repository is a fully-functioning repository on its own. This means
that developers, even those who do not have commit access, can work on
projects at their own pace and submit them with tools such as `git
format-patch` and others.

Git makes branching easy. It makes maintaining them manageable. As an
example, several important fixes were made in 'trunk', which have yet to
be backported to 1.12.0. In addition, there are no release engineering
branches, which means that each release is simply cut from the next
'trunk' state in line. Even "trivial" fixes could benefit from topic
branches, but SVN does not make this easy, convenient, or fun. Using Git
branches would help create a more stable codebase by improving release
engineering and adopting intermediate "stable" branches that servers can
track. A recent autotools bug that wiped server configuration files, for
example, could have been prevented if changes on the bleeding edge were
evaluated by test servers first.

Git is not terribly difficult to use. Right now I access the SVN
repository through a local Git clone, but this is inadequate because I
cannot publish my topic branches (without considerably difficulty). A
migration that preserves tags, branches, and full revision history can
be made as fast as the revisions are pulled from SVN.

In summary, a few important benefits of using Git:

- - Contributors can work on the code easier, with revision control.
- - Distributed, so works without (slow) Internet access.
- - Encourages branching -> more stable codebase.
- - Easy to use and migrate to.
- - Full (all revision history) repository size: 21.7 MiB (server), 13.9
  MiB (client), 106.1 MiB (maps)

However, there are a few immediate problems:

Most projects using SVN make extensive use of the revision number
identifiers. Crossfire is no different. Git has revision (commit)
identifiers, but they are meaningless without the repository, whereas
SVN increments the number for each commit. I do not believe this is an
issue, because client compatibility is not determined by this
specifier, plugin versions are only checked to match, and other uses
of the identifier can be removed.

Of course, comments, questions, and hate mail are always welcome.

Thanks,
Kevin Zheng
-BEGIN PGP SIGNATURE-
Version: GnuPG v2
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJTmvjyAAoJEOrPD3bCLhCQsEIH/2CnCPs/FmKlGmgkMw98zo/b
vIFMiFiMZsuEteKUajXZb3+OfabyvCTBJZc3nVOlVwxt6xT+9NcspmdPYIofqt2M
24fhSY7LqSF5Odc/afQX6JrA21fgF/ryU6jc1Iri2+13Wk6TDEhQqZ/ASdSmaaZm
IXd9iPb8D7EbSmp0pqvAGKriExVZDSIuukXmOQzbjG8mqFgczBnNdxP62bPh2H03
NyMbd+nCFfaaXAca/5wGZgrqmx0OU8DiRx9FTKzwp1/Ku3t09PT9aUbuOY6qUKAU
kdOQfdp8naAxCbf38B/9k+IU5lk+JFcbs576X3lreU0xyr1byZyparkfNOLk3XE=
=lsHS
-END PGP SIGNATURE-
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire