Kudos Dawid!

On Tue, Dec 29, 2015 at 9:10 PM, Yonik Seeley (JIRA) <[email protected]> wrote:
>
>     [ 
> https://issues.apache.org/jira/browse/LUCENE-6933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15074636#comment-15074636
>  ]
>
> Yonik Seeley commented on LUCENE-6933:
> --------------------------------------
>
> Thanks Dawid, awesome job!  That missing history in git made some things 
> painful for me in the past... so glad it's fixed!
>
>> Create a (cleaned up) SVN history in git
>> ----------------------------------------
>>
>>                 Key: LUCENE-6933
>>                 URL: https://issues.apache.org/jira/browse/LUCENE-6933
>>             Project: Lucene - Core
>>          Issue Type: Task
>>            Reporter: Dawid Weiss
>>            Assignee: Dawid Weiss
>>         Attachments: migration.txt, multibranch-commits.log, tools.zip
>>
>>
>> Goals:
>> * selectively drop projects and core-irrelevant stuff:
>>   ** {{lucene/site}}
>>   ** {{lucene/nutch}}
>>   ** {{lucene/lucy}}
>>   ** {{lucene/tika}}
>>   ** {{lucene/hadoop}}
>>   ** {{lucene/mahout}}
>>   ** {{lucene/pylucene}}
>>   ** {{lucene/lucene.net}}
>>   ** {{lucene/old_versioned_docs}}
>>   ** {{lucene/openrelevance}}
>>   ** {{lucene/board-reports}}
>>   ** {{lucene/java/site}}
>>   ** {{lucene/java/nightly}}
>>   ** {{lucene/dev/nightly}}
>>   ** {{lucene/dev/lucene2878}}
>>   ** {{lucene/sandbox/luke}}
>>   ** {{lucene/solr/nightly}}
>> * preserve the history of all changes to core sources (Solr and Lucene).
>>   ** {{lucene/java}}
>>   ** {{lucene/solr}}
>>   ** {{lucene/dev/trunk}}
>>   ** {{lucene/dev/branches/branch_3x}}
>>   ** {{lucene/dev/branches/branch_4x}}
>>   ** {{lucene/dev/branches/branch_5x}}
>> * provide a way to link git commits and history with svn revisions (amend 
>> the log message).
>> * annotate release tags
>> * deal with large binary blobs (JARs): keep empty files instead for their 
>> historical reference only.
>> Non goals:
>> * no need to preserve "exact" merge history from SVN (see "impossible" 
>> below).
>> * Ability to build ancient versions is not an issue.
>> Impossible:
>> * It is not possible to preserve SVN "merge history" because of the 
>> following reasons:
>>   ** Each commit in SVN operates on individual files. So one commit can 
>> "copy" (and record a merge) files from anywhere in the object tree, even 
>> modifying them along the way. There simply is no equivalent for this in git.
>>   ** There are historical commits in SVN that apply changes to multiple 
>> branches in one commit ({{r1569975}}) and merges *from* multiple branches in 
>> one commit ({{r940806}}).
>> * Because exact merge tracking is impossible then what follows is that exact 
>> "linearized" history of a given file is also impossible to record. Let's say 
>> changes X, Y and Z have been applied to a branch of a file A and then merged 
>> back. In git, this would be reflected as a single commit flattening X, Y and 
>> Z (on the target branch) and three independent commits on the branch. The 
>> "copy-from" link from one branch to another cannot be represented because, 
>> as mentioned, merges are done on entire branches in git, not on individual 
>> files. Yes, there are commits in SVN history that have selective file merges 
>> (not entire branches).
>
>
>
> --
> This message was sent by Atlassian JIRA
> (v6.3.4#6332)
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to