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: 532
Messages: 2,369

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: 624
Messages: 1,660

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: 395
Messages: 551

...(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: 115
Messages: 351

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: 115
Messages: 351

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: 495
Messages: 1,015

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: 624
Messages: 1,660

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

Aspiring Daemon

Reaction score: 887
Messages: 880

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: 395
Messages: 551

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: 495
Messages: 1,015

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

Aspiring Daemon

Reaction score: 887
Messages: 880

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: 48
Messages: 454

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: 48
Messages: 454

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: 395
Messages: 551

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: 495
Messages: 1,015

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 :)
 

nprxy

New Member


Messages: 3

Sorry for my intrusion, but GIT does not depend of MS? That does mean that some code of FreeBSD will depend of servers of MS?
 

ralphbsz

Son of Beastie

Reaction score: 1,791
Messages: 2,792

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: 115
Messages: 351

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.
 

nprxy

New Member


Messages: 3

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.
Thanks for the info.
The more important question is not the technical details. It is: why are you even asking this question? Are you afraid of Microsoft?
No. Before I've used BSD, even GNU/Linux, I used Windows. If they learn something of all the derived of Unix, they'll do the right thing, now I put to think about it.
Microsoft is one of the larger supporters of free and open software, so what would be wrong with using Microsoft servers for source code?
I didn't know that. So they changed in these years.
 

nprxy

New Member


Messages: 3

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.
So the repositories will be in the same platform?
 

msplsh

Well-Known Member

Reaction score: 115
Messages: 351

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.
 
Top