[Server-devel] [XSCE] XSCE/xsce and activitycetral/dxs repository integration in a branch preserving history

Anish Mangal anish at activitycentral.com
Wed Oct 23 14:51:08 EDT 2013


I think this approach makes sense. As I understand it:

* We want to be good historians and follow the proper workflow, which also
implies that "master" should ideally never be broken.
* While we are switching to ansible, we do the switch *in a branch* called
dxs and *not master*
* All fixes and porting efforts happen on the dxs branch. This implies that
ALL pull requests must be created against xsce:dxs rather than xsce:master.
* Once the port is done, it is merged into master. All development happens
on master.

The risk we run is that the dxs branch will become the active branch being
worked upon. Which is non-ideal (All development must ideally happen
against master). So we have a couple of options:

a. Merge the dxs branch with the current set of dxs commits into master.
Follow all development there.
b. Set a hard deadline for merging dxs into master.

I think I like option a. better.
Option b. has the advantage of ensuring a working master.

Thoughts?

Regardless of which path we choose, it's a good idea to keep the dxs
history, and the dxs branch should be created (Steps 1. and 2. from
Miguel's email)

Anish



On Wed, Oct 23, 2013 at 9:28 AM, Miguel González <
migonzalvar at activitycentral.com> wrote:

> My suggestion to  integrate "activitycetral/dxs" into "XSCE/xsce"
> preserving history and using a branch for easier comparison is:
>
> 1. revert xsce/master to fa2d59,
> 2. create a 'dxs' branch
> 3. merge activitycentral/dxs commits to this new branch preserving history
>
> This new branch (XSCE/xsce at dxs) will be the canonical repository for the
> migration and everybody will pull request against this branch.
>
>
> Detailed procedure on a fresh repository
> ----
>
> 1. revert
>
> Clean repo:
> ```
> git clone git at github.com:XSCE/xsce.git
> cd xsce
> ```
>
> The actual revert:
> ```
> git revert -m 1 b1638cd --no-edit
> ```
>
> Submit changes:
> ```
> git push origin
> ```
>
> 2. create branch
>
> ```
> git branch dxs
> git checkout dxs
> git push origin dxs
> ```
>
> 3. merge
>
> Fetch dxs repository:
> ```
> git remote add dxs git at github.com:activitycentral/dxs
> git fetch dxs
> ```
>
> And now the critical part, the actual merge:
> ```
> git merge --no-ff -s recursive -X ours --no-edit dxs/master
> ```
>
> Push!
> ```
> git push origin dxs
> ````
>
> So, anyone with write permission on xsce can do this.
>
> You can check how would be the resulting repo in my personal clone copy in
> https://github.com/migonzalvar/xsce.
>
>
>
> --
> Miguel González
> Activity Central: http://www.activitycentral.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.laptop.org/pipermail/server-devel/attachments/20131023/8db39352/attachment.html>


More information about the Server-devel mailing list