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

Kevin Zheng kevinz5000 at gmail.com
Wed Jan 13 21:39:48 CST 2021


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


More information about the crossfire mailing list