Hi Robert

Another approach may be to use "git subtree" based on the git-svn repo
from github.

I quickly tested moving "repoinit" out of a clone of
https://github.com/apache/sling using "git subtree split -P
bundles/jcr/repoinit -b repoinit" as described by a stackoverflow
answer[0].

This seems to have worked "better", I have history back to
http://svn.apache.org/r1744564, at which point the module was copied
from "bundles/commons/repoinit" to "bundles/extensions/repoinit". But
here it cuts off again.

Regards
Julian

[0] 
https://stackoverflow.com/questions/359424/detach-move-subdirectory-into-separate-git-repository/17864475#17864475

On Thu, Sep 21, 2017 at 10:18 AM, Robert Munteanu <[email protected]> wrote:
> Hi Julian,
>
> On Thu, 2017-09-21 at 10:01 +0200, Julian Sedding wrote:
>> Hi Robert
>>
>> Thanks for pushing the conversion forward!
>>
>> IIUC your script uses https://github.com/apache/sling as the source
>> repository. I believe this is created using git-svn. (I'd be happy
>> for
>> a pointer that I am wrong!)
>
> Yes, that is the case.
>
>>
>> According to Eric Raymond (http://esr.ibiblio.org/?p=6778), who
>> claims
>> to have some experience with svn to git migrations, git-svn is not up
>> to the task. Maybe that's where the history is lost.
>>
>> In any case, I think we need to start the migration from the SVN
>> repository, given that https://github.com/apache/sling already lacks
>> the history.
>>
>> Maybe reposurgeon, the tool E. Raymond wrote, can help overcome the
>> issue with lost history when copying branches?
>
> I'll try reposurgeon, thanks for the pointer. The thing is that the git
> remote seems to have the right rename handling, but it's lost when I
> create the module. But let's see after I try reposurgeon.
>
> Thanks,
>
> Robert
>
>>
>> Regards
>> Julian
>>
>>
>>
>> On Wed, Sep 20, 2017 at 5:42 PM, Robert Munteanu <[email protected]>
>> wrote:
>> > Hi,
>> >
>> > I did a dry run migration of two sling bundles:
>> >
>> >   https://github.com/rombert/TMP-sling-org.apache.sling.api
>> >   https://github.com/rombert/TMP-sling-org.apache.sling.jcr.repoini
>> > t
>> >
>> > Please take a look and check if _anything_ is wrong. I think that I
>> > have the process narrowed down more or less using the scripts at
>> > [1].
>> >
>> > What I know is missing is move tracking. For some reason, the
>> > jcr.repoinit module move is not captured and history starts after
>> > the
>> > move from bundles/extensions. ( SVN [2], git [3] ). Any help with
>> > what
>> > would be great.
>> >
>> > Also I've created a small repo tool setup at
>> >
>> >   https://github.com/rombert/TMP-sling-manifest
>> >
>> > The instructions are in the README, but you need to install repo
>> >
>> > $ curl https://storage.googleapis.com/git-repo-downloads/repo >
>> > ~/bin/repo
>> > $ chmod a+x ~/bin/repo
>> >
>> > And then sync your local checkout
>> >
>> > $ repo init -u https://github.com/rombert/TMP-sling-manifest.git
>> > $ repo sync
>> >
>> > Any feedback is welcome, please do look into the migrated
>> > repositories
>> > or maybe propose some tougher migrations. If you are so inclined,
>> > the
>> > scripts at tooling/scm/scripts [1] can also use a second pair of
>> > eyes
>> > :-)
>> >
>> > I'm going to leave this open for a week or so, but maybe after that
>> > we
>> > can start migrating from SVN.
>> >
>> > Thanks,
>> >
>> > Robert
>> >
>> >
>> > [1]: https://svn.apache.org/repos/asf/sling/trunk/tooling/scm/scrip
>> > ts/
>> > [2]: http://svn.apache.org/viewvc?view=revision&revision=1752162
>> > [3]: https://github.com/apache/sling/commit/087f2d0504dc0b8c38fd298
>> > ab9c
>> > 29f896321f8c8
>

Reply via email to