git vs svn for vendor/bc/dist
Dan Langille
dan at langille.org
Fri Nov 27 19:03:37 UTC 2020
On Fri, Nov 27, 2020, at 1:57 PM, Warner Losh wrote:
> Hey Dan,
>
> On Fri, Nov 27, 2020 at 11:25 AM Dan Langille <dan at langille.org> wrote:
>> I am trying to understand how git handled this subversion commit:
>>
>> https://svnweb.freebsd.org/base?view=revision&revision=368062
>>
>> The file paths are vendor/bc/dist/.gitignore etc.
>>
>> On git, we have https://github.com/freebsd/freebsd/commit/982c17586e39a3d0655b62da43a5642b69ab2af0
>>
>> It looks to be the same list of files, but without the vendor/bc/dist/ prefix.
>>
>> The files all seems to be in the base directory.
>>
>> Can anyone explain this for me please? Should they not have the same path?
>
> git and svn are different in how they handle labeling interesting bits of the tree.
>
> subversion has one large tree as its name space. So all tags and branches are done in the context of that tree via copy commands. Creation / changing of tags also consumes a subversion revision.
>
> git has two name spaces, though. One for tall the files, and a separate one for tags and branches. Tags and branches are not versioned in git, so they don't create a new hash.
>
> The upshot of all this is that the vendor branch in git looks somewhat different than a vendor branch in subversion, and this is what you are seeing.
>
> After the holiday weekend, I should have the 'how to do vendor branches in git' written up and, if I did my job right, it should become more clear.
>From a FreshPorts point of view, I need to be able to tell where the files are located.
My usual git queries gave the 'wrong' answers.
--
Dan Langille
dan at langille.org
More information about the freebsd-git
mailing list