git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jerome Martin <tramjoe.merin@gmail.com>
To: git@vger.kernel.org
Subject: Private/public branches/repos workflow
Date: Thu, 5 May 2011 17:16:34 +0200	[thread overview]
Message-ID: <BANLkTi=TLeePH0JDvnE0XPiCzXFxid9BWQ@mail.gmail.com> (raw)

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

             reply	other threads:[~2011-05-05 15:16 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-05 15:16 Jerome Martin [this message]
2011-05-05 15:35 ` Private/public branches/repos workflow Seth Robertson
2011-05-05 15:53   ` Jerome Martin
     [not found]   ` <BANLkTikFdV=nGW-L+3NVzP58uPiS5ui-9A@mail.gmail.com>
     [not found]     ` <201105052110.p45LAViP010495@no.baka.org>
2011-05-05 22:05       ` Jerome Martin
2011-05-05 18:14 ` Junio C Hamano
2011-05-05 20:43   ` Jerome Martin
2011-05-06  4:10     ` Junio C Hamano
2011-05-06  9:27       ` Jerome Martin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='BANLkTi=TLeePH0JDvnE0XPiCzXFxid9BWQ@mail.gmail.com' \
    --to=tramjoe.merin@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).