From: development-bounces+ext-sami.1.rosendahl=nokia....@qt-project.org 
[development-bounces+ext-sami.1.rosendahl=nokia....@qt-project.org] on behalf 
of Rosendahl Sami.1 (EXT-Reaktor/Helsinki)
Sent: Tuesday, January 17, 2012 10:35 AM
To: [email protected]
Subject: [Development] Instructions how to set up cherry-picking between Qt5 
and Qt4 repositories?

Hi

I am backporting fixes I have pushed to Qt5 to Qt4.8 now that 4.8 is available 
in gerrit. I got comments to my Qt4.8 patches that I should preferably 
cherry-pick the Qt5 commits to Qt4. I do not know how to set up my environment 
to enable the cherry-picking because of the separate Qt5 and Qt4.x repositories 
and their different directory structures.

I found the tool qtrepotools/bin/git-qt-cherry-pick in Qt5 repository, but have 
not been able to figure out how to use it or how to set up the repositories to 
enable its use. Lacking the cherry-picking capability I have moved commits 
between Qt5 and 4.x using git format-patch & apply and have edited the paths in 
the patches to match the target repo.

Any help or instructions for setting up cherry-picking would be much 
appreciated.

Regards,
Sami R
________________________________
(Apologies for possibly weird message formatting, using a webmail client)

Was able to figure something out:
- git-qt-cherry-pick seems to prefer that the Qt4.x and Qt5 repository 
directories are siblings in the same directory and the Qt5 path (looking from 
the Qt4.x repository path) is ../qt5
- The <repo> in the script usage means the base name of a Qt5 subrepository 
(e.g. 'qtbase')

Alas, the script still fails:
$ ../qt5/qtrepotools/bin/git-qt-cherry-pick -l qtbase 
b851c764a61c0de781ef3447230a0a6a3f4a0ed9
Porting from qt5/qtbase to qt
Other path is ../qt5/qtbase
Applying: Fix stack overwrite in QDBusDemarshaller
fatal: sha1 information is lacking or useless 
(tests/auto/dbus/qdbusmarshall/tst_qdbusmarshall.cpp).
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 Fix stack overwrite in QDBusDemarshaller
When you have resolved this problem run "git am --resolved".
If you would prefer to skip this patch, instead run "git am --skip".
To restore the original branch and stop patching run "git am --abort".
Aborting at b851c764a61c0de781ef3447230a0a6a3f4a0ed9
$

I am assuming that the message "Repository lacks necessary blobs to fall back 
on 3-way merge." may be related to the note "it's strongly recommended to have 
linked object stores between the repositories to enable 3-way merges." in this 
announcement about qt-cherry-pick I was able to find: 
http://lists.qt-project.org/pipermail/development/2011-November/000483.html.

I don't know how to set up "linked object stores between the repositories". I 
did set up the Git Grafts as instructed in the Qt5 README, but that did not 
help with the git-qt-cherry-pick.

Sami R
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to