Skip to content

Merge RC to master detailed log of actions

Nikolaj Ivancic edited this page Mar 3, 2016 · 2 revisions

Using Merging release candidate into master article as guidance.

While having all of my local repositories in C:\work\aurelia-ui-toolkits\KendoUI\, I created a child folder C:\work\aurelia-ui-toolkits\KendoUI\merging to do all merging actions without effecting my local repos.


Step 1

Build a local clone of the repo:

git clone https://github.com/aurelia-ui-toolkits/aurelia-kendoui-bridge.git

λ git clone https://github.com/aurelia-ui-toolkits/aurelia-kendoui-bridge.git
Cloning into 'aurelia-kendoui-bridge'...
remote: Counting objects: 12755, done.
remote: Compressing objects: 100% (112/112), done.
remote: Total 12755 (delta 47), reused 0 (delta 0), pack-reused 12641
Receiving objects: 100% (12755/12755), 18.08 MiB | 2.26 MiB/s, done.
Resolving deltas: 100% (8423/8423), done.
Checking connectivity... done.
Checking out files: 100% (2159/2159), done.

then

C:\work\aurelia-ui-toolkits\KendoUI\merging
λ cd aurelia-kendoui-bridge & git remote -v
origin  https://github.com/aurelia-ui-toolkits/aurelia-kendoui-bridge.git (fetch)
origin  https://github.com/aurelia-ui-toolkits/aurelia-kendoui-bridge.git (push)

Step 2

Pull the branch you want to merge into master, 0.4.0 in this example:

λ git branch --track 0.4.0 origin/0.4.0
Branch 0.4.0 set up to track remote branch 0.4.0 from origin.

verification

λ git branch
  0.4.0
* master

Step 3

Merge the local branch 0.4.0 into the local branch master`:

λ git merge 0.4.0
Removing src/listview/k-list-template.js
Removing src/listview/k-list-edit-template.js
Auto-merging src/config-builder.js
CONFLICT (content): Merge conflict in src/config-builder.js
Removing sample/src/test/virtualization-grid.js
Removing sample/src/test/virtualization-grid.html
Removing sample/src/test/index.js
Removing sample/src/test/all-controls.js
Removing sample/src/test/all-controls.html
Automatic merge failed; fix conflicts and then commit the result.

As automatic merge failed (Automatic merge failed; fix conflicts and then commit the result.), in config-builder.js we need to resolve this conflict (using the editor - the classic solution for this situation)

image

The resolution is simple -- all entries shown above belong to Kendo PRO:

image

At this point, we need to run the "standard" build command sequence

npm install & jspm install & cd sample & jspm install

followed by

cd .. & gulp watch

to verify that the conflict was successfully resolved (it was :-)


At this point we need to commit the corrected config-builder.js file - and since we are in the midst of a merge workflow , we cannot simply say commit config-builder.js -m "resolved conflict".

Git recommends to run commit -a command instead - which got me stopped dead as the commit invoked the dreaded VI editor and I am not sure how to handle this situation.

Note: I believe that the VI editor was invoked because it is defined as the default editor somewhere in my local Git configuration. This needs to be changed

image

There is likely a way to ask git to engage my Sublime editor - but I want this to be correctly fixed first


Step 4

Push your master branch to the central repo on GitHub

This task was "sketchy" as when I exited the above shown VI editor (issuing :q, while I **should have issued:s instead, since the commit message was correctly suggested (top of the last image in the previous section above).

So, I finished this merge by

git add -A

which should follow by git commit -m "merge 0.4.0". When I did that - got

λ git commit -m "Merged 0.4.0"
On branch master
Your branch is ahead of 'origin/master' by 17 commits.
  (use "git push" to publish your local commits)

nothing to commit, working directory clean

I do not understand what is going on here - other than to conclude that the merge that ended with VI editor has already committed everything ???

So I finally did

λ git push origin master
Username for 'https://github.com': adriatic
Password for 'https://[email protected]':
Counting objects: 30, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 499 bytes | 0 bytes/s, done.
Total 4 (delta 3), reused 0 (delta 0)
To https://github.com/aurelia-ui-toolkits/aurelia-kendoui-bridge.git
   cbe677c..1ccae44  master -> master

and everything seems to be correct on the remote master