Re: [crossfire] Git for arch, maps, server, and client

2021-05-08 Thread Kevin Zheng

Hi there,

I'm pleased to announce that all of the repositories hosted on the 
Crossfire SourceForge have been migrated to Git. Starting now, all new 
commits should be made to Git. These repositories are located at:


https://sourceforge.net/p/crossfire/_list/git

The SVN is now in read-only mode and will no longer be updated.

When committing to Git, please follow our Git commit policy:

1. To preserve linear history, no merge commits in 'master'. When
  merging branches into 'master', rebase the branch against 'master'
  and then do a fast-forward from 'master'.

2. Commit messages begin with a short, one-line summary, followed by a
  blank line, followed by more detailed explanatory text, if necessary.
  Lines are wrapped to approximately 72-ish characters.

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


Re: [crossfire] Git for arch, maps, server, and client

2021-05-05 Thread Mark Wedel

On 5/5/21 10:44 AM, Kevin Zheng wrote:

On 5/5/21 9:30 AM, Mark Wedel wrote:

  It looks like write (commit) access can be removed from the SVN repos in 
sourceforge while still letting them exist.  I'd suggest that be done, just to 
prevent any accidental commits (someone forgot to update their paths or 
whatever else).  Plus, it can be used to make sure no one commits anything 
while you are moving things over.


Thanks for the suggestion. This wasn't going to be so easy, because there were 
other subfolders in the repository that weren't part of this migration. Looking 
at the repo now, however, the only sub-directories left are jxclient, 
metaserver, and sounds.

If we also go ahead and migrate these over too, we can go ahead and make the 
entire SVN read-only after the switch.

If there are no objections, I will also go ahead and migrate jxclient, 
metaserver, and sounds.


 I think that is a good idea - it makes more sense to me that everything under 
the project is using the same source code control system, vs some using git and 
others using SVN.

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


Re: [crossfire] Git for arch, maps, server, and client

2021-05-05 Thread Kevin Zheng

On 5/5/21 9:30 AM, Mark Wedel wrote:
  It looks like write (commit) access can be removed from the SVN repos 
in sourceforge while still letting them exist.  I'd suggest that be 
done, just to prevent any accidental commits (someone forgot to update 
their paths or whatever else).  Plus, it can be used to make sure no one 
commits anything while you are moving things over.


Thanks for the suggestion. This wasn't going to be so easy, because 
there were other subfolders in the repository that weren't part of this 
migration. Looking at the repo now, however, the only sub-directories 
left are jxclient, metaserver, and sounds.


If we also go ahead and migrate these over too, we can go ahead and make 
the entire SVN read-only after the switch.


If there are no objections, I will also go ahead and migrate jxclient, 
metaserver, and sounds.


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


Re: [crossfire] Git for arch, maps, server, and client

2021-05-05 Thread Mark Wedel

On 5/4/21 11:45 PM, Kevin Zheng wrote:

Hi there,

Some months ago I proposed switching the arch, maps, server, and client 
repositories to Git. Since feedback on the mailing list was positive, I think 
now is a good time to make the switch.





- At UTC Saturday 2021-05-08 22:00, I will update these Git repositories
   from SVN one last time. Future commits in these repositories should go
   into Git. SVN will continue to be used for the repositories that
   haven't switched. The migrated repositories will still continue to
   exist in SVN for a while, but should not be committed to. Hopefully
   nobody gets confused by the fact that there are two repositories. At
   some point, perhaps we should delete these repositories from SVN.


 It looks like write (commit) access can be removed from the SVN repos in 
sourceforge while still letting them exist.  I'd suggest that be done, just to 
prevent any accidental commits (someone forgot to update their paths or 
whatever else).  Plus, it can be used to make sure no one commits anything 
while you are moving things over.

 Thanks for doing this work.


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


[crossfire] Git for arch, maps, server, and client

2021-05-05 Thread Kevin Zheng

Hi there,

Some months ago I proposed switching the arch, maps, server, and client 
repositories to Git. Since feedback on the mailing list was positive, I 
think now is a good time to make the switch.


- If you have SVN checkouts of the arch, maps, server, or client
  repositories, get Git and clone the Git version from:

  https://sourceforge.net/p/crossfire/_list/git

  If you are running a server that tracks one of these repositories, you
  should probably update those, too.

- Before UTC Saturday 2021-05-08 22:00, please continue committing to
  SVN as usual. I will be manually keeping the Git up to date with SVN,
  so it may be a bit slow keeping up. Please do not commit to Git during
  this time.

- At UTC Saturday 2021-05-08 22:00, I will update these Git repositories
  from SVN one last time. Future commits in these repositories should go
  into Git. SVN will continue to be used for the repositories that
  haven't switched. The migrated repositories will still continue to
  exist in SVN for a while, but should not be committed to. Hopefully
  nobody gets confused by the fact that there are two repositories. At
  some point, perhaps we should delete these repositories from SVN.

I'd like to tentatively suggest this policy for commits going into Git:

1. To preserve linear history, no merge commits in 'master'. When
   merging branches into 'master', rebase the branch against 'master'
   and then do a fast-forward from 'master'.

2. Commit messages begin with a short, one-line summary, followed by a
   blank line, followed by more detailed explanatory text, if necessary.
   Lines are wrapped to approximately 72-ish characters.

Comments and feedback is appreciated, as is your patience while we make 
the switch.


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


Re: [crossfire] Git for arch, maps, server, and client

2021-01-14 Thread Kevin Zheng

On 1/14/21 7:04 PM, Robert Brockway wrote:
Please consider these repositories read-only at this point, because I 
will be mirroring them by hand from SVN.


Does this means that SVN history will be retained?


Yes, of course. The SVN history was imported and currently synced to SVN 
using git-svn. The 'new' Git repositories have commits still labeled 
'CVS' from a long time ago.


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


Re: [crossfire] Git for arch, maps, server, and client

2021-01-14 Thread Robert Brockway

On Wed, 13 Jan 2021, Kevin Zheng wrote:

Based on IRC and private conversations, it seems that many current developers 
and contributors would prefer to use Git. Therefore, I'm proposing to migrate 
the arch, maps, and server to Git.


I think it is a great idea.

Please consider these repositories read-only at this point, because I will be 
mirroring them by hand from SVN.


Does this means that SVN history will be retained?

Cheers,

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


Re: [crossfire] Git for arch, maps, server, and client

2021-01-14 Thread Nicolas Weeger
Hello.


> Based on IRC and private conversations, it seems that many current
> developers and contributors would prefer to use Git. Therefore, I'm
> proposing to migrate the arch, maps, and server to Git.

Fine by me :)


> - Non-committing contributors can more easily create bite-sized,
>reviewable patches using Git.

Yup, makes it easy to comment specific lines of code when needed, and see 
proposed changes without having to download the file.


> - It's difficult to understand and use. Fortunately, Git seems to be
>pretty popular these days, and there are many resources for beginners.

If people encounter difficulties, I'm sure many will be ready to help... We'll 
be able to make a good FAQ if needed.


> - Non-linear history is confusing. I'd like to propose that Crossfire
>maintain linear history by enforcing fast-forward only commits to
>master.

Yes, mandatory IMO. If it can be forbidden in some options on SF, then let's 
forbid.


> - Large initial clones. Currently, the initial clone of the server is
>24 MiB, the maps 91 MiB, the archs 26.7 MiB, and the client 14 MiB.

Not that big for today, and only to do once.

Note that it's possible I think to only get the latest revision without 
getting the whole history (it probably is "--depth 1", will need to check to 
ensure).


> - Loss of monotonically-increasing revision identifiers. Sorry.

Did we ever actually use that? I mean, was it at any point critical?



Thanks :)


Best regards


Nicolas

signature.asc
Description: This is a digitally signed message part.
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


[crossfire] Git for arch, maps, server, and client

2021-01-13 Thread Kevin Zheng

Hi there,

Based on IRC and private conversations, it seems that many current 
developers and contributors would prefer to use Git. Therefore, I'm 
proposing to migrate the arch, maps, and server to Git.


Some arguments in favor of Git:

- Non-committing contributors can more easily create bite-sized,
  reviewable patches using Git.

- Forks would preserve revision history, making it easier to re-
  integrate changes. Currently, forks tend to start from a source
  release and changes subsequently diverge.

- Fast branching and tagging.

Some arguments against Git:

- It's difficult to understand and use. Fortunately, Git seems to be
  pretty popular these days, and there are many resources for beginners.

- Non-linear history is confusing. I'd like to propose that Crossfire
  maintain linear history by enforcing fast-forward only commits to
  master.

- Large initial clones. Currently, the initial clone of the server is
  24 MiB, the maps 91 MiB, the archs 26.7 MiB, and the client 14 MiB.

- Loss of monotonically-increasing revision identifiers. Sorry.

For a preview of what this might look like, I've pushed 
crossfire-server, crossfire-arch, and crossfire-client repositories to 
SourceForge:


https://sourceforge.net/p/crossfire/_list/git

Please consider these repositories read-only at this point, because I 
will be mirroring them by hand from SVN.


I appreciate comments and thoughts about the proposed migration.

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