Date: Fri, 27 Nov 2020 11:57:38 -0700 From: Warner Losh <imp@bsdimp.com> To: Dan Langille <dan@langille.org> Cc: freebsd-git@freebsd.org Subject: Re: git vs svn for vendor/bc/dist Message-ID: <CANCZdfokmx6NJZS%2BZe5J8jLcHnire-fT_Yqvb2v88kVBY2OuMg@mail.gmail.com> In-Reply-To: <E2E9EAC7-B9FE-4453-9E31-E075935048B5@langille.org> References: <E2E9EAC7-B9FE-4453-9E31-E075935048B5@langille.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hey Dan, On Fri, Nov 27, 2020 at 11:25 AM Dan Langille <dan@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. Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfokmx6NJZS%2BZe5J8jLcHnire-fT_Yqvb2v88kVBY2OuMg>