$Id: tut-kernel.html,v 1.32 2001$BG/(B10$B7n(B29$BF|(B 09:23:37 itojun Exp $$BCm0U(B: $B$3$N(Btutorial$B$G$OHs>o$KHs0lHLE*$J(B branch$B$N@Z$jJ}$r$7$F$$$k$N$G!";29M$K$7$J$$$G$/$@$5$$!#(B $B$=$N$&$A=q$-D>$7$?$$$s$G$9$,;~4V$,$J$$$N!#(B(2001/10 itojun)
$B$=$3$G!"(Bcvs$B$r;H$$$^$7$g$&!#(B cvs$B$,0RNO$rH/4x$9$k$N$O!"(B
$B0J2<$n@bl@$k$o!"4jc1$n$?$a$k>JN,$7$F$$$k$3$H$d!"$o$?$7$,8m2r$7$F$$$k$3$H$,(B $B$"$k$H;W$$$^$9!#(B $B$^$"!"$H$j$"$($:F~Lg=q$C$F$/$i$$$J$N$G!"B?$a$K$_$F$/$@$5$$!#(B $B$[$s$H$N$3$H$O(Bman page$B$H$+(Binfo file$B$H$+$K=q$$$F$"$j$^$9!#(B $B!V$3$l$O$R$I$$!W$C$F$N$,$"$C$?$i(B $B65$($F$/$@$5$$(B$B!#D>$7$^$9!#(B
$B$H$j$"$($:!"(Bcvs$B$O(B(beta version$B$G$9$,(B)1.9.10$B$+$=$l0J9_$r;H$C$F$/$@$5$$!#(B 1.8$B$@$H(Bdiff$B$N@8@.$K$A$g$C$HCn$5$s$,$$$k$h$&$K;W$$$^$9!#(B 1.9$B$@$H%U%!%$%k$NDI2C$d(Bsticky tag$B$N=hM}$KCn$5$s$,$$$k$h$&$J5$$,$7$^$9!#(B
FreeBSD 221-RELEASE === FreeBSD 222-RELEASE ===> \ \ \ \ $B2~B$HG(B221 -----> $B2~B$HG(B222 ----->$B$b$H$K$J$k(BOS$B!"2>$K$3$3$G$O(BFreeBSD 2.2.1-RELEASE$B$K$J$C$F$$$k$1$I!"(B $B$=$l$,:G=i$N?F6L%P!<%8%g%s$k$j$k!#(b $B$G!"$=$3$+$i;^JL$l$7$F<+j,$n2~b$hg(b($b2~b$hg(b221$b$h$+2~b$hg(b222$b$h$+(b)$b$r(b $B$D$/$C$F$$$/$o$1$@!#(B FreeBSD$B$,(B2.2.2-RELEASE$B$K$J$C$?$i!"(B2.2.2-RELEASE$B$rK\N.$K$H$j$3$s$G(B (cvs$B$G$O$3$l$r(Bimport$B$H$$$&(B)$B!"(B FreeBSD 2.2.1-RELEASE$B$H2~B$HG(B221$B$N:9J,$r$"$F$F2~B$HG(B222$B$r$D$/$j!"(B $B$5$i$K$D$-?J$`!#(B
$B62$,$k$3$H$O$J$K$b$J$$!#(B $B<:gt$7$?$i:g=i$+$i$d$j$j$*$;$p$$$$$@$1$noc!#(b
% cd ~ % mkdir practice % mkdir practice/cvsroot % setenv CVSROOT ~/practice/cvsroot # $B4D6-JQ?t@_Dj(B % cvs init # $B=i4|2=(B
% cd /usr/src/sys % cvs import -ko sys FREEBSD r221$B$3$3$G(Bsys$B$O%b%8%e!<%kl>$G$"$k!#(B $B:#8e!"$5$C$-@_Dj$7$?(Bcvs$B%j%]%8%H%j$G$O!"!V%b%8%e!<%k(bsys$b!w$k$o(b FreeBSD$B$N%+!<%m%k%=!<%9$,$=$n$^$^$d$c$3$^$l$f$$$k>uBV$K$J$k!#(B FREEBSD$B$O(Bvendor tag$B$H$$$&$b$s$G!"(Bvendor branch$B$NL>A0$G$"$k!#(B r221$B$O(Brelease tag$B$H$$$&$b$s$G$"$k!#(B $B$^$"!"$a$s$I$/$5$$$3$H$O3P$($J$/$F$$$$!#(B $B!V(Br221$B$C$F8@$&$H!"$$$^(Bimport$B$7$?(BFreeBSD 2.2.1-RELEASE$B$N%=!<%9$,$g$f$/$k!w(b $B$H$@$13P$($F$$$l$P$$$$!#(B
FreeBSD 221-RELEASE === FreeBSD 222-RELEASE ===> \ \ \ \ $B2~B$HG(B221 -----> $B2~B$HG(B222 ----->
$B;n$7$K!"(BFreeBSD 2.2.1-RELEASE$B$N%=!<%9$r$h$j$@$7$f$_$h$&!#(b
% cd /tmp % mkdir x % cd x % cvs co -r r221 sys$B$[!<$i!"
% cvs rtag -b -r r221 itojun221 sys$B$3$N:n6H$G!"?^$N@V$$$H$3$m$,$G$-$?$3$H$K$J$k!#(B
FreeBSD 221-RELEASE === FreeBSD 222-RELEASE ===> \ \ \ \ $B2~B$HG(B221 -----> $B2~B$HG(B222 ----->$B;n$7$K!"$$$^:n$C$?(Bitojun221$B$r$H$j$@$7$F$_$h$&!#(B
% cd /tmp % mkdir y % cd y % cvs co -r itojun221 sysFreeBSD 2.2.1-RELEASE$B$H$*$J$8$b$N$,
% ls foo/ baa/ baz/ % cvs add foo
% ls foo baa baz % cvs remove -f foo
% cvs diffcontext diff$B$,$$$$$J!"$H$+$$$&>l9g$K$O(B-c$B$r$D$1$k!#(B
% cvs diff -c$BFCDj$N;^$N:G?7HG$H:n6H%G%#%l%/%H%j$N:9J,$r$H$k(B ($BNc(B: 2.2.1-RELEASE$B$H$N:9J,(B) $B$H$-$K$O!"(B-r $B;^$NL>A0(B$B$H$9$l$P$$$$!#(B
% cvs diff -c -r r221 # 2.2.1-RELEASE$B$H:n6H%G%#%l%/%H%j$N:9J,(B$BFCDj$N;^$N:G?7HG$I$&$7(B($BNc(B: 2.2.1-RELEASE$B$H!"(Bitojun221)$B$N(B $B:9J,$r$H$j$?$/$J$C$?$i!"(B-r$B$r$U$?$D$D$1$k!#(B $B8=:_$$$k%G%#%l%/%H%j$K$D$$$F$N:9J,$,8+$l$k$O$:$@!#(B
% cvs diff -c -r r221 -r itojun221 # 2.2.1-RELEASE$B$H(Bitojun221$B$N:9J,(B
% echo 'foo.c'> .cvsignore % cvs add .cvsignore
sys/compile$B$N2<$,
$B$^$:!"(B2.2.2-RELEASE$B$N%=!<%9$r%j%]%8%h%j$k
$BB>$K$b(Btcl/tk$B$J%U%m%s%H%(%s%I$J$s$+$b$"$k$i$7$$$,!";H$C$?$3$H$J$$$N$G3d0&!#(B
$B$H$j$"$($:!"(Bdiff$B$N:n@.$,3Z$K$J$C$?$@$1$G$b(Bcvs$B$rF3F~$7$?9CHe$O$"$k!"(B
$B$H$$$&$b$N$@!#(B
$BJ#?tBf$N%N!<%h%q%=%3%s$r;h$$j,$1$f$$$k>l9g!"%=!<%9$,$=$3$i$8$e$&$k(b
$B$A$i$P$C$?$j$7$^$;$s$+(B?
$B$=$N>l9g!"(B
$B$d$j$+$?$O4JC1$G!"(B
$B$?$H$($P!"(B2$BBf$N%^%7%s$N%+!<%m%k$rb7$c$f%p!<%8%g%s%"%c%w$7$f
$B!V$&$^$/$$$/$s$+$$!W$H$$$&$"$J$?!"(BFreeBSD$B$H$+(BNetBSD$B$H$+$,$A$c$s$H(B
$B3+H/$G$-$F$k$N$r$_$l$P0lL\NFA3$G$7$g$&!#(B
$B3+H/
$B$^$:$O%j%]%8%H%j$,3+H/%a%s%PA40w$+$i(Bgroup readable/writable$B$G$"$k$+(B
$B3NG'$7$F$/$@$5$$!#(B
$BI,MW$J$i(Bchgrp$B$9$k!#(B
$B3F8D?M$N$d$k:n6H$O$[$H$s$IJQ$o$j$^$;$s$,!"(Bcommit$B$@$1$,0c$$$^$9!#(B
$BJ#?t$R$H$,$$$k$H$-$O!"3F8D?M$,$F$b$H$K:n6HMQ$N%=!<%9%3!<%i%d%j!<$r(b
cvs co$B$7$F$$$k$3$H$K$J$j$^$9!#(B
$B$^$?!"!V$\$/$,(Bcheckout$B$7$?!W;~E@$h$j$"$H$K!"C/$+$,(Bcommit$B:n6H$r(B
$B$7$F$k$+$b$7$l$^$;$s!#$N$G!"$F$b$H$N%D%j!<$o!v%j%]%8%h%j$n:g?7$n(b
$B>uBV$KBP$9$kJQ99!W$G$"$k$H$O8B$j$^$;$s!#(B
$B$N$G!"(Bcvs commit$B$9$k$^$($K!"0J2<$n
$B>e5-$N
$BJ#?t?M3+H/$N>l9g!"!V$$$D%j%j!<%9$9$k$+!w$n@)8f$o$+$j$jfq$7$/$j$j$^$9!#(b
$B$o$?$7$b$^$@4E$A$c$s$J$N$G$3$l$K$D$$$F$O$U$l$^$;$s!#(B
$B87$7$/$d$k$J$i!"%j%j!<%9mq$n;^$r$[$i$j$$$h$$$1$j$$$+$b!#(b
$B<+j,$g%9%/%i%c%a$+$i=q$$$f$$$f!"%p!<%8%g%s$n;^$o$+$l$b$7$=$&$k$j$$(b
$B%=!<%9$n>l9g$O!"(Brcs$B$NJ}$,3Z$J>l9g$b$"$k$+$b$7$l$J$$!#(B
$B$^$"!"(Brcs$B$G$$$$$d$H;W$&4V$O(Brcs$B$G$b$$$$$G$7$g$&$M!#(B
rcs$B$H$N0c$$$O!"$3$s$J$b$s$+$J!#(B
beta release$B$O(Bhttp://www.cyclic.com/$B$+$i(B
$B$?$0$C$F%2%C%H$9$k$3$H!#(B
$B%9%F%C%W(B6: FreeBSD$B$NG[I[$r$*$C$+$1$h$&(B
$B$5$F!"$b$H$K$J$C$F$$$k%+!<%m%k%=!<%9!"(bfreebsd$b$n
FreeBSD 221-RELEASE === FreeBSD 222-RELEASE ===>
\ \
\ \
$B2~B$HG(B221 -----> $B2~B$HG(B222 ----->
$B
% cvs rtag -b -r r222 itojun222 sys
$B$3$l$G$3$3$^$G$G$-$^$7$?!#(B
FreeBSD 221-RELEASE === FreeBSD 222-RELEASE ===>
\ \
\ \
$B2~B$HG(B221 -----> $B2~B$HG(B222 ----->
$B$5$F!"$G$O(Br221$B$H(Bitojun221$B$N:9J,$r(Bitojun222$B$X%^!<%8$7$^$7$g$&!#(b
$BI,$:$7$b$9$s$J$j$$$/$H$O8B$j$^$;$s$,!"$^$"$H$j$"$($:<+f0$g$$$c$f$_$^$9!#(b
% cd /tmp
% mkdir z
% cd z
% cvs co -r itojun222 sys
% cd sys
% cvs update -j r221 -j itojun221
$B$3$l$G!"$9$s$J$j$$$/ItJ,$K$D$$$F$O$9$s$J$j$$$/$O$:$G$9(B($B0UL#ITL@(B)$B!#(B
$B$9$s$J$j$$$+$J$+$C$?%U%!%$%k$K$D$$$F$O!"(B
<<<<<<< foo
nantara kantara
=======
kantara hontara
>>>>>>> r1.1.1.1.2.1
$B$N$h$&$K!"N>J}$N%P!<%8%g%s$,%u%!%$%k$k$B$=$N(B2: $B$b$C$H$i$/$A$s$K$J$m$&(B
$B%P!<%8%g%s4v$n:9j,$r$[$$$[$$%/%j%c%/1n$g$h$j$?$/$o$"$j$^$;$s$+(b?
$B$?$H$($P!"(B$B$3$3(B
$B$_$?$$$K!#(B
$B$3$N$?$a$K$O!"(B
cvsweb$BG[I[85(B$B$+$i(Bcgi$B%9%/%j%W%H$r$H$C$F$7$+$1$^$9!#(B
$B4D6-JQ?t(BCVSROOT$B$NFbMF$r%9%/%j%W%H$N$J$+$K@_Dj$7$F$*$/I,MW$,$"$j$^$9!#(B
$B$b$H$N%D%j!<(b(2.2.2-release)$b$k$j$$%u%!%$%k$ga}$($?%u%!%$%k$o!"(b
$B%l%]%8%H%j>e$O(BAttic$B$H$$$&%5%V%G%#%l%/%H%j$KF~$C$F$k$N$GCm0U$M!#(B
$B$=$N(B3: $BG[I[%-%C%H$N=`Hw$r$9$k(B
$BC/$+$K$3$NAGE($J(Bkernel patch$B$rG[I[$7$?$/$J$C$?$i!"$3$&$9$l$P(Bok$B!#(B
% cvs rdiff -r r221 -r itojun221 sys>sys.diff
rdiff$B$H(Bdiff$B$N0c$$$O!"(B
$B$C$F$J$+$s$8$G$"$k!#(B
$BA}$($?%U%!%$%k$O$A$c$s$H(B/dev/null$B$H$N(Bdiff$B$r$H$C$F$/$l$k$N$G!"(B
$B0B?4$G$"$k!#(B
$B$=$N(B4: $BJ#?t$N%N!<%h%q%=%3%s$g3+h/$9$k(b!
$B$3$l$3$l!"$3$l$,=q$-$?$+$C$?$N$@!#(B
$B$H$9$k$H!"%N!<%h%q%=%3%s$+$i%g%9%/%h%c%w>e$N%j%]%8%H%j$r$$$8$l$^$9!#(B
% setenv CVS_RSH ssh # rsh$B;H$&$J$iITMW(B
% setenv CVSROOT desktop.itojun.org:/usr/home/itojun/practice/cvsroot
$B$H$9$k$@$1!#(B
$B$[$s$H$K$3$l$@$1!#(B
$B$"$H$OA0$HA4$/JQ$o$k$3$H$J$/:n6H$,$G$-$^$9!#(B
$B$=$N(B5: $BJ#?t?M$G3+H/$9$k(B!
$B>e5-$G$&$C$9$i=R$Y$?J#?t?M3+H/$N$O$J$7$@!#(B
$B$^$?!"(Bmake$B$/$i$$$ODL$7$F$+$i(Bcommit$B$7$^$7$g$&!#(B
$BCfESH>C<$j>uBV$G(Bcommit$B$7$J$$!#(B
$B$I$&$7$F$b:n6H$,D94|$K$o$?$j$=$&$GCf4V>uBV$r(Bcommit$B$7$J$$$H$$$1$J$$>l9g!"(B
$B<+j,$n:n6hmq$n;^$r$d$/$c$f:n6h$7$^$7$g$&!#(b
cvs$B$N8~$-IT8~$-(B
$B%P%$%J%j%U%!%$%k$OB?J,07$$$K$/$$$G$7$g$&(B($B$=$s$J$b$s07$&$3$H$"$k$s$+$$(B?)$B!#(B
cvs$B$O(Bcvs co$B$G3F<+<+j,$n:n6hmq%3%t!<$r$d$/$c$f:n6h$r$9$k!#(b
$B$N$G!"8+$($k:n6H%U%!%$%k$O$?$/$5$s!":n6H$G$-$k$R$H$b$?$/$5$s!#(B
($B$3$N$?$a!"(Brcs$B$O(B/etc/aliases$B$H$+(B/etc/yp/src$B$H$+$N4IM}$K8~$$$F$$$k!#(B
cvs$B$O$I$&$_$F$b8~$$$F$$$J$$(B)
cvs$B$O$_$s$J$G%3%T!<$r$$$8$k$n$g!"i,$:$7$b$9$s$j$j(bcvs commit$B$,(B
$B=*$k$H$O8B$i$J$$!#NY$N@J$Nrcs$B$OC10l%U%!%$%k$K%P!<%8%g%s$r$d$1$k!#(b
cvs$B$OJ#?t%U%!%$%k$N=89g$K$^$H$a$F%P!<%8%g%s$r$d$1$i$l$k!#(b
$B$b$C$H9b5i%F%/%K%C%/(B
branch$B$H(Btag$B$N0c$$$K$D$$$F(B
cvs$B$G$O!"!V(Bbranch$B!W$D$^$j;^$H!"!V(Btag$B!W$H$$$&35G0$,B8:_$9$k!#(B
$B>e5-$G$O8N0U$K!V(Bbranch$B!W$H!V(Btag$B!W$N6hJL$r$"$$$^$$$K$7$?$^$^(B
$B5-=R$7$F$$$?(B($B$H$$$&$+!"(Btag$B$N$3$H$O$J$k$Y$/Hr$1$F5-=R$7$?(B)$B!#(B
$B
$B$"$k(Bbranch$B$+$i;^$o$+$l$7$F$G$-$?%P!<%8%g%s$njb$s$r!v(bbranch$b!w!"(b
branch$B>e$N$"$k%P!<%8%g%s$k$d$$$?l>;%$r!V(Btag$B!W$H$$$&!#(B
$B$3$3$G$d$d$3$7$$$N$,!"(B
$B!V$"$k(Bbranch x$B$N@hF,$N%P!<%8%g%s$k$o!"(b
"x"$B$H$$$&L>A0$N(Btag$B$,$D$$$F$$$k!W$H$$$&$3$H!#(B
$BNc$($P!"(Bitojun221 branch$B$N@hF,$N%P!<%8%g%s$k$o!"(b
$B!V(Bitojun221$B!W$H$$$&(Btag$B$,$D$$$F$$$k!#(B
r221 ================== r222 ======> vendor(FREEBSD) branch
\ \
* -- * -- itojun221 \ itojun221 branch
\
* -- itojun222 itojun222 branch
$B%"%9%?%j%9%/$O$J$s$+E,Ev$J%P!<%8%g%s$g$"$k!#(b
$B?^$G$O(Bitojun221 branch$B$r:n$C$F$+$i(B3$B2s!"(Bitojun222 branch$B$r:n$C$F$+$i(B
2$B2s(Bcommit$B:n6H$r$7$F$$$k!#(B
$B?7$7$$%P!<%8%g%s$,(bcommit$b$5$l$k$h!"(bitojun221$b$h$+(bitojun222$b$h$+$n(b
$B!V(Bbranch$BL>$H$*$J$8L>A0$N(Btag$B!W$O@hF,$N%P!<%8%g%s$k0\f0$9$k!#(b
$BNc$($P!"(Bitojun222 branch$B$K?7$7$$%P!<%8%g%s$,(bcommit$b$5$l$k$h!"(b
$B!V(Bitojun222$B!W$H$$$&(Btag$B$O?7%P!<%8%g%s$r$5$9$h$&$k$j$k!#(b
r221 ================== r222 ======> vendor(FREEBSD) branch
\ \
* -- * -- itojun221 \ itojun221 branch
\
* -- * -- itojun222 itojun222 branch
$Bcvs co -r itojun222 sys$B$J$I$N%*%Z%l!<%7%g%s$g;xdj$7$f$$$?(b
$B!V(Bitojun222$B!W$O!"!V(Bitojun222$B!W$H$$$&(Btag$B$@$C$?$N$@!#(B
$B$3$N$*$+$2$G!"(B-r itojun222$B$H8@$($PI,$:(Bitojun222 branch$B$N@hF,$N(B
$B%P!<%8%g%s$,$b$i$($k$7$+$1$k$j$c$f$$$k!#(b
$B$"$k;~E@$N%D%j!<$k(btag$b$r$d$1$k(b
(to be written)
sticky tag
(to be written)
commit$B$,$"$C$?$i(Bmailing list$B$KDLCN$9$k(B
(to be written)
cvs$B$N%P!<%8%g%s$k$h$k0c$$(b
$B$$$^$^$G46$8$F$$$k$3$H$r=q$$$F$*$/!#(B
$B$H$K$+$/!"(B1.9.22$B$^$?$O$=$l0J9_$NJ}$,D4;R$$$$$h$&$J5$$,$9$k!#(B
$B!V(B1.9.22$B!W$N$h$&$K(B3$B$D$N?t;z$G9=@.$5$l$F$$$k$N$O(Bbeta release$B$J$N$@$,!"(B
official release$B$N(B1.9$B$h$j$b(Bbeta release$B$NJ}$,$h$$!#(B
$B8=;~E@(B(1998$BG/(B6$B7n(B24$BF|(B)$B$G0lHV$N$*$9$9$a$O(B1.9.26$B$G$"$k!#(B
To be done
$B$3$N5-;v$NNcBj0J30$K$b!"$$$m$s$J(Bbranching strategy$B$,$"$k$N$G(B
$B$=$N$X$s$N0c$$(B/$BA*$SJ}(B/$B$J$I$J$I!#(B
$BLrN)$D%Z!<%8$?$a(b
[itojun]
[$B$O$C$+!<$:$q$i$@$$$9(b]
$B46A[$H$+$rEj$2$F$_$k(B