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 <
anthony.gutier...@amd.com> 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
> gem5-dev@gem5.org
> http://m5sim.org/mailman/listinfo/gem5-dev
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to