Change from tla to bzr
Szalay Attila
sasa at balabit.hu
Thu May 25 21:01:43 BST 2006
Hi All,
On Thu, 2006-05-25 at 14:33 -0500, John Arbash Meinel wrote:
> Szalay Attila wrote:
> > After some time every other
> > developer synchronise his/her own branch to mainline to pick up other
> > developers patches.
>
> Does it have to be 'cherrypicked'? It seems like you could just merge
> the changes.
Yes, it's just a simple merge.
>
> So you have 3 orthogonal patches, and then you want to cherry pick a new
> 4th patch. Is that correct?
No, it's not. I want to cherrypick the 1st _and_ the 4th without the 2nd
and the 3rd. But the problem is, that the 4th will conflict without 2
and 3. And because who pick to mainline is not a programmer, but who did
tha patch is, I want to solve this problem in the developer side.
Maybe I could write a small but clean example.
In mainline, there are one file, main.c:
-------------------------------------------------
void main(void)
{
}
-------------------------------------------------
In my dev branch I do change in this (correcting the argument of the
main function ) (revno: 1):
-------------------------------------------------
--- orig/main.c
+++ mod/main.c
@@ -1,3 +1,3 @@
-void main(void)
+int main(int argc, char **argv)
{
}
-------------------------------------------------
After this I do another patch, to print out something (revno: 2):
-------------------------------------------------
--- orig/main.c
+++ mod/main.c
@@ -1,3 +1,4 @@
int main(int argc, char **argv)
{
+ printf("Hello Word");
}
-------------------------------------------------
After this patch somebody try to test my revision 1, for cherrypicking
to mainline. But when he try it, he recognise that gcc complains that
int function without return value.
In this situation there are 3 possibility:
1. I do a third revision and fix it in it, but then that revision cannot
be picked without revision 2 (just if the conflict will be solved, but
that not an option, because the tester could not programming)
2. I walk to the tester and fix it in the picked patch
3. Somehow I insert a patch between revision 1 and revision 2.
With tla (and a python program had been written by ourselves) we can do
the third option. To do this, the syncing will be the third revision,
remerging the first revision will be the fifth (with the fix of the
return value) and the second revision remerge will be the sixth (with
conflict of course)
--
Szalay Attila BalaBit IT Biztonságtechnikai Kft.
tel:(36-1)-371-05-40 1116 Bp. Csurgoi ut 20/b
fax:(36-1)-208-08-75 http://www.balabit.hu/
More information about the bazaar
mailing list