UVM bug blits push/merge policy

80 views
Skip to first unread message

Tudor Timi

unread,
Mar 8, 2015, 2:53:59 PM3/8/15
to freec...@googlegroups.com
I think it's time to discuss about a strategy on how to contribute. This means choosing a boss and setting up the repository. As I've already said, I already have a fix I want to push. I'm looking forward to your input.

neil johnson

unread,
Mar 8, 2015, 3:59:58 PM3/8/15
to Tudor Timi, freecellera
agreed. I'm good to help with mechanics, setting up any unit test
templates we want and stuff like that. but as far as how to manage
several people from far and wide contributing to the same code base,
approving/integrating/keeping everything sane, I'm hoping others have
some decent suggestions.

-neil
> --
> You received this message because you are subscribed to the Google Groups
> "Freecellera" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to freecellera...@googlegroups.com.
> To post to this group, send email to freec...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/freecellera/872dcde0-9f5a-4bbd-8c78-7a4ab42238f4%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Erik Jessen

unread,
Mar 8, 2015, 6:04:34 PM3/8/15
to Tudor Timi, freecellera
I'll go with whatever people decide on.  I'm not a sophisticated user of git, etc.

On Sun, Mar 8, 2015 at 11:53 AM, Tudor Timi <tudor...@gmail.com> wrote:
I think it's time to discuss about a strategy on how to contribute. This means choosing a boss and setting up the repository. As I've already said, I already have a fix I want to push. I'm looking forward to your input.

--

Tudor Timi

unread,
Mar 9, 2015, 6:11:59 PM3/9/15
to freec...@googlegroups.com, tudor...@gmail.com
My proposal would be:

- choose boss(es) that handle reviewing and pulling

- open a Git issue on our repo for the Mantis item before doing any work
  * naturally, check that no one else is working on the same item by doing a search beforehand
  * to facilitate searching, name the issues [Mantis <issue_number>] <issue title>, where <issue_number> and <issue title> are taken from the eda.org Mantis database. An example of our first issue is here: https://github.com/Freecellera/freecellera-uvm/issues/1

- I like the idea of the "fork and pull" model, where everyone is allowed to push changes to their own private fork and the boss can then pull the changes into the repository. The steps for this approach would be the following:
  * fork the repository
  * make changes - including unit tests!!!
  * commit changes
  * push changes to own fork
  * make pull request on main repository
  * I've made a sample pull request here: https://github.com/Freecellera/freecellera-uvm/pull/2

- once a pull request comes, the boss reviews it
  * does it come with tests? are the tests good enough?
  * code review?

- if a pull request is successful the boss pulls it to the branch uvm_bug_blitz0 (or 1 :D)
  * the boss also closes the issue associated with the fix

- we celebrate

These are my thoughts. I'm looking forward to your opinions.

Puneet Goel

unread,
Mar 11, 2015, 12:22:45 AM3/11/15
to Tudor Timi, freecellera
Tudor

Looks good to me. The only change I would suggest is this:

1. Create a freecellera-uvm fork on your github account.
2. Clone the forked repo locally and make a separate branch for each bug you work on or each feature you implement.
3. Commit on the branch and push the branch to your forked github repo.
4. Create a pull request from the branch.

This way, even if your pull request gets rejected, you do not have to undo the changes on your forked repository. Also it helps you with the rebase process when required. Say pull requests from other developers are excepted even as you continue working on your bug-fix. If you are doing your bug-fix on a branch, it gives you an elbow room to pull the updated UVM in the master and rebase your bug-fix branch on the updated master HEAD.

Regards
- Puneet

Tudor Timi

unread,
Mar 11, 2015, 3:12:12 AM3/11/15
to freec...@googlegroups.com, tudor...@gmail.com
That's exactly what I thought after I wrote it. It gives the boss more granularity in choosing what to pull.

Tudor Timi

unread,
Mar 11, 2015, 4:07:23 PM3/11/15
to freec...@googlegroups.com, tudor...@gmail.com
I've done the change in a branch (as per Puneet's suggestion) and create a new pull request: https://github.com/Freecellera/freecellera-uvm/pull/3
I've also removed the extra comments in the unit tests (as per Chris's suggestion).

neil johnson

unread,
Mar 13, 2015, 11:14:28 AM3/13/15
to freec...@googlegroups.com, tudor...@gmail.com
tudor, I moved and updated the initial bug blitz proposal to http://freecellera.github.io/pages/uvm-bug-blitz.html. in there I linked to your example bug fix. I'd also like to link to the repository related how-to you have here. can you export the steps you have to the wiki so I can do that?

thanks!

-neil

Tudor Timi

unread,
Mar 17, 2015, 6:55:57 PM3/17/15
to freec...@googlegroups.com, tudor...@gmail.com
@Neil: I've updated the page with the steps to clone the repo, set up a branch and commit the changes.

Tudor Timi

unread,
Mar 17, 2015, 6:57:32 PM3/17/15
to freec...@googlegroups.com, tudor...@gmail.com
Also, anyone is welcome to edit the page if they find something wrong/missing (for example typos).

Erik Jessen

unread,
Mar 17, 2015, 7:54:21 PM3/17/15
to Tudor Timi, freecellera
OK, I'm officially lost - where's the detailed directions on setting up git, doing the checkout and how to do a change and a checkin?
I'm sorry - just kinds swamped right now for spending time trying to figure it all out from scratch.
Besides - if you want more people to participate - gotta lower the learning curve.

Just a thought: any way to get the attention of college students?  There may be those who don't get summer jobs, or who have gap between school and job, who wouldn't mind being able to point to some work that is publicly available and makes them stand out a bit.

Erik

neil johnson

unread,
Mar 17, 2015, 8:10:18 PM3/17/15
to Erik Jessen, Tudor Timi, freecellera
it's pretty close erik. maybe a couple things to clear up yet but if
you read through the steps, I think tudor answers most of what a
person needs to go start to finish.
> https://groups.google.com/d/msgid/freecellera/CAE9wy0JSpxSGdXVBW3OC%2BAHgrKGaVn2Dfi%3DuRGWQySY0R9mXgQ%40mail.gmail.com.

Bryan Murdock

unread,
Mar 17, 2015, 11:22:14 PM3/17/15
to Erik Jessen, Tudor Timi, freecellera
On Tue, Mar 17, 2015 at 5:54 PM, Erik Jessen <nbje...@gmail.com> wrote:
> OK, I'm officially lost - where's the detailed directions on setting up git,
> doing the checkout and how to do a change and a checkin?
> I'm sorry - just kinds swamped right now for spending time trying to figure
> it all out from scratch.
> Besides - if you want more people to participate - gotta lower the learning
> curve.
>
> Just a thought: any way to get the attention of college students? There may
> be those who don't get summer jobs, or who have gap between school and job,
> who wouldn't mind being able to point to some work that is publicly
> available and makes them stand out a bit.

This is the page they are referring to:

https://github.com/Freecellera/freecellera-uvm/wiki/UVM-Bug-Blitz---bug-fix-example

Bryan

Erik Jessen

unread,
Mar 17, 2015, 11:41:38 PM3/17/15
to Bryan Murdock, Tudor Timi, freecellera
Ah, thanks!  I was trying to figure that out!
(I'm so lost I couldn't find the map... LOL).

Erik Jessen

unread,
Mar 29, 2015, 7:00:26 PM3/29/15
to Bryan Murdock, Tudor Timi, freecellera
I'm using github for windows.
I successfully created a clone of the UVM repository, then downloaded it to my Windows 8.1 PC.

Since i'm using windows:
1) should i use Tortoisegit or github for windows?  I'm familiar with tortoisesvn.
2) what are the equivalent steps in the GUI tools to the command lines?
   ex: how does "git checkout -b <branch_name>" translate into tortoisegit GUI steps?

Thanks,
Erik
  



Tudor Timi

unread,
Mar 30, 2015, 4:51:32 AM3/30/15
to freec...@googlegroups.com, bmur...@gmail.com, tudor...@gmail.com
I also use Windows and what I installed was GitBash. It has a nice GUI, but also a command line. It's pretty easy to use. You can get it here: https://msysgit.github.io/
Reply all
Reply to author
Forward
0 new messages