I have some difficulty understanding the perceived difference in workflow, so I'd like to get some input on where my line of thinking and reality differ :-)
The following example deals with clones of a repository and the revision of HEAD in the master branch. Example: akonadiclient, three developers (Bhaskar, Jonathan, Kevin). Repo: revision of HEAD@master 1) Initial situation git.kde.org: acbd Bhaskar: abcd Jonathan: abcd Kevin: abcd 2) Kevin creates a patch git.kde.org: acbd Bhaskar: abcd Jonathan: abcd Kevin: ghij 3) Patch goes to reviewboard git.kde.org: acbd Bhaskar: abcd Jonathan: abcd Kevin: ghij 4) Patch is reviewed and gets "Ship it". Kevin pushes to git.kde.org git.kde.org: ghij Bhaskar: abcd Jonathan: abcd Kevin: ghij 5) The other developers update git.kde.org: ghij Bhaskar: ghij Jonathan: ghij Kevin: ghij 6) KDE gets a github mirror git.kde.org: ghij github: ghij Bhaskar: ghij Jonathan: ghij Kevin: ghij 7) A new developer, Fred, clones on github git.kde.org: ghij github: ghij Fred's clone: ghij Bhaskar: ghij Jonathan: ghij Kevin: ghij 8) Fred creates a patch git.kde.org: ghij github: ghij Fred's clone: ghij Bhaskar: ghij Jonathan: ghij Kevin: ghij Fred: klmn 9) Fred pushes to his clone git.kde.org: ghij github: ghij Fred's clone: klmn Bhaskar: ghij Jonathan: ghij Kevin: ghij Fred: klmn 10) Fred makes a pull request git.kde.org: ghij github: ghij Fred's clone: klmn Bhaskar: ghij Jonathan: ghij Kevin: ghij Fred: klmn Ok, now my understanding is there are two options: (a) someone pulls from Fred's clone (b) there is a merge option on GitHub 11a) Kevin pulls from Fred's clone git.kde.org: ghij github: ghij Fred's clone: klmn Bhaskar: ghij Jonathan: ghij Kevin: klmn Fred: klmn 12a) Kevin puts Fred's patch up on review, pushes it to git.kde.org once it gets "Ship it" git.kde.org: klmn github: klmn Fred's clone: klmn Bhaskar: ghij Jonathan: ghij Kevin: klmn Fred: klmn 11b) Kevin used the merge option on github git.kde.org: ghij github: klmn Fred's clone: klmn Bhaskar: ghij Jonathan: ghij Kevin: ghij Fred: klmn 12b) Kevin pulls from github git.kde.org: ghij github: klmn Fred's clone: klmn Bhaskar: ghij Jonathan: ghij Kevin: klmn Fred: klmn 13b) Kevin puts the patch of for review, pushes to git.kde.org when it gets "Ship it" git.kde.org: klmn github: klmn Fred's clone: klmn Bhaskar: ghij Jonathan: ghij Kevin: klmn Fred: klmn So (a) and (b) workflows differ in that in (a) github mirror and git.kde.org have the same state, while in (b) the mirror is for a period of time not actually a mirror, but "ahead". Where "ahead" could also mean wrong if "klmn" needs to be modified or gets rejected. Is (b) the problem people keep discussing about? Because as far as I can tell it is not really an option given that it can lead to an inconsistent state of two clone sources that are considered to be mirrored. If the problem is somewhere in (a), where is it? Cheers, Kevin -- Kevin Krammer, KDE developer, xdg-utils developer KDE user support, developer mentoring
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ kde-community mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-community
