Bug 1118901

Summary: tag.sh should leave pulp, pulp_puppet, and pulp_rpm on the branch it found them on
Product: [Retired] Pulp Reporter: Brian Bouterse <bmbouter>
Component: z_otherAssignee: pulp-bugs
Status: CLOSED NOTABUG QA Contact: pulp-qe-list
Severity: low Docs Contact:
Priority: low    
Version: 2.4 BetaCC: bmbouter, cduryee, mhrivnak, rbarlow
Target Milestone: ---Keywords: Task, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-02-16 15:35:38 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Brian Bouterse 2014-07-11 20:49:37 UTC
Currently, tag.sh has a side effect where the branch it leaves your checkouts in is not the same branch your checkouts were in when it found them. This has a negative effect because typically after running tag.sh, you will start a non-scratch build using ./builder.py which assumes your checkouts are on the branch you want to build. This caused me to submit an old version to koji which failed.

expected behavior: I expect that after running tag.sh pulp, pulp_puppet, and pulp_rpm are all on the same branch they started on.

How to Reproduce:
1. checkout pulp, pulp_rpm, pulp_puppet in the same directory.
2. Switch all of them to the pulp-2.4 branch
3. Run the tagging script using `./pulp/tag.sh -ab pulp-2.4`
4. Answer Y when it asks if you want to ensure everything is on pulp-2.4
5. Answer Y to all commit questions
6. Observe tagging script finishes
7. Observe that the pulp, pulp_puppet, and pulp_rpm checkouts are all on master!

Comment 1 Randy Barlow 2014-11-20 13:28:09 UTC
Is this bug reproducible? I've never noticed tag.sh checking out master when I build before.

Comment 2 Brian Bouterse 2015-01-02 15:44:07 UTC
I bet this is reproducable, but since it auto pushes the tag to the real repos I didn't want to run it. The next time tag.sh is actually used it would be good to observe the branch result from the tag.sh script.

I read through tag.sh and it seems that it does 3 things for each root:

1. ensure the branch of interest is checked out with the latest
2. tag with tito
3. merge into the parent branch which defaults to master or the specified parent

It seems that the last thing tag.sh does is merge forward the branch into the parent. It's important to merge forward, but we do that anyway for all of our other commits. I figure tag.sh would just tag and make sure it tags the right thing and that is all.

Chris and Randy, do you think we should remove the merge forward step from tag.sh?

Comment 3 Randy Barlow 2015-02-16 15:12:49 UTC
Yeah, but I also think we should just remove tag.sh since we are moving away from lock stepping our repos.

Comment 4 Brian Bouterse 2015-02-16 15:35:38 UTC
tag.sh is going to be removed soon (likely this sprint). This bug should no longer even be relevant.