On Sun, Mar 30, 2014 at 8:51 PM, Ryan Schmidt
<subversion-2014_at_ryandesign.com> wrote:
> I've been developing a new feature of a public project in secret, in my own private Subversion repository. It's almost entirely new code in a new directory. There's only one file that's based on an existing file, and it's been heavily rewritten.
>
> There will come a time when I will want to publish this new code to the project's public Subversion repository. At that time, I could export the code from my private repository and import it to the public one, but this would lose my history. Is there a way to preserve the history -- replay the revisions in order somehow? Other developers of this public project seem to be doing so, but I believe they are making their modifications locally in git clones of the public Subversion repository, and then using git-svn to later commit the revisions to the public Subversion repository. I have not used git-svn and am not comfortable using git which is why I did not attempt this method.
The git-svn toolkit actually works well for this. It's vital for
environments where you want to record changes locally and don't have
write access to the shared repository. I've been hesitant to mention
this sort of approach to avoid irritating our core Subversion
developers, but it's been invaluable to some of my work.
> My private repository is not an svnsync'd copy of the public repository; it's just an empty repository with my code in it. I don't have administrative access to the public repository so I cannot "svnadmin load" anything, nor would I want to import the revisions verbatim: for example, I would not want the original commit date and commit author to be preserved; the commit date should be the date when I publish to the public repository, and the author should be my id in the public repository, as with any other of my commits.
Well, I think your merge difficulty started right there. Can you
refactor the changes of your current file against the master
repository file, and isolate them to a set of well organized changes?
Then manually import those changes into a git-svn based repository?
Received on 2014-03-31 04:23:56 CEST