
Hi, Every time we fetch the main GHC repository, we get *a lot* of "wip/*" branches. That's a lot of noise, making the bash completion of "git checkout" pretty useless for instance:
git checkout <TAB> zsh: do you wish to see all 945 possibilities (329 lines)?
Unless I'm missing something, they seem to be used to: 1) get the CI run on personal branches (e.g. wip/USER/whatever) 2) share code between different people (SVN like) 3) archival of not worth merging but still worth keeping code (cf https://ghc.haskell.org/trac/ghc/wiki/ActiveBranches) Now that we have switched to Gitlab, can we keep the main repository clean of those branches? 1) The CI is run on user forks and on merge requests in Gitlab so we don't need this anymore 2 and 3) Can we have a Gitlab project ("ghc-wip" or something) that isn't protected and dedicated to this? The main project could be protected globally instead of per-branch so that only Ben and Marge could create release branches, merge, etc. Devs using wip branches would only have to add "ghc-wip" as an additional remote repo. Any opinion on this? Thanks, Sylvain

Making `ghc-wip` sounds like a reasonable idea to me.
I have found that people pushing to the `wip/` branches makes things
much smoother so far as it means that I can rebase/finish/amend other
people's patches and just push to the same branch without having to
ask people to do annoying rebases etc.
Matt
On Tue, Feb 5, 2019 at 4:36 PM Sylvain Henry
Hi,
Every time we fetch the main GHC repository, we get *a lot* of "wip/*" branches. That's a lot of noise, making the bash completion of "git checkout" pretty useless for instance:
git checkout <TAB> zsh: do you wish to see all 945 possibilities (329 lines)?
Unless I'm missing something, they seem to be used to: 1) get the CI run on personal branches (e.g. wip/USER/whatever) 2) share code between different people (SVN like) 3) archival of not worth merging but still worth keeping code (cf https://ghc.haskell.org/trac/ghc/wiki/ActiveBranches)
Now that we have switched to Gitlab, can we keep the main repository clean of those branches? 1) The CI is run on user forks and on merge requests in Gitlab so we don't need this anymore 2 and 3) Can we have a Gitlab project ("ghc-wip" or something) that isn't protected and dedicated to this? The main project could be protected globally instead of per-branch so that only Ben and Marge could create release branches, merge, etc. Devs using wip branches would only have to add "ghc-wip" as an additional remote repo.
Any opinion on this?
Thanks, Sylvain
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Matthew Pickering
Making `ghc-wip` sounds like a reasonable idea to me.
I have found that people pushing to the `wip/` branches makes things much smoother so far as it means that I can rebase/finish/amend other people's patches and just push to the same branch without having to ask people to do annoying rebases etc.
Right, this is a significant advantage of keeping WIP branches in the ghc repo. I agree that we should clear out some of the older, non-archival wip/ branches. One unfortunate side-effect of keeping WIP work in forks is that GitLab will not show the user that the branch has a corresponding MR when viewing its commit list. For instance if you look at [1] (a branch in the primary GHC repository associated with !298) GitLab will note the fact that the branch has an MR open with the "View open merge request" button on the top right of the page. However if we look at [2] (in osa1's fork, associated with !299) we see no such indication. Cheers, - Ben [1] https://gitlab.haskell.org/ghc/ghc/commits/wip/nonmoving-gc

| One unfortunate side-effect of keeping WIP work in forks is that GitLab
| will not show the user that the branch has a corresponding MR when
| viewing its commit list. For instance if you look at [1] (a branch in
| the primary GHC repository associated with !298) GitLab will note the
| fact that the branch has an MR open with the "View open merge request"
| button on the top right of the page. However if we look at [2] (in
| osa1's fork, associated with !299) we see no such indication.
This is quite important (to me). On several occasions already I have asked myself "have I opened a MR for this wip/ branch, and if so which MR?". There really should be a way to answer that question.
Simon
| -----Original Message-----
| From: ghc-devs
participants (4)
-
Ben Gamari
-
Matthew Pickering
-
Simon Peyton Jones
-
Sylvain Henry