One of the places where it gets hard/complicated/annoying to use our workflow is if you have multiple dependent changes. I have a technique I use, that I will present below.
The situation: You have two patches in a stack. There is a bug in the first patchset that you need to fix.
The simple play: Checkout the patchset with 'git review -d <review number>', ammend and git-review. The problem with this is that now you need to go rebase all dependent patchsets against this new review. Sometimes you can get away with using the 'rebase' button but sometimes you cannot.
What I do: I use 'git rebase -i HEAD~2' and use 'edit' to change the commit that needs to be changed, rebase goes ahead and auto-rebases everything above it (pausing if needed for me to fix things), then I can 'git review' and it will update all the patchsets that need to be changed.
This approach works for any sized stack, but using it on a two-stack is the simplest example that works.
The git log before we start:
commit e394aba4321f6d30131793e69a4f14b011ce5560 Author: Spencer Krum <nibz@spencerkrum.com> Date: Wed May 6 15:43:27 2015 -0700 Move afs servers to using o_p::template This is part of a multi-stage process to merge o_p::server and o_p::template. Change-Id: I3bd3242a26fe701741a7784ae4e10e4183be17cf commit 3e592608b4d369576b88793377151b7bfaacd872 Author: Spencer Krum <nibz@spencerkrum.com> Date: Wed May 6 15:38:23 2015 -0700 Add the ability for template to manage exim Managing exim is the one thing sever can do that template cannot. This is part of a multi stage process for merging server and template. Change-Id: I354da6b5d489669b6a2fb4ae4a4a64c2d363b758
Note that we have two commits and they depend on each other. The bug is in 3e592608b4d369576b88793377151b7bfaacd872. We start the interactive rebase below, first with a vim session then with output on the command line. The vim session:
$ git rebase -i HEAD~2 1 e 3e59260 Add the ability for template to manage exim 2 pick e394aba Move afs servers to using o_p::template 3 4 # Rebase af02d02..e394aba onto af02d02 5 # 6 # Commands: 7 # p, pick = use commit 8 # r, reword = use commit, but edit the commit message 9 # e, edit = use commit, but stop for amending 10 # s, squash = use commit, but meld into previous commit 11 # f, fixup = like "squash", but discard this commit's log message 12 # x, exec = run command (the rest of the line) using shell 13 # 14 # These lines can be re-ordered; they are executed from top to bottom. 15 # 16 # If you remove a line here THAT COMMIT WILL BE LOST. 17 # 18 # However, if you remove everything, the rebase will be aborted. 19 # 20 # Note that empty commits are commented out
Note that the 'top' commit in the rebase view is the 'bottom' commit in the git log view, because git is stupid. We change the 'pick' to 'e' for 'edit' meaning stop at that point for ammending. And the shell output:
Stopped at 3e592608b4d369576b88793377151b7bfaacd872... Add the ability for template to manage exim You can amend the commit now, with git commit --amend Once you are satisfied with your changes, run git rebase --continue (master|REBASE-i 1/2)$: git st rebase in progress; onto af02d02 You are currently editing a commit while rebasing branch 'master' on 'af02d02'. (use "git commit --amend" to amend the current commit) (use "git rebase --continue" once you are satisfied with your changes) nothing to commit, working directory clean
Then we make changes to modules/openstack_project/manifests/template.pp (not shown) and continue the rebase:
(master *|REBASE-i 1/2)$: git st rebase in progress; onto af02d02 You are currently editing a commit while rebasing branch 'master' on 'af02d02'. (use "git commit --amend" to amend the current commit) (use "git rebase --continue" once you are satisfied with your changes)
Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: modules/openstack_project/manifests/template.pp
no changes added to commit (use "git add" and/or "git commit -a")
(master *|REBASE-i 1/2)$: git add modules/openstack_project/manifests/template.pp (master +|REBASE-i 1/2)$: git rebase --continue [detached HEAD 6ca26e9] Add the ability for template to manage exim 1 file changed, 7 insertions(+) Successfully rebased and updated refs/heads/master.Then we publish our changes with git-review:
(master u+2)$: git review You are about to submit multiple commits. This is expected if you are submitting a commit that is dependent on one or more in-review commits. Otherwise you should consider squashing your changes into one commit before submitting. The outstanding commits are: 2bc78a8 (HEAD, master) Move afs servers to using o_p::template 6ca26e9 Add the ability for template to manage exim Do you really want to submit the above commits? Type 'yes' to confirm, other to cancel: yes remote: Resolving deltas: 100% (4/4) remote: Processing changes: updated: 2, refs: 2, done To ssh://krum-spencer@review.openstack.org:29418/openstack-infra/system-config.git * [new branch] HEAD -> refs/publish/masterWith that we have changed a commit deep in the stack, rebased any commits above it, and published our changes to the gerrit server.
I read this it's really good and I have learn something from this blog, please keep share more content on msbi online course bangalore
ReplyDeleteNice blog it is informative thank you for sharing iOS Online Course Bangalore
ReplyDeleteReally you have done great job,There are may person searching about that now they will find enough resources by your post
ReplyDeleteClick here:
angularjs Training in online
Click here:
angularjs training in annanagar
It is amazing and wonderful to visit your site.Thanks for sharing this information,this is useful to me...
ReplyDeleteClick here:
Microsoft azure training in chennai
Click here:
Microsoft azure training in online
I simply wanted to write down a quick word to say thanks to you for those wonderful tips and hints you are showing on this site.
ReplyDeleteBlueprism training in annanagar
Blueprism training in velachery
Blueprism training in marathahalli
AWS Training in chennai
AWS Training in bangalore
Great Article… I love to read your articles because your writing style is too good, its is very very helpful for all of us and I never get bored while reading your article because, they are becomes a more and more interesting from the starting lines until the end.
ReplyDeletebest rpa training in chennai |
rpa training in chennai |
rpa training in bangalore
rpa training in pune | rpa online training
I found your blog while searching for the updates, I am happy to be here. Very useful content and also easily understandable providing.. Believe me I did wrote an post about tutorials for beginners with reference of your blog.
ReplyDeleteData Science Training in Chennai | Data Science course in anna nagar
Data Science course in chennai | Data science course in Bangalore
Data Science course in marathahalli | Data Science course in btm
Really very nice blog information for this one and more technical skills are improve,i like that kind of post.
ReplyDeleteangularjs-Training in chennai
angularjs Training in chennai
angularjs-Training in tambaram
angularjs-Training in sholinganallur
angularjs-Training in velachery
angularjs Training in bangalore
Informative post, thanks for sharing.
ReplyDeleteAzure Training in Chennai
Azure Training center in Chennai
Azure course in Chennai
Best AWS Training in Chennai
AWS Certification in Chennai
RPA courses in Chennai
This was helpful to me thanks for sharing this useful information. Kindly continue the work.
ReplyDeleteFrench Class in Mulund
French Coaching in Mulund
French Classes in Mulund East
French Language Classes in Mulund
French Training in Mulund
French Coaching Classes in Mulund
French Classes in Mulund West
Amazing Post . Thanks for sharing. Your style of writing is very unique. Pls keep on updating.
ReplyDeleteSpoken English Classes in Chennai
Best Spoken English Classes in Chennai
Spoken English Class in Chennai
Spoken English in Chennai
Best Spoken English Class in Chennai
English Coaching Classes in Chennai
Thanks for sharing,this blog makes me to learn new thinks.
ReplyDeleteinteresting to read and understand.keep updating it.
Article submission sites
Education
Nice article I was really impressed by seeing this blog, it was very interesting and it is very useful for me.
ReplyDeleteJavascript Training in Bangalore
Java script Training in Bangalore
Best Institute For Java Course in Bangalore
Java Training Classes in Bangalore
ReplyDeleteI feeling very good to read your blog. Thanks to you for your posting such a great think. I like to more ideas from your blog.
CCNA Training in Bangalore
CCNA Course in Bangalore
CCNA Institute in Bangalore
CCNA Training Center in Bangalore
CCNA Training in Tnagar
CCNA Course in Vadapalani
such an effective blog you are posted.this blog is full of innovative ideas and i really like your information's. i expect more ideas from your site please add more details in future.
ReplyDeleteangularjs tutorial in bangalore
angularjs institutes in bangalore
Angular JS Training courses near me
AngularJS Training in Amjikarai
Pretty blog, so many ideas in a single site, thanks for the informative article, keep updating more article.
ReplyDeleteBest institute for Cloud computing in Chennai
Cloud computing Training Chennai
Cloud computing Training centers in Chennai
Salesforce Course in Chennai
Salesforce developer training in chennai
Salesforce Course
It was very great idea!!! Your post is too good and very helpful for improve myself. Keep going...
ReplyDeleteDigital Marketing Training in Tnagar
Digital Marketing Training in Velachery
Digital Marketing Classes near me
Digital Marketing Course in Omr
Digital Marketing Training in Kandanchavadi
Digital Marketing Training in Sholinganallur
thanks for posting very useful
ReplyDeletemicrosoft certification training in chennai
Your writing is very unique. Amazing post. It is very informative. Thanks for sharing.
ReplyDeleteInformatica Training in Chennai
Informatica Training Center Chennai
Informatica institutes in Chennai
Informatica courses in Chennai
Informatica Training
Informatica Training in Tnagar
After seeing your article I want to say that the presentation is very good and also a well-written article with some very good information which is very useful for the readers....thanks for sharing it and do share more posts like this.
ReplyDeleteMicrosoft Azure online training
Selenium online training
Java online training
Python online training
uipath online training
Great content. Wonderful way of writing. Your style is very unique. Waiting for your future posts.
ReplyDeleteIoT courses in Chennai
IoT Courses
Internet of Things Training in Chennai
Internet of Things Training
Internet of Things Course
IoT Training in Tambaram
IoT Training in OMR
nice message thanks for sharing this information
ReplyDeleteselenium training in omr
best hadoop training in chennai
selenium training in chennai
best hadoop training in omr
angularjs training in chennai
aws training in sholinganallur
best angularjs training in chennai
Hi,
ReplyDeleteBest article, very useful and well explanation. Your post is extremely incredible.Good job & thank you very much for the new information, i learned something new. Very well written. It was sooo good to read and usefull to improve knowledge. Who want to learn this information most helpful. One who wanted to learn this technology IT employees will always suggest you take Python Training Institutes In Btm.
Very good blog with lots of useful information about amazon web services concepts.
ReplyDeleteAWS Training in Chennai | AWS Training Institute in Chennai | AWS Training Center in Chennai | Best AWS Training in Chennai
Really informative...
ReplyDeleteinterview-questions/aptitude/permutation-and-combination/how-many-groups-of-6-persons-can-be-formed
tutorials/oracle/oracle-delete
technology/chrome-flags-complete-guide-enhance-browsing-experience/
interview-questions/aptitude/time-and-work/a-alone-can-do-1-4-of-the-work-in-2-days
interview-questions/programming/recursion-and-iteration/integer-a-40-b-35-c-20-d-10-comment-about-the-output-of-the-following-two-statements
Hey Nice Blog!! Thanks For Sharing!!! Wonderful blog & good post. It is really very helpful to me, waiting for a more new post. Keep Blogging ! Here is the best angularjs online training with free Bundle videos .
ReplyDeletecontact No :- 9885022027.
SVR Technologies
ReplyDeleteThanks for sharing,great and informative content.Its one on the best resource and written very well.Keep posting
Python Training Institute In Bangalore
nice blogsss...!
ReplyDeletedominican republic web hosting
iran hosting
palestinian territory web hosting
panama web hosting
syria hosting
services hosting
afghanistan shared web hosting
andorra web hosting
belarus web hosting
nice blogss...!
ReplyDeletebrunei darussalam hosting
inplant training in chennai
nice
ReplyDeletebrunei darussalam web hosting
costa rica web hosting
costa rica web hosting
hong kong web hosting
jordan web hosting
turkey web hosting
good
ReplyDeletegibraltar web hosting
iceland web hosting
lebanon web hosting
lithuania shared web hosting
inplant training in chennai
Excellent post..
ReplyDeleteAustralia hosting
Bermuda web hosting
Botswana hosting
mexico web hosting
moldova web hosting
albania web hosting
andorra hosting
armenia web hosting
australia web hosting
excellent...
ReplyDeleteafghanistan hosting
angola hosting
afghanistan web hosting
bahrain web hosting
belize web hosting
india shared web hosting
Very useful post...
ReplyDeletepython training in chennai
internships in hyderabad for cse 2nd year students
online inplant training
internships for aeronautical engineering students
kaashiv infotech internship review
report of summer internship in c++
cse internships in hyderabad
python internship
internship for civil engineering students in chennai
robotics course in chennai
very good...
ReplyDeleteinternship report on python
free internship in chennai for ece students
free internship for bca
internship for computer science engineering students in india
internships in hyderabad for cse students 2018
electrical companies in hyderabad for internship
internships in chennai for cse students 2019
internships for ece students
inplant training in tcs chennai
internship at chennai
Awesome...
ReplyDeleteinternship report on python
free internship in chennai for ece students
free internship for bca
internship for computer science engineering students in india
internships in hyderabad for cse students 2018
electrical companies in hyderabad for internship
internships in chennai for cse students 2019
internships for ece students
inplant training in tcs chennai
internship at chennai
Aamzing Post
ReplyDeleteSAP Training in Chennai
Java Training in Chennai
CCNA Training in Chennai
Pearson Vue Exam Center in Chennai
QTP Training in Chennai
Selenium Training in Chennai
Hardware and Networking Training in Chennai
SAP ABAP Training in Chennai
SAP FICO Training in Chennai
AWS Training in Chennai
Wonderfull post.....
ReplyDeletecoronavirus update
inplant training in chennai
inplant training
inplant training in chennai for cse
inplant training in chennai for ece
inplant training in chennai for eee
inplant training in chennai for mechanical
internship in chennai
online internship
Very Nice Information...
ReplyDeleteCoronavirus Update
Intern Ship In Chennai
Inplant Training In Chennai
Internship For CSE Students
Online Internships
Internship For MBA Students
ITO Internship
Exelent information
ReplyDeleteIntern Ship In Chennai
Inplant Training In Chennai
Internship For CSE Students
Coronavirus Update
Online Internships
Internship For MBA Students
ITO Internship
Thanks for sharing useful information. I learned something new from your bog. Its very interesting and informative. keep updating. If you are looking for any Python programming related information
ReplyDeleteOracle Training | Online Course | Certification in chennai | Oracle Training | Online Course | Certification in bangalore | Oracle Training | Online Course | Certification in hyderabad | Oracle Training | Online Course | Certification in pune | Oracle Training | Online Course | Certification in coimbatore
EN SON ÇIKAN PERDE MODELLERİ
ReplyDeleteSMS ONAY
mobil ödeme bozdurma
nft nasıl alınır
ankara evden eve nakliyat
trafik sigortası
dedektör
web sitesi kurma
aşk kitapları
SMM PANEL
ReplyDeleteSmm panel
İş İlanları Blog
İNSTAGRAM TAKİPÇİ SATIN AL
hirdavatciburada.com
Https://www.beyazesyateknikservisi.com.tr
Servis
JETON HİLE İNDİR