HEADS UP: FreeBSD changing from Subversion to Git this weekend

ucomp

Active Member

Reaction score: 42
Messages: 239

That's a request for a "forward looking statement" and none has been made.
perhaps I'll try it out. in the past(or currently) we would clearly redirected to phabricator.
I don't see why this would change from the current status of "no" and "no" given that it would bifurcate things.
I do see why this would change from the current status of `no`: why not use the whole git-ecosystem? wouldn`t it expand instead of bifurcate? or perhaps a trick like automatically forward git-PRs to phab and/or vice versa? well, we'll see
 

tingo

Daemon

Reaction score: 573
Messages: 2,450

Since nobody has suggested it in this thread yet; one reason for having repository mirrors at github / gitlab can be for larger exposure; since a lot of people already are on Github / Gitlab, having the FreeBSD source code there increases the chance that users will discover it there. It also might lower the "feedback barrier" for casual users; users on Github / Gitlab probably already know how to open an issue.
 

scottro

Daemon

Reaction score: 726
Messages: 1,819

And for CURRENT git clone https;//git.freebsd.org/src.git works. (I didn't use --depth 1 but probably should have. Thanks jb_fvwm2, in all the digressions in this thread, I also thought of posting the actual commands, but you were first to do so.[/cmd]
 
Last edited:

Jose

Aspiring Daemon

Reaction score: 670
Messages: 775

...(W)hy not use the whole git-ecosystem? wouldn`t it expand instead of bifurcate?
Github pull requests are not the same as Git pull requests. Read Linus on the subject:

The Freebsd project should not become vendor-locked to a single commercial entity that can decide to change the free hosting agreement at any time. That would be unwise.

How would it expand without bifurcating?
or perhaps a trick like automatically forward git-PRs to phab and/or vice versa? well, we'll see
What problems with the current Phabricator flow are solved by adopting the Github system? Who's going to write and maintain the compatibility forwarder you describe?
 

ucomp

Active Member

Reaction score: 42
Messages: 239

msplsh

Well-Known Member

Reaction score: 153
Messages: 465

I haven't checked lately......

did you check lately?
Why type this sentence and not look yourself at the PR list? Jose's sentence after the link outlined why even if it were not true anymore why it wouldn't matter (probably why it doesn't matter for linux either, if you spend five seconds to find and read the bot's boilerplate).
 

ucomp

Active Member

Reaction score: 42
Messages: 239

Why type this sentence and not look yourself at the PR list?.... spend five seconds...
because it's an open secret that Linux doesn't accept GitHub-PRs. I would have been more interested in whether this technical barrier actually still exists (because I don`t know and I haven`t checked lately, like torvalds ).
And even if the problem is big, that doesn't necessarily mean that someone doesn't want to take a different route to accept PRs on collaboration platforms. Of course, I don't care personally, I can also use phabricator, where I have spent some of my five seconds today 😁 . But to make PRs "more open" would be nice.
 

msplsh

Well-Known Member

Reaction score: 153
Messages: 465

If you don't care personally, what is all this talk about Github even for? Do you have a point you'd like to make that hasn't already been addressed?
 

Zirias

Daemon

Reaction score: 1,032
Messages: 1,879

Because accepting a PR on Github is a huge PITA unless you have your "central" repository hosted there?

This thread is out of control. It now really makes me wonder why ppl can't STFU if there's nothing on topic to write…
 

scottro

Daemon

Reaction score: 726
Messages: 1,819

Having looked at the Losh article and others, (and looked at https://cgit.freebsd.org/src/) I understand how I would use git clone to get 12.2 source. But -b stable/12 only gets me 12.2 What command would I use to get 12.1? The equivalent of svn co https://<server>/bash/releng/12.1?
Even looking at the cgit browser, I don't see it, probably my lack of knowledge, but with an svn browser, I can see base/releng/12.1.
 

vigole

Daemon

Reaction score: 1,156
Messages: 1,070

I understand how I would use git clone to get 12.2 source. But -b stable/12 only gets me 12.2 What command would I use to get 12.1? The equivalent of svn co https://<server>/bash/releng/12.1?
git clone -o freebsd -b stable/12 --config remote.freebsd.fetch='+refs/notes/*:refs/notes/*' https://git.freebsd.org/src.git freebsd-src-stable-12
 

Jose

Aspiring Daemon

Reaction score: 670
Messages: 775

git clone -b releng/12.1 --depth 1 https://git.freebsd.org/src.git
Works. It might make sense to clone the whole tree if you're going to work on multiple branches. Then all you have to do is
Code:
git checkout --track origin/releng/12.1                                                                 
Updating files: 100% (54334/54334), done.
Branch 'releng/12.1' set up to track remote branch 'releng/12.1' from 'origin'.
Switched to a new branch 'releng/12.1'
 

Zirias

Daemon

Reaction score: 1,032
Messages: 1,879

Is disk space really a thing nowadays? I worked with GIT for a long time, and normally, I work on a FULL clone, including ALL branches. It's just very convenient. Seriously, FreeBSD isn't THAT huge…
 

vigole

Daemon

Reaction score: 1,156
Messages: 1,070

Is disk space really a thing nowadays? I worked with GIT for a long time, and normally, I work on a FULL clone, including ALL branches. It's just very convenient. Seriously, FreeBSD isn't THAT huge…
Not really. If bandwidth or internet plan is not an issue, I think cloning the whole tree is the easiest approach.
 

chrcol

Well-Known Member

Reaction score: 49
Messages: 468

this look good to you guys? (preserving custom kernel files doing pull).

Code:
if [ ! -d $srcpath ]; then
        #shallow clone
        git clone $url -b $version --depth 1 $srcpath
        #deep clone
        #git clone $url -b $version --single-branch $srcpath
else
        cd $srcpath
        git stash
        git pull --ff-only
        git stash apply
        cd $curpath
fi
 

chrcol

Well-Known Member

Reaction score: 49
Messages: 468

Is disk space really a thing nowadays? I worked with GIT for a long time, and normally, I work on a FULL clone, including ALL branches. It's just very convenient. Seriously, FreeBSD isn't THAT huge…

Had a giggle, yes it is. I giggled as I hear it from so many developers :)

I am not working on the source code, for me my only interest is to download the code I need to compile it.
 

Jose

Aspiring Daemon

Reaction score: 670
Messages: 775

Code:
        git stash
        git stash apply
Why not keep the custom kernel files in a branch? Looks like git stash apply will keep all your previous stashes. Won't that get confusing after a while? Also keeping your kernel configs in a branch will let you diff arbitrary versions, etc.
 

Zirias

Daemon

Reaction score: 1,032
Messages: 1,879

Why not keep the custom kernel files in a branch? Looks like git stash apply will keep all your previous stashes. Won't that get confusing after a while? Also keeping your kernel configs in a branch will let you diff arbitrary versions, etc.
Additionally, with a local branch, you might want to have a look at git rebase. Embrace local branches, one of the advantages you'll have now :)
 

ralphbsz

Son of Beastie

Reaction score: 1,975
Messages: 2,936

No, it does not. Git itself is free software, you can download it anywhere and read the source code, which is NOT owned by microsoft. To use git in practice, you need some sort of git server. The main server for FreeBSD's code repository is owned and controlled by the FreeBSD project.

What is true: there is a large git server called "github", which has copies of many software project. Including one copy of the FreeBSD source code. And that server is owned by Microsoft. But you can do git perfectly well without using github.

The more important question is not the technical details. It is: why are you even asking this question? Are you afraid of Microsoft? Microsoft is one of the larger supporters of free and open software, so what would be wrong with using Microsoft servers for source code?
 

msplsh

Well-Known Member

Reaction score: 153
Messages: 465

Github is Microsoft, that is true, HOWEVER, if you managed to learn that but not the following, please practice:

Git is not Github.
Git does not depend on Github. (The converse is true, however)
Git is a system that can be implemented by BSD licensed software.
 

msplsh

Well-Known Member

Reaction score: 153
Messages: 465

This question is worded a bit strangely, so:

* The FreeBSD source repository will be stored in git, which is a type of storage format as well as the name of a piece of software
* Github stores git repositories.
* FreeBSD has a copy of their repository on Github.
* The master copy of the FreeBSD repository is not on Github.
 

ralphbsz

Son of Beastie

Reaction score: 1,975
Messages: 2,936

* Github stores git repositories.
True. But git repositories can also be stored many other places. I think I have at least half a dozen at home for my personal software, and they are only stored on my home server, and nowhere else (in particular not on GitHub). Matter-of-fact, because of git's distributed nature, there is typically not one "server" repository and many "clients", but repositories are equivalent. Anyone who downloads the complete source will have a repository on their own computer. And in theory could re-distribute their own repository to other people, and start a whole separate tree. However, there is typically or a few repositories from which official builds are made.

* FreeBSD has a copy of their repository on Github.
True. But it is only one of many copies. I could make a copy of the source (honestly, I've rarely downloaded the FreeBSD source in my life), and modify it to my heart's content, and redistribute it, if I felt like it.

* The master copy of the FreeBSD repository is not on Github.
That's the copy from which the official builds are made, and which the official developers work on.
 

msplsh

Well-Known Member

Reaction score: 153
Messages: 465

Had reason to try this

pkg install git-tiny
(installs 0 dependencies on my system)
git clone -o freebsd -b releng/12.2 --depth 1 https://git.freebsd.org/src.git /usr/src

Well, that was easy...
 

chrcol

Well-Known Member

Reaction score: 49
Messages: 468

Why not keep the custom kernel files in a branch? Looks like git stash apply will keep all your previous stashes. Won't that get confusing after a while? Also keeping your kernel configs in a branch will let you diff arbitrary versions, etc.
I have no idea on git syntax, I always felt svn is way more user friendly thats why I asked on here. :) Thanks
 
Top