# No STABLE/13 branch so far?



## Veeny (Apr 28, 2021)

Folks,
I keep looking for a /STABLE/13 branch, but no dice so far. Is that normal or am I doing something wrong? (Not that I'm especially interested in taking the plunge right now, but I'm curious.)


```
> sudo svnlite switch ^/stable/13
svn: E160013: '/base/!svn/rvr/369669/stable/13' path not found
```

Cheers!
V.


----------



## Alain De Vos (Apr 28, 2021)

I use:

```
git clone https://git.freebsd.org/src.git --depth 1 --branch releng/13.0 /usr/src
```


----------



## zirias@ (Apr 28, 2021)

Subversion is no longer used. The branches for 11 and 12 are still mirrored to SVN as long as these are supported. Everything 13 (and newer) is only found in GIT.


Alain De Vos said:


> I use:
> 
> ```
> git clone https://git.freebsd.org/src.git --depth 1 --branch releng/13.0 /usr/src
> ```


Note shallow cloning is not recommended:








						Solved - Git deep clone vs. shallow clone
					

Git deep clone vs shallow clone, what's the difference between the two, and what are the limitations of choosing Shallow Clone over Deep Clone? I've read https://docs.freebsd.org/en/articles/committers-guide/#git-primer and few other FreeBSD related Git blogs, but I'm still confused.




					forums.freebsd.org
				




A full clone is still very space efficient:








						Solved - How much HDD space do I need to Git clone main (deep vs. shallow)
					

How much HDD space do I need to 1. Git deep clone main. 2. Git shallow clone main.




					forums.freebsd.org


----------



## Alain De Vos (Apr 28, 2021)

Having a hash in the uname is indeed interesting.


----------



## zirias@ (Apr 28, 2021)

In didn't try, but would assume that the commit hash always works.

What won't work on a shallow clone is the commit count. And, IMHO more important: You'll have unnecessary trouble when you want to check out a different branch.

Given that a full clone (including a working copy) still occupies less space than a SVN working copy, I'd say only use shallow cloning when you're *really* short on disk space.


----------



## Veeny (May 6, 2021)

Zirias said:


> Subversion is no longer used. The branches for 11 and 12 are still mirrored to SVN as long as these are supported. Everything 13 (and newer) is only found in GIT.


Sorry for this late answer, I was quite busy elsewhere and didn't have time to turn back to this before. Thanks a bunch! I'm going to switch to GIT, albeit I suppose that means I'll lose all the object files I had already compiled and whose source code has been carried over verbatim from 12 to 13. But, eh, clouds and silver linings…


----------



## zirias@ (May 6, 2021)

Veeny said:


> I'm going to switch to GIT, albeit I suppose that means I'll lose all the object files I had already compiled and whose source code has been carried over verbatim from 12 to 13. But, eh, clouds and silver linings…


You shouldn't, they are clearly separated in /usr/obj. To switch to GIT, all you have to erase is /usr/src.

But then, doing a "major upgrade", it's unlikely there's much you _don't_ have to recompile anyways.


----------



## SirDice (May 6, 2021)

Veeny said:


> I'll lose all the object files I had already compiled and whose source code has been carried over verbatim from 12 to 13.


You need to recompile those anyway. Or else you're going to run into a bunch of weird version errors where object files are compiled and linked to 12.x libraries. In short, nuke everything and do a clean build.

One of the reasons for a clean build is the fact that sys/conf/newvers.sh is dealt with at compile time.


----------



## zirias@ (May 6, 2021)

SirDice said:


> You need to recompile those anyway. Or else you're going to run into a bunch of weird version errors where object files are compiled and linked to 12.x libraries. In short, nuke everything and do a clean build.


Shouldn't be necessary. In my experience, META_MODE works _very_ reliably. I did the second major upgrade now without ever touching /usr/obj (or doing a `make clean` of any sort) with no problems at all.


----------



## SirDice (May 6, 2021)

Maybe it was with that NO_CLEAN flag, I'm not sure. I've learned not to leave anything up to chance, when in doubt just rebuild.


----------



## zirias@ (May 6, 2021)

SirDice said:


> Maybe it was with that NO_CLEAN flag, I'm not sure. I've learned not to leave anything up to chance, when in doubt just rebuild.


Well, I assume _that_ can be dangerous indeed  But as I said, META_MODE does a good job. It leads to an (almost?) complete rebuild on major upgrades anyways, but saves a lot of time when just following -STABLE or -CURRENT, or upgrading a -RELEASE to the next patchlevel


----------

