Boost logo

Boost :

Subject: Re: [boost] [filesystem] [svn] How to remove V2 files without loss of V3 history?
From: Dave Abrahams (dave_at_[hidden])
Date: 2012-03-18 13:36:28


on Sun Mar 18 2012, Daniel James <dnljms-AT-gmail.com> wrote:

> On 18 March 2012 15:27, Dave Abrahams <dave_at_[hidden]> wrote:
>>
>> on Sun Mar 18 2012, Daniel James <dnljms-AT-gmail.com> wrote:
>>
>>> On 18 March 2012 13:14, Steven Watanabe <watanabesj_at_[hidden]> wrote:
>>>>
>
>>>> cd boost/filesystem
>>>> svn cp ^/trunk/boost/filesystem ^/branches/filesystem_v3/boost/filesystem
>>>> svn switch ^/trunk/boost/filesystem
>>>
>>> Should that be:
>>>
>>> svn switch ^/branches/filesystem_v3/boost/filesystem
>>>
>>>> svn rm *.hpp
>>>> svn mv v3/*.hpp .
>>>> svn rm v2 v3
>>>> # modify headers
>>>> svn commit -m "Remove Filesystem V2"
>>>> svn switch ^/trunk/boost/filesystem
>>>> svn merge --reintegrate ^/branches/filesystem_v3/boost/filesystem
>>>> svn commit -m "Merge back to trunk"
>>>>
>>>> FWIW, if you're doing this in one go, there's
>>>> no good reason to create a branch.
>>>
>>> Also, if we eventually switch to git, I don't think git will
>>> understand that the file has moved, since there was already a file in
>>> the new location. There might be a benefit to having an intermediate
>>> version with the file missing (although, there might not, I don't how
>>> well the git conversion will handle it).
>>
>> I don't think so.  John's SVN->Git conversion knows about svn mv
>> operations, but if you delete and recreate a file somewhere else it
>> isn't going to realize you moved something.
>
> It doesn't really matter whether the conversion understands 'svn mv',
> since git doesn't track moves.

No, it really does matter, at least for branch tracking. We know git
doesn't track moves, but the conversion does need to track svn cp and
svn mv.

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk