Private/public branches/repos workflow

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello list,

I have an application that lives in a git tree. That application is a
commercial product, but we have decided to dual-licence it and release
an open-source version of it, along with all further commits to it.
Preparatory work for this has been done, and I now have two (let's
ignore the other) branches in my git tree, 'public' and 'private'.

The problem is, I cannot simply push the public branch on a public
repository, because the history contains a lot of stuff that are not
to be publicly released.

I thought I could squash all commits on that 'public' branch for the
initial public release and resume working from there, keeping the
ability to happily merge subsequent commits between 'public' and
'private', but this does not work: I am always left with the initial
commit of my whole tree (which unfortunately is not releasable) and
the big sqashed commit.

So what we did for now is to create a new git tree completely from
scratch, containing only the public code tree. However, I am afraid
this will lead to a nightmarish workflow, as it involves me working on
our internal tree 'public'/'private' branches, and from there,
replicate the commits to my internal 'public' branch to that published
repository. As pushing/pulling there results in having all the history
committed back to the published repo, I must resort to either having
to cherry pick all those commits one by one, or manually apply them to
the published repo. Maintenance hell.

Is there any recommended workflow to achieve the result I am looking
for ? How are other people doing it ?

Best Regards,
-- 
Jérôme Martin
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]