DOSBox on git?

Developer's Forum, for discussion of bugs, code, and other developmental aspects of DOSBox.

DOSBox on git?

Postby Bluddy » 2019-4-11 @ 22:27

Necroing this: viewtopic.php?f=32&t=18705

10 years later, doesn't it seem like it's about time to switch to a better system? Either github or gitlab is a great choice. It should really push development forward, instead of this awkward patch maintenance. Come on, guys.
Bluddy
Newbie
 
Posts: 2
Joined: 2009-6-03 @ 16:42

Re: Anyone interested in git?

Postby digger » 2019-4-11 @ 23:17

Seconding this necro. I know the DOSBox developers have taken a very conservative stance w.r.t. migrating to another revision control system, but Git simply offers so many advantages over SVN, both for the DOSBox developers themselves and for people who like to contribute code, it's not even funny.

* Much better and faster (and way less painful) branching and merging
* Off-line commits
* Being able to stage files for commits
* Every developer basically having a local backup of the entire project, including its history
* Pull/merge requests
* All-round performance

Seriously, I don't know of a single person who has switched from SVN to Git who would *ever* want to go back. As a matter of fact, the only people who I've met who didn't see the need or compelling advantages of Git were people who had never used it yet.

It would make code contributions so much easier. But first and foremost, it would make life for the DOSBox developers themselves easier.

It's 2019. Please make the switch already. You won't regret it.
User avatar
digger
Member
 
Posts: 220
Joined: 2010-2-12 @ 18:15
Location: Amsterdam, the Netherlands

Re: Anyone interested in git?

Postby spiroyster » 2019-4-12 @ 02:30

Whats wrong with the numerous dosbox forks out there? I don't think it really matters unless wanting to go upstream?
User avatar
spiroyster
Oldbie
 
Posts: 532
Joined: 2015-10-12 @ 12:26

Re: Anyone interested in git?

Postby dr_st » 2019-4-12 @ 08:24

Git is awesome, but SVN is fine for a centralized project. It's a question of what the mainline DOSBox devs want it to be.
User avatar
dr_st
Oldbie
 
Posts: 1978
Joined: 2015-4-09 @ 07:18

Re: Anyone interested in git?

Postby digger » 2019-4-17 @ 22:41

spiroyster wrote:Whats wrong with the numerous dosbox forks out there? I don't think it really matters unless wanting to go upstream?


Don't you think the large number of DOSBox forks is indicative of the slow rate at which the mainline developers accept patches and improvements? That is another argument in favor of adopting Git. It makes the process of submitting, reviewing and accepting merge/pull requests so much more pleasant and practical.

I understand the argument of having different forks with different optimizations, but that would only justify a handful of forks, at most. Even then, many of the improvements in the forks are so good and desirable that they really should make their way back into the mainstream code base quickly, for everyone's benefit. And if a superior revision control system such as Git makes that process less painful, it will only help speed it up.
User avatar
digger
Member
 
Posts: 220
Joined: 2010-2-12 @ 18:15
Location: Amsterdam, the Netherlands

Re: Anyone interested in git?

Postby digger » 2019-4-17 @ 22:44

dr_st wrote:Git is awesome, but SVN is fine for a centralized project.


In the case of a popular centralized project with many external developers wishing to contribute patches, I respectfully disagree.
User avatar
digger
Member
 
Posts: 220
Joined: 2010-2-12 @ 18:15
Location: Amsterdam, the Netherlands

Re: Anyone interested in git?

Postby DosFreak » 2019-4-17 @ 23:21

digger wrote:
spiroyster wrote:Whats wrong with the numerous dosbox forks out there? I don't think it really matters unless wanting to go upstream?


Don't you think the large number of DOSBox forks is indicative of the slow rate at which the mainline developers accept patches and improvements? That is another argument in favor of adopting Git. It makes the process of submitting, reviewing and accepting merge/pull requests so much more pleasant and practical.

I understand the argument of having different forks with different optimizations, but that would only justify a handful of forks, at most. Even then, many of the improvements in the forks are so good and desirable that they really should make their way back into the mainstream code base quickly, for everyone's benefit. And if a superior revision control system such as Git makes that process less painful, it will only help speed it up.


Depends on if those patches and improvements are part of the DOSBox goal of guest and host compatibility. Most are not. List the patches and see if the devs reply. Mostly the response will be it's not needed for games, it doesn't work on one of the three main OS,it's half-baked, it'll possible break something else for not much benefit.
Also major changes have usually been left out of SVN until the next DOSBox version so some patches you may see in DOSBox in the next version.
If the devs are comfortable with what they are using then that's what they'll use and that's how it should be. You can take the code and use it on git all you want.
User avatar
DosFreak
l33t++
 
Posts: 10428
Joined: 2002-6-30 @ 16:35
Location: Your Head

Re: DOSBox on git?

Postby keenmaster486 » 2019-4-17 @ 23:53

DosFreak wrote:You can take the code and use it on git all you want.

+1
A vote for a DOSBox “community edition” here, hosted on GitHub. Easier for hobbyists to fork. And the primary development could just go on with SVN as usual.
I flermmed the plootash just like you asked.

http://classictechnology.herokuapp.com
http://keenmaster486.github.io
IBM Thinkpad 600E, 560X, 365CD
User avatar
keenmaster486
Oldbie
 
Posts: 1806
Joined: 2016-2-16 @ 02:04
Location: Atroxus

Re: DOSBox on git?

Postby krcroft » 2019-4-18 @ 00:09

This is obviously a touchy subject, but it shouldn't be.

git is objectively superior, and it facilitates and eases the burden of creating and maintaining changes to existing projects; regardless if those changes ever make it back into the core project.

For example, I maintain a relatively large CD audio patch set, and the only way I can realistically do this is to maintain my own copy of DOSBox SVN in git, which I painstaking update every couple commits from the SVN source.

I gave up in maintaining my pre-git patches when they failed to apply properly; I struggled with directly editing the .patch file and the effort to merge old and new versions was excessive.

Without git, I would similarly give up on maintaining my CD audio FLAC, MP3, Opus patch. Now, some might say "screw FLAC so good riddance". And that's fine.. I respect their opinion and their decision not to apply my patch.

But what we cannot afford is to have this issue impact future developers who might never contribute any number of amazing improvements that everyone, including the core developers, would welcome.
Last edited by krcroft on 2019-4-18 @ 00:35, edited 1 time in total.
User avatar
krcroft
Member
 
Posts: 319
Joined: 2017-4-29 @ 15:07
Location: Ogden's Retreat

Re: DOSBox on git?

Postby krcroft » 2019-4-18 @ 00:33

keenmaster486 wrote:
DosFreak wrote:You can take the code and use it on git all you want.

+1
A vote for a DOSBox “community edition” here, hosted on GitHub. Easier for hobbyists to fork. And the primary development could just go on with SVN as usual.

+1
This could have a handful of commiters responsible for designated areas of the source in which they are experts. At a minimum, it would open up all of the existing popular patches that have largely grown stale in various forum threads or are packaged in one-off binaries. Contributors could revive all of those on branches.
User avatar
krcroft
Member
 
Posts: 319
Joined: 2017-4-29 @ 15:07
Location: Ogden's Retreat

Re: DOSBox on git?

Postby jmarsh » 2019-4-18 @ 03:35

If it's painstaking to update your local git copy from SVN head, you're doing it wrong. Should be as simple as pulling from any other remote branch.
jmarsh
Member
 
Posts: 281
Joined: 2014-1-04 @ 09:17

Re: DOSBox on git?

Postby fr500 » 2019-4-18 @ 03:59

There shouldn't be a problem importing and keeping git up-to-date.
And contributing back could still be done via patches.

I keep my own mirror up-to-date, I update it as soon as I see new commits upstream.
https://github.com/fr500/dosbox-svn
fr500
Newbie
 
Posts: 8
Joined: 2018-7-10 @ 22:49

Re: DOSBox on git?

Postby krcroft » 2019-4-18 @ 04:24

Yes; at some point I had the SVN plugin working but then I did something wrong; and I was too far along with my own branches to try anything risky to fix it, so now I periodically manually copy over the new source tree and let git pick up the handful of changes (on its own clean SVN-only branch).

But the key point here is all of this, including being able to easily branch and generate patches, is made possible with git. We're the benefactors. Take away git, and maintaining large patch sets becomes very painful.
Fr500, I like your tree; I'll probably fork off it and use it as my new SVN base. Thanks.
Last edited by krcroft on 2019-4-18 @ 14:14, edited 1 time in total.
User avatar
krcroft
Member
 
Posts: 319
Joined: 2017-4-29 @ 15:07
Location: Ogden's Retreat

Re: DOSBox on git?

Postby fr500 » 2019-4-18 @ 13:59

Sure go ahead, just note, the branches are all LIBRETRO oriented so far.

My approach is keep the changes on top, then it's easy to rebase.
Pair that with git rerere and rebasing becomes a breeze.
https://git-scm.com/docs/git-rerere

Actually now that you mention it, one thing I have been considering is adding an ECE branch, I like a lot of what's been done in ECE, but I think the lack of version control is problematic. So if you'd like that we could try to come up with something like that with some extra patches on top.

BTW, can't reply to PMs, too new :)
fr500
Newbie
 
Posts: 8
Joined: 2018-7-10 @ 22:49

Re: DOSBox on git?

Postby BloodyCactus » 2019-4-18 @ 16:11

git svn rebase... and it updates. GIT's SVN integration works perfectly for me.
--/\-[ Stu : Bloody Cactus :: http://kråketær.com :: http://mega-tokyo.com ]-/\--
User avatar
BloodyCactus
Oldbie
 
Posts: 900
Joined: 2016-2-03 @ 13:34
Location: Lexington VA

Re: DOSBox on git?

Postby Dominus » 2019-4-18 @ 19:07

Correct me if I'm wrong but isn't it as painful to merge a branch into a new svn rebase as correcting a patch? The only (but important ;)) upside to this is that the branch is version controlled.
And yes, it shouldn't be painful to do a svn rebase on a git fork.

But note the silence of the developers... let them use what they are comfortable with and best work around it, in time change will come, I guess. Applying pressure probably doesn't help.
User avatar
Dominus
DOSBox Moderator
 
Posts: 7968
Joined: 2002-10-03 @ 09:54
Location: Ludwigsburg

Re: DOSBox on git?

Postby krcroft » 2019-4-18 @ 20:03

Dominus wrote:Correct me if I'm wrong but isn't it as painful to merge a branch into a new svn rebase as correcting a patch? The only (but important ;)) upside to this is that the branch is version controlled.
And yes, it shouldn't be painful to do a svn rebase on a git fork.

But note the silence of the developers... let them use what they are comfortable with and best work around it, in time change will come, I guess. Applying pressure probably doesn't help.

All good points Dominus.

Yes; Git eases that pain when you're maintaining long lived feature branches, such as is the case for many patches that have been born and bit rotted as attachments in the vogons forums once the effort has expended the developer's patience.

I do want to say I don't think anyone is trying to apply pressure - more so just make technical points (at least many of the posts I'm seeing here) from a community of people who might eventually or already contribute in some capacity to DOSBox. The lower that barrier the better :-)
User avatar
krcroft
Member
 
Posts: 319
Joined: 2017-4-29 @ 15:07
Location: Ogden's Retreat

Re: DOSBox on git?

Postby krcroft » 2019-4-18 @ 20:14

fr500 wrote:Sure go ahead, just note, the branches are all LIBRETRO oriented so far.

My approach is keep the changes on top, then it's easy to rebase.
Pair that with git rerere and rebasing becomes a breeze.
https://git-scm.com/docs/git-rerere

Actually now that you mention it, one thing I have been considering is adding an ECE branch, I like a lot of what's been done in ECE, but I think the lack of version control is problematic. So if you'd like that we could try to come up with something like that with some extra patches on top.

BTW, can't reply to PMs, too new :)


Perfect! And thank you for the rerere reference; first time I've heard of it.. it couldn't be more perfect: In a workflow employing relatively long lived topic branches, the developer sometimes needs to resolve the same conflicts over and over again[...] . I will certainly be putting this to good use.

Good point regarding ECE - I'll PM Yesterplay80; I'm not sure what he's using for CM behind the scenes, but maybe he's already a heavy user of git-rerere :-)
User avatar
krcroft
Member
 
Posts: 319
Joined: 2017-4-29 @ 15:07
Location: Ogden's Retreat

Re: DOSBox on git?

Postby gdjacobs » 2019-4-20 @ 03:23

Dominus wrote:Correct me if I'm wrong but isn't it as painful to merge a branch into a new svn rebase as correcting a patch? The only (but important ;)) upside to this is that the branch is version controlled.
And yes, it shouldn't be painful to do a svn rebase on a git fork.

But note the silence of the developers... let them use what they are comfortable with and best work around it, in time change will come, I guess. Applying pressure probably doesn't help.


Probably the best way to bring forward Git support for vanilla Dosbox is to identify work flows and features the devs use so you can smooth out issues with transition ahead of time. It'll go a ways to convincing them that the transition will be fairly unproblematic and decrease the likelihood of them being burned.
User avatar
gdjacobs
l33t++
 
Posts: 6578
Joined: 2015-11-03 @ 05:51
Location: The Great White North

Re: DOSBox on git?

Postby Madd the Sane » 2019-4-29 @ 02:40

I'll admit to using the svn2github fork on GitHub. One thing I didn't like about it was the lack of forks/tags. I ended up adding to the fork. It also was a good help with getting Boxer to 64-bit.
Madd the Sane
Newbie
 
Posts: 2
Joined: 2015-11-24 @ 22:29

Next

Return to DOSBox Development

Who is online

Users browsing this forum: No registered users and 4 guests