Re: [crossfire] Git for arch, maps, server, and client
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
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
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
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
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
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
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
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
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