Hi Jason, Our overall goal is to merge our changes into master, and we already keep our branches synced with master weekly. The basic idea here is to be able to iterate on code in the public, collaborate with users in the public, and release it earlier without having to go through the full review process. Hopefully users will find the "pre-production" code useful, and maybe even help contribute. This is our flow currently, but it's all done internally. And it doesn't have to be branches, based on Andreas' reply I think a separate AMD repo will serve just fine.
Thanks, Tony -----Original Message----- From: gem5-dev [mailto:[email protected]] On Behalf Of Jason Lowe-Power Sent: Thursday, December 14, 2017 9:58 AM To: gem5 Developer List <[email protected]> Subject: Re: [gem5-dev] Using branching in gem5 public Hey Tony, A few thoughts: I think it's a good idea to post pre-production code publicly. This gives other developers a chance to see and comment on the design (well, it *could*), and, more importantly, it gives users access to new features quickly. There is one potential downside to the above: Less motivation to clean up code and push it into the mainline. I don't know how large of a downside this is, but from my personal experience with gem5-gpu, it's likely to happen. Merging gem5-gpu with mainline gem5 is *a lot* of work, and since we published our gem5 changes in another repo we never felt the need to undertake it. This was bad for the long-term viability of gem5-gpu and gem5-gpu's users. As far as specifically branches go, I think I would prefer to see separate repos like the arm/gem5 repo (or my github repo). I worry about two things when bringing branches into public/gem5. 1. We will have too many branches and it will be difficult to manage 2. Configuring gerrit so code-review is only required on master and whenever others post changes to any other branch no one gets emailed. The second concern may be solvable (I have no idea), and the first concern may not be warranted. I completely agree that branches are great (see my github repo, for instance. I have 10-20 branches personally). However, one thing I have discovered is that when working in a group you have to be *very* careful about how branches are managed across the group (e.g., when and who is allowed to rebase). I think using separate repositories gives most of the benefits of branches (simple to pull changes from others and see others work, better organization, etc) without the downsides. I'm open to other points of view, of course! Cheers, Jason On Thu, Dec 14, 2017 at 8:30 AM Gutierrez, Anthony < [email protected]> wrote: > Hi All, > > I have a question about using branches in the mainline gem5 repo. I > see ARM have a separate repo here: > https://gem5-review.googlesource.com/admin/projects/arm/gem5. It is > used for staging ARM features under development. At AMD we would like > to do something similar, as we have some significant changes to the > GPU model we would like to push out to the public. We were thinking > about doing so with branches, and were wondering what others thought > about branches? I'm sure it's been discussed somewhat in the past, but > I can't find much searching through old posts. > > What I was thinking would be to have institutional branches, like AMD > or ARM branches, and perhaps users from those institutions who are > also gem5 maintainers could have user specific branches. We use > branches a lot internally and find them extremely useful. So I'd like > to get a better idea why there is an aversion to using branches on the > public tree, if there is such an aversion. > > -Tony > _______________________________________________ > gem5-dev mailing list > [email protected] > http://m5sim.org/mailman/listinfo/gem5-dev _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
