[8515] 2014-12-22_揭秘:从内部源码看Facebook技术(第一集)

文档创建者:s7ckTeam
浏览次数:2
最后更新:2025-01-17
2014-12-22_揭秘:从内部源码看Facebook技术(第一集) F a c e b o o k F r e e B u f   2 0 1 4 - 1 2 - 2 2 W a r n i n g F a c e b o o k F a c e b o o k P h a b r i c a t o r ,   l i b p h u t i l ,     X H P 西 P h a b r i c a t o r F a c e b o o k 便 ( ) P h a b r i c a t o r   X H P P H P F a c e b o o k 2 0 1 3 6 使 P h a b r i c a t o r b u g P h a b r i c a t o r P h u t i l B o o t l o a d e r E x c e p t i o n P h a b r i c a t o r G o o g l e P a s t e b i n F a c e b o o k . . . [ e m i r @ d e v 3 0 0 3   ~ / d e v t o o l s / l i b p h u t i l ]   a r c d i f f   - - t r a c e > > >   [ 0 ]   < c o n d u i t > c o n d u i t . c o n n e c t ( ) < < <   [ 0 ]   < c o n d u i t >   9 8 , 1 7 2   u s > > >   [ 1 ]   < e x e c >   $   ( c d & ' / h o m e / e m i r / d e v t o o l s / l i b p h u t i l & ' ;   g i t   r e v - p a r s e   - - s h o w - c d u p ) < < <   [ 1 ]   < e x e c >   1 3 , 6 2 9   u s > > >   [ 2 ]   < e x e c >   $   ( c d & ' / h o m e / e m i r / d e v t o o l s / l i b p h u t i l / & ' ;   g i t   r e v - p a r s e   - - v e r i f y   H E A D ^ ) < < <   [ 2 ]   < e x e c >   1 7 , 0 2 4   u s > > >   [ 3 ]   < e x e c >   $   ( c d & ' / h o m e / e m i r / d e v t o o l s / l i b p h u t i l / & ' ;   g i t   d i f f   - - n o - e x t - d i f f   - - n o - t e x t c o n v   - - r a w & ' H E A D ^ & '   - - ) > > >   [ 4 ]   < e x e c >   $   ( c d & ' / h o m e / e m i r / d e v t o o l s / l i b p h u t i l / & ' ;   g i t   d i f f   - - n o - e x t - d i f f   - - n o - t e x t c o n v   - - r a w H E A D   - - ) > > >   [ 5 ]   < e x e c >   $   ( c d & ' / h o m e / e m i r / d e v t o o l s / l i b p h u t i l / & ' ;   g i t   l s - f i l e s   - - o t h e r s   - - e x c l u d e - s t a n d a r d ) > > >   [ 6 ]   < e x e c >   $   ( c d & ' / h o m e / e m i r / d e v t o o l s / l i b p h u t i l / & ' ;   g i t   l s - f i l e s   - m ) < < <   [ 5 ]   < e x e c >   7 3 , 0 0 4   u s < < <   [ 6 ]   < e x e c >   7 4 , 0 8 4   u s < < <   [ 4 ]   < e x e c >   7 7 , 9 0 7   u s < < <   [ 3 ]   < e x e c >   8 0 , 6 0 6   u s > > >   [ 7 ]   < e x e c >   $   ( c d & ' / h o m e / e m i r / d e v t o o l s / l i b p h u t i l / & ' ;   g i t   l o g   - - f i r s t - p a r e n t   - - f o r m a t = m e d i u m & ' H E A D ^ & ' . . H E A D ) < < <   [ 7 ]   < e x e c >   1 6 , 3 9 0   u s > > >   [ 8 ]   < c o n d u i t > d i f f e r e n t i a l . p a r s e c o m m i t m e s s a g e ( ) < < <   [ 8 ]   < c o n d u i t >   1 0 6 , 6 3 1   u s L i n t i n g . . . > > >   [ 9 ]   < e x e c >   $   ( c d & ' / h o m e / e m i r / d e v t o o l s / l i b p h u t i l & ' ;   g i t   r e v - p a r s e   - - s h o w - c d u p ) < < <   [ 9 ]   < e x e c >   9 , 9 7 6   u s > > >   [ 1 0 ]   < e x e c >   $   ( c d & ' / h o m e / e m i r / d e v t o o l s / l i b p h u t i l / & ' ;   g i t   m e r g e - b a s e   & ' H E A D ^ & '   H E A D ) < < <   [ 1 0 ]   < e x e c >   1 3 , 4 7 2   u s > > >   [ 1 1 ]   < e x e c >   $   ( c d & ' / h o m e / e m i r / d e v t o o l s / l i b p h u t i l / & ' ;   g i t   d i f f   - - n o - e x t - d i f f   - - n o - t e x t c o n v   - - r a w & ' 0 0 6 4 5 a 0 a e c 0 9 e d c 7 f 0 f 1 f 5 7 3 0 3 2 9 9 1 a e 9 4 f a a 0 1 b & '   - - ) > > >   [ 1 2 ]   < e x e c >   $   ( c d & ' / h o m e / e m i r / d e v t o o l s / l i b p h u t i l / & ' ;   g i t   d i f f   - - n o - e x t - d i f f   - - n o - t e x t c o n v   - - r a w H E A D   - - ) > > >   [ 1 3 ]   < e x e c >   $   ( c d & ' / h o m e / e m i r / d e v t o o l s / l i b p h u t i l / & ' ;   g i t   l s - f i l e s   - - o t h e r s   - - e x c l u d e - s t a n d a r d ) > > >   [ 1 4 ]   < e x e c >   $   ( c d & ' / h o m e / e m i r / d e v t o o l s / l i b p h u t i l / & ' ;   g i t   l s - f i l e s   - m ) < < <   [ 1 1 ]   < e x e c >   1 9 , 0 9 2   u s < < <   [ 1 4 ]   < e x e c >   1 5 , 2 1 9   u s < < <   [ 1 2 ]   < e x e c >   2 1 , 6 0 2   u s < < <   [ 1 3 ]   < e x e c >   4 3 , 1 3 9   u s > > >   [ 1 5 ]   < e x e c >   $   ( c d & ' / h o m e / e m i r / d e v t o o l s / l i b p h u t i l / & ' ;   g i t   d i f f   - - n o - e x t - d i f f   - - n o - t e x t c o n v   - M   - C - - n o - c o l o r   - - s r c - p r e f i x = a /   - - d s t - p r e f i x = b /   - U 3 2 7 6 7 & ' 0 0 6 4 5 a 0 a e c 0 9 e d c 7 f 0 f 1 f 5 7 3 0 3 2 9 9 1 a e 9 4 f a a 0 1 b & '   - - ) < < <   [ 1 5 ]   < e x e c >   2 8 , 3 1 8   u s > > >   [ 1 6 ]   < e x e c >   $ & ' / h o m e / e n g s h a r e / d e v t o o l s / l i b p h u t i l / s r c / p a r s e r / x h p a s t / b i n / x h p a s t & '   - - v e r s i o n < < <   [ 1 6 ]   < e x e c >   1 1 , 4 2 0   u s > > >   [ 1 7 ]   < e x e c >   $ & ' / h o m e / e n g s h a r e / d e v t o o l s / a r c a n i s t / s c r i p t s / p h u t i l _ a n a l y z e r . p h p & ' & ' / h o m e / e m i r / d e v t o o l s / l i b p h u t i l / s r c / m a r k u p / e n g i n e / r e m a r k u p / m a r k u p r u l e / h y p e r l i n k & ' < < <   [ 1 7 ]   < e x e c >   4 9 0 , 1 9 6   u s > > >   [ 1 8 ]   < e x e c >   $ & ' / h o m e / e n g s h a r e / d e v t o o l s / a r c a n i s t / s c r i p t s / p h u t i l _ a n a l y z e r . p h p & ' & ' / h o m e / e n g s h a r e / d e v t o o l s / l i b p h u t i l / s r c / m a r k u p & ' > > >   [ 1 9 ]   < e x e c >   $ & ' / h o m e / e n g s h a r e / d e v t o o l s / a r c a n i s t / s c r i p t s / p h u t i l _ a n a l y z e r . p h p & ' & ' / h o m e / e n g s h a r e / d e v t o o l s / l i b p h u t i l / s r c / m a r k u p / e n g i n e / r e m a r k u p / m a r k u p r u l e / b a s e & ' > > >   [ 2 0 ]   < e x e c >   $ & ' / h o m e / e n g s h a r e / d e v t o o l s / a r c a n i s t / s c r i p t s / p h u t i l _ a n a l y z e r . p h p & '   & ' / h o m e / e n g s h a r e / d e v t o o l s / l i b p h u t i l / s r c / p a r s e r / u r i & ' > > >   [ 2 1 ]   < e x e c >   $ & ' / h o m e / e n g s h a r e / d e v t o o l s / a r c a n i s t / s c r i p t s / p h u t i l _ a n a l y z e r . p h p & ' & ' / h o m e / e n g s h a r e / d e v t o o l s / l i b p h u t i l / s r c / u t i l s & ' < < <   [ 1 8 ]   < e x e c >   4 9 8 , 8 9 9   u s < < <   [ 1 9 ]   < e x e c >   4 9 7 , 7 1 0   u s < < <   [ 2 0 ]   < e x e c >   5 1 7 , 7 4 0   u s < < <   [ 2 1 ]   < e x e c >   5 5 6 , 2 6 7   u s > > >   [ 2 2 ]   < e x e c >   $ & ' / h o m e / e n g s h a r e / d e v t o o l s / l i b p h u t i l / s r c / p a r s e r / x h p a s t / b i n / x h p a s t & ' < < <   [ 2 2 ]   < e x e c >   1 0 , 0 6 6   u s   L I N T O K A Y     N o   l i n t   p r o b l e m s . R u n n i n g   u n i t   t e s t s . . . H i p H o p F a t a l   e r r o r :   U n c a u g h t   e x c e p t i o n   e x c e p t i o n   & ' P h u t i l B o o t l o a d e r E x c e p t i o n & '   w i t h m e s s a g e   & ' T h e   p h u t i l   l i b r a r y   & ' & '   h a s   n o t   b e e n   l o a d e d ! & '   i n / h o m e / e n g s h a r e / d e v t o o l s / l i b p h u t i l / s r c / _ _ p h u t i l _ l i b r a r y _ i n i t _ _ . p h p : 1 2 4 n S t a c k t r a c e : n # 0   / h o m e / e n g s h a r e / d e v t o o l s / l i b p h u t i l / s r c / _ _ p h u t i l _ l i b r a r y _ i n i t _ _ . p h p ( 1 7 7 ) : P h u t i l B o o t l o a d e r - > g e t L i b r a r y R o o t ( ) n # 1 / h o m e / e n g s h a r e / d e v t o o l s / a r c a n i s t / s r c / u n i t / e n g i n e / p h u t i l / P h u t i l U n i t T e s t E n g i n e . p h p ( 5 3 ) : P h u t i l B o o t l o a d e r - > m o d u l e E x i s t s ( ) n # 2 / h o m e / e n g s h a r e / d e v t o o l s / a r c a n i s t / s r c / w o r k f l o w / u n i t / A r c a n i s t U n i t W o r k f l o w . p h p ( 1 1 3 ) : P h u t i l U n i t T e s t E n g i n e - > r u n ( ) n # 3 / h o m e / e n g s h a r e / d e v t o o l s / a r c a n i s t / s r c / w o r k f l o w / d i f f / A r c a n i s t D i f f W o r k f l o w . p h p ( 1 1 7 2 ) : A r c a n i s t U n i t W o r k f l o w - > r u n ( ) n # 4 / h o m e / e n g s h a r e / d e v t o o l s / a r c a n i s t / s r c / w o r k f l o w / d i f f / A r c a n i s t D i f f W o r k f l o w . p h p ( 2 2 5 ) : A r c a n i s t D i f f W o r k f l o w - > r u n U n i t ( ) n # 5 / h o m e / e n g s h a r e / d e v t o o l s / a r c a n i s t / s c r i p t s / a r c a n i s t . p h p ( 2 5 7 ) : A r c a n i s t D i f f W o r k f l o w - > r u n ( ) n # 6   { m a i n } O k a y e m i r F i r s t   N a m e E .   M i r F a c e b o o k P a s t e b i n " d e v 3 0 0 3 " e m i r 使 使 F a c e b o o k 3 0 0 0 3 0 0 3 1 ` / h o m e / e n g s h a r e / d e v t o o l s / ` l i b p h u t i l a r c a n i s t ` / h o m e / e n g s h a r e / ` N F S
G i t   h a s h e s P a s t e b i n [ 2 5 / 1 0 / 2 0 1 3 ] P r o m o t i n g   T h e   M e m e   B a n k   ( 1 / 1 )   -   C a m p a i g n   U p d a t e   F a i l e d :   C a m p a i g n   6 0 0 9 2 5 8 2 7 9 2 3 7 : V a l u e   c a n n o t   b e   n u l l   ( V a l u e   g i v e n :   n u l l ) T A A L [ B L A M E _ f i l e s , w w w / f l i b / c o r e / u t i l s / e n f o r c e . p h p , w w w / f l i b / c o r e / u t i l s / E n f o r c e B a s e . p h p ] " f l i b "   ( F a c e b o o k   L i b r a r y ) l i b . . . [ k s a l a s @ d e v 5 7 8   ~ / w w w ] . / s c r i p t s / i n t l / i n t l _ s t r i n g . p h p   s c a n   . L o a d i n g   m o d u l e s ,   h a n g   o n . . . A n a l y z i n g   d i r e c t o r y   ` . & ' E r r o r :   C o m m a n d   ` u l i m i t   - s   6 5 5 3 6   & & / m n t / v o l / e n g s h a r e / t o o l s / f b t _ e x t r a c t o r   - t a s k s   3 2   & ' / d a t a / u s e r s / k s a l a s / w w w - h g & ' & ' f a i l e d   w i t h   e r r o r   # 2 : s t d o u t :   s t d e r r : w a r n i n g :   p a r s i n g   p r o b l e m   i n / d a t a / u s e r s / k s a l a s / w w w - h g / f l i b / i n t e r n / t h i r d - p a r t y / p h p u n i t / p h p u n i t / T e s t s / T e x t U I / d a t a p r o v i d e r - l o g - x m l - i s o l a t i o n . p h p t w a r n i n g :   p a r s i n g   p r o b l e m   i n / d a t a / u s e r s / k s a l a s / w w w - h g / f l i b / i n t e r n / t h i r d - p a r t y / p h p u n i t / p h p u n i t / T e s t s / T e x t U I / d a t a p r o v i d e r - l o g - x m l . p h p t w a r n i n g :   p a r s i n g   p r o b l e m   i n   / d a t a / u s e r s / k s a l a s / w w w - h g / f l i b / i n t e r n / t h i r d - p a r t y / p h p u n i t / p h p u n i t / T e s t s / T e x t U I / l o g - x m l . p h p t w a r n i n g :   p a r s i n g   p r o b l e m   i n / d a t a / u s e r s / k s a l a s / w w w - h g / s c r i p t s / s a n d c a s t l e / l o c a l _ t e s t i n g / s c r i p t _ f o r _ t e s t _ c o m m i t s . p h p w a r n i n g :   p a r s i n g   p r o b l e m   i n / d a t a / u s e r s / k s a l a s / w w w - h g / l i b / a r c a n i s t / l i n t / l i n t e r / _ _ t e s t s _ _ / h p h p a s t / p h p - t a g s - s c r i p t . l i n t - t e s t L E X E R :   u n r e c o g n i s e d   s y m b o l ,   i n   t o k e n   r u l e : & ' w a r n i n g :   p a r s i n g   p r o b l e m   i n / d a t a / u s e r s / k s a l a s / w w w - h g / s c r i p t s / i n t e r n / t e s t / t e s t . p h p w a r n i n g :   p a r s i n g   p r o b l e m   i n / d a t a / u s e r s / k s a l a s / w w w - h g / s c r i p t s / i n t e r n / t e s t / t e s t 2 . p h p F a t a l   e r r o r :   e x c e p t i o n   C o m m o n . T o d o F a t a l   e r r o r :   e x c e p t i o n S y s _ e r r o r ( " B r o k e n   p i p e " )     T y p e i n t l _ s t r i n g . p h p   - - h e l p   t o   g e t   m o r e   i n f o r m a t i o n   a b o u t   h o w   t o   u s e   t h i s   s c r i p t . d e v 5 7 8 K s a l a s ` i n t l _ s t r i n g . p h p ` ` / m n t / v o l / e n g s h a r e / t o o l s / f b t _ e x t r a c t o r ` ` / m n t / v o l / e n g s h a r e / ` 使 P H P   U n i t " w w w - h g " M e r c u r i a l S u b v e r s i o n G i t " T h a t & ' s   s t i l l   n o t   g o d   d a m n   s o u r c e c o d e ! "   I n d e x :   f l i b / c o r e / d b / q u e r y f . p h p = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = - - -   f l i b / c o r e / d b / q u e r y f . p h p + + +   f l i b / c o r e / d b / q u e r y f . p h p @ @   - 1 1 0 4 , 1 1   + 1 1 0 4 , 1 2   @ @   *     @ a u t h o r   r m c e l r o y     * /   f u n c t i o n   m y s q l _ q u e r y _ a l l ( $ s q l ,   $ o k _ s q l ,   $ c o n n , $ p a r a m s )   { +   F B T r a c e D B : : r q s e n d ( $ o k _ s q l ) ;     s w i t c h   ( S Q L Q u e r y T y p e : : p a r s e ( $ s q l ) )   {         c a s e   S Q L Q u e r y T y p e : : R E A D :             $ t _ s t a r t   =   m i c r o t i m e ( t r u e ) ;             $ r e s u l t   =   m y s q l _ q u e r y _ r e a d ( $ o k _ s q l ,   $ c o n n ) ;             $ t _ e n d   =   m i c r o t i m e ( t r u e ) ;             $ t _ d e l t a   =   $ t _ e n d   -   $ t _ s t a r t ;             i f   ( $ t _ d e l t a   >   P r o f i l i n g T h r e s h o l d s : : $ q u e r y R e a d D u r a t i o n )   {                   P r o f i l i n g T h r e s h o l d s : : r e c o r d D u r a t i o n E r r o r ( & ' m y s q l . q u e r y R e a d D u r a t i o n & ' , ` f l i b / c o r e / d b / q u e r y f . p h p ` M y S Q L ` m y s q l _ q u e r y _ a l l ( ) ` d i f f   - - g i t a / f l i b / e n t i t y / u s e r / p e r s o n a l / E n t P e r s o n a l U s e r . p h p b / f l i b / e n t i t y / u s e r / p e r s o n a l / E n t P e r s o n a l U s e r . p h p i n d e x   4 d e 7 a d 8 . . 4 3 9 c 1 6 2   1 0 0 6 4 4 - - - a / f l i b / e n t i t y / u s e r / p e r s o n a l / E n t P e r s o n a l U s e r . p h p + + + b / f l i b / e n t i t y / u s e r / p e r s o n a l / E n t P e r s o n a l U s e r . p h p @ @   - 3 0 6 , 1 3   + 3 0 6 , 1 5   @ @   c l a s s   E n t P e r s o n a l U s e r e x t e n d s   E n t P r o f i l e       p u b l i c   f u n c t i o n   p r e p a r e F r i e n d I D s ( )   {         r e q u i r e _ m o d u l e _ l a z y ( & ' f r i e n d s & ' ) ; -       / /   T O D O :   a d d   p r i v a c y   c h e c k s !         D T ( & ' R e c i p r o c a l F r i e n d s & ' ) - > a d d ( $ t h i s - > i d ) ;         r e t u r n   n u l l ;       }       p u b l i c   f u n c t i o n   g e t F r i e n d I D s ( )   { -       r e t u r n   D T ( & ' R e c i p r o c a l F r i e n d s & ' ) - > g e t ( $ t h i s - > i d ) ; +       i f   ( $ t h i s - > c a n S e e F r i e n d s ( ) )   { +           r e t u r n   D T ( & ' R e c i p r o c a l F r i e n d s & ' ) - > g e t ( $ t h i s - > i d ) ; +       } +       r e t u r n   a r r a y ( ) ;       }       / * * @ @   - 3 9 7 , 6   + 3 9 9 , 7   @ @   c l a s s   E n t P e r s o n a l U s e r e x t e n d s   E n t P r o f i l e             $ t h i s - > v i e w e r C a n S e e ,             a r r a y (                 P r i v a c y C o n c e p t s : : E X I S T E N C E , +               P r i v a c y C o n c e p t s : : F R I E N D S ,                 / /   N o t e   t h a t   w e & ' r e   f e t c h i n g   G E N D E R   h e r e   b e c a u s e   i t & ' s   P A I                 / /   s o   i t & ' s   c h e a p   a n d   b e c a u s e   w e   d o n & ' t   w a n t   t o   a d d   a   p r e p a r e G e n d e r                 / /   c a l l   h e r e   i f   w e   d o n & ' t   h a v e   t o . @ @   - 4 1 8 , 6   + 4 2 1 , 1 0   @ @   c l a s s   E n t P e r s o n a l U s e r e x t e n d s   E n t P r o f i l e         r e t u r n   m u s t _ p r e p a r e ( $ t h i s - > v i e w e r C a n S e e ) - > c a n S e e ( ) ;       }   +   p r o t e c t e d   f u n c t i o n   c a n S e e F r i e n d s ( )   { +       r e t u r n   m u s t _ p r e p a r e ( $ t h i s - > v i e w e r C a n S e e ) - > c a n S e e F r i e n d s ( ) ; +     } + #   u p d a t e   y o u r   l o c a l   m a s t e r   b r a n c h     g i t c h e c k o u t   m a s t e r     g i t p u l l   - - r e b a s e   #   n e v e r   d o   a n y   w o r k   o n   m a s t e r   b r a n c h #   c r e a t e   &   s w i t c h   t o   n e w   b r a n c h   i n s t e a d     g i t c h e c k o u t   - b   m y _ b r a n c h   #   r e b a s e   & ' m y _ b r a n c h & '   o n t o   m a s t e r     g i t c h e c k o u t   m y _ b r a n c h     g i t r e b a s e   m a s t e r   #   l i s t   b r a n c h e s     g i t b r a n c h   #   d e l e t e   & ' m y _ b r a n c h & '   b r a n c h     $ g i t   b r a n c h   - d   m y _ b r a n c h
  #   s h o w s   s t a t u s $   g i t   s t a t u s   s t a g e   f i l e ,   a l s o   r e m o v e   c o n f l i c t     $ g i t   a d d   < f i l e >   r e v e r t   f i l e   t o   h e a d   r e v i s i o n     $ g i t   c h e c k o u t   - -   < f i l e >   c o m m i t   c h a n g e     $ g i t   c o m m i t   - a   - - a m e n d       - a               s t a g e s   a l l   m o d i f i e d   f i l e s       - - a m e n d     o v e r w r i t e s   l a s t   c o m m i t   s h o w   a l l   l o c a l   h i s t o r y   ( a m e n d   c o m m i t s , b r a n c h   c h a n g e s ,   e t c . )     $ g i t   r e f l o g   s h o w   h i s t o r y   ( t h e r e   i s   l o t   o f   o p t i o n s )     $ g i t   l o g     $ g i t   l o g   - - p r e t t y = o n e l i n e   - - a b b r e v - c o m m i t   - - a u t h o r = p l a m e n k o     $ g i t   l o g   - S " t e x t   t o   s e a r c h "   s h o w   l a s t   c o m m i t   ( w h a t   i s   a b o u t   t o   b e   s e n d f o r   d i f f )     $ g i t   s h o w   g e t   t h e   v e r s i o n   o f   t h e   f i l e   f r o m   t h e   g i v e n c o m m i t     $ g i t   c h e c k o u t   < c o m m i t >   p a t h / t o / f i l e     f e t c h   &   m e r g e     $ g i t   p u l l   - - r e b a s e   r e s o l v i n g   c o n f l i c t s :     u s e o u r s :         $ g i t   c h e c k o u t   - - o u r s   i n d e x . h t m l     u s e t h e i r s :         $ g i t   c h e c k o u t   - - t h e i r s   i n d e x . h t m l   c o m m i t   a u t h o r :     $ g i t   c o n f i g   - - g l o b a l   u s e r . n a m e   " O g n j e n   D r a g o l j e v i c "     $ g i t   c o n f i g   - - g l o b a l   u s e r . e m a i l   p l a m e n k o @ f b . c o m     A f t e r   d o i n g   t h i s ,   y o u   m a y   f i x   t h e   i d e n t i t y   u s e d   f o r   t h i s   c o m m i t   w i t h :     $ g i t   c o m m i t   - - a m e n d   - - r e s e t - a u t h o r   c o m m i t   t e m p l a t e :   / m n t / v o l / e n g s h a r e / a d m i n / s c r i p t s / t e m p l a t e s / g i t - c o m m i t - t e m p l a t e . t x t   r e n a m e   a   b r a n c h :     $ g i t   b r a n c h   - m   o l d _ b r a n c h   n e w _ b r a n c h   i n t e r a c t i v e   r e b a s e     $ g i t   r e b a s e   - i   m a s t e r   p i c k   e d i t       m a k e   c h a n g e s       . . .         $ g i t   c o m m i t   - a   - - a m e n d         $ g i t   r e b a s e   - - c o n t i n u e   e x e c         $ a r c   d i f f         $ a r c   a m e n d         $ g i t   p u s h   - - d r y - r u n   o r i g i n   H E A D : m a s t e r   / /   r e m o v e   d r y - r u n   t o   d o   a c t u a l   p u s h       . . .   t o   u p d a t e   c o m m i t   m e s s a g e   i n   p h a b r i c a t o r     $   a r c   d i f f   - - v e r b a t i m # ! / b i n / b a s h # #   C r e a t e s   a   n e w   w w w   s a n d b o x   m a n a g e d   b y   g i t . # #   U s a g e :   g i t - c l o n e - w w w   [ d i r n a m e ] # #   d i r n a m e   d e f a u l t s   t o   " w w w - g i t " . #   D I R N A M E = $ { 1 : - w w w - g i t }   N F S _ R E P O = / h o m e / e n g s h a r e / g i t / t f b   #   A r e   w e   r u n n i n g   o n   a   m a c h i n e   t h a t   h a s   a l o c a l   s h a r e d   c o p y   o f   t h e   g i t   r e p o ? i f   [   - d   / d a t a / g i t / t f b   ] ;   t h e n     # Y e s .   R e u s e   i t s   o b j e c t s   d i r e c t o r y .   e c h o   " C l o n i n g   t h e   l o c a l   h o s t & ' s   s h a r e d   w w w   r e p o s i t o r y . . . "   P A R E N T = / d a t a / g i t / t f b   S H A R E = - s e l s e     # N o p e ,   c o p y   t h e   N F S   s e r v e r & ' s   o b j e c t s   l o c a l l y   s o   a s   n o t   t o   b e   d o g   s l o w .   e c h o   " C o p y i n g   f r o m   t h e   s h a r e d   w w w   r e p o s i t o r y   o n   t h e   N F S s e r v e r . . . "   P A R E N T = $ N F S _ R E P O   S H A R E = f i   i f   [   !   - d   $ H O M E / l o c a l   ] ;   t h e n   e c h o   " Y o u   d o n & ' t   s e e m   t o   h a v e   a   & ' l o c a l & '   s y m l i n k   i n   y o u r   h o m e d i r e c t o r y . "   e c h o   " F i x   t h a t   a n d   t r y   a g a i n . "   e x i t   1 f i   c d   $ H O M E / l o c a l i f   [   - d   " $ D I R N A M E "   ] ;   t h e n   e c h o   " Y o u   a l r e a d y   h a v e   a   $ D I R N A M E   d i r e c t o r y ;   w o n & ' t   o v e r w r i t e i t . "   e c h o   " A b o r t i n g . "   e x i t   1
f i   #   W e   c l o n e   t h e   s h a r e d   r e p o s i t o r y   h e r e r a t h e r   t h a n   r u n n i n g   " g i t   s v n   c l o n e " #   b e c a u s e   i t & ' s   m u c h ,   m u c h   m o r e   e f f i c i e n t . A n d   t h e   c l o n e   h a s   s o m e   o p t i o n s : # #   - n   =   D o n & ' t   c h e c k   o u t   w o r k i n g   c o p y   y e t . #   - s   =   R e f e r e n c e   t h e   o r i g i n & ' s   . g i t / o b j e c t s d i r e c t o r y   r a t h e r   t h a n   c o p y i n g . #           S a v e s   g o b s   o f   d i s k   s p a c e   a n d   m a k e s   t h e   c l o n e   n e a r l y   i n s t a n t a n e o u s . #           W e   d o n & ' t   d o   t h i s   i f   t h e r e & ' s   n o   l o c a l - d i s k   s h a r e d   r e p o .   g i t   c l o n e   $ S H A R E   - n   " $ P A R E N T " " $ D I R N A M E "   c d   " $ D I R N A M E "   #   I f   w e & ' r e   s h a r i n g   a   l o c a l   r e p o s i t o r y & ' s o b j e c t s ,   u s e   t h e   N F S   s e r v e r   a s   a #   f a l l b a c k   s o   s t u f f   d o e s n & ' t   b r e a k   i f   w e   u s e t h i s   r e p o   f r o m   a n o t h e r   h o s t #   t h a t   d o e s n & ' t   h a v e   a   / d a t a / g i t / t f b d i r e c t o r y . A L T E R N A T E S = . g i t / o b j e c t s / i n f o / a l t e r n a t e s i f   [   - s   $ A L T E R N A T E S   ] ;   t h e n   e c h o   $ N F S _ R E P O / . g i t / o b j e c t s   > >   $ A L T E R N A T E S f i   #   W e   w a n t   t o   u s e   t h e   s a m e   r e m o t e   b r a n c h n a m e   ( " r e m o t e s / t r u n k " )   f o r   g i t - s v n #   a n d   f o r   f e t c h e s   f r o m   t h e   s h a r e d   g i t   r e p o , s o   s e t   t h a t   u p   e x p l i c i t l y . g i t   c o n f i g   r e m o t e . o r i g i n . u r l " f i l e : / / $ P A R E N T / . g i t " g i t   c o n f i g   r e m o t e . o r i g i n . f e t c h r e f s / r e m o t e s / t r u n k : r e f s / r e m o t e s / t r u n k g i t   c o n f i g   - - r e m o v e - s e c t i o n   b r a n c h . m a s t e r   #   E n a b l e   t h e   s t a n d a r d   c o m m i t   t e m p l a t e g i t   c o n f i g   c o m m i t . t e m p l a t e / h o m e / e n g s h a r e / a d m i n / s c r i p t s / t e m p l a t e s / g i t - c o m m i t - t e m p l a t e . t x t   #   E n a b l e   r e c o r d i n g   o f   r e b a s e   c o n f l i c t r e s o l u t i o n s g i t   c o n f i g   r e r e r e . e n a b l e d   t r u e   #   N o w   f e t c h   f r o m   t h e   s h a r e d   r e p o .   T h i s m o s t l y   j u s t   c r e a t e s   t h e   n e w   " t r u n k " #   b r a n c h   s i n c e   w e   a l r e a d y   h a v e   t h e   o b j e c t s t h a n k s   t o   t h e   i n i t i a l   " g i t   c l o n e " . g i t   f e t c h   o r i g i n   #   B l o w   a w a y   t h e   " o r i g i n / " b r a n c h e s   c r e a t e d   b y   " g i t   c l o n e "   - -   w e   d o n & ' t   n e e d   t h e m . r m   - r f   . g i t / r e f s / r e m o t e s / o r i g i n   #   N o w   i t & ' s   t i m e   t o   t u r n   t h i s   p l a i n   o l d   g i t r e p o   i n t o   a   g i t - s v n   r e p o .   R e a l l y #   a l l   w e   n e e d   i s   t h e   s v n - r e m o t e c o n f i g u r a t i o n   ( i n s t a l l e d   a b o v e )   a n d   a #   m e t a d a t a   f i l e   w i t h   s o m e   v e r s i o n i n f o r m a t i o n .   g i t - s v n   i s   s m a r t   e n o u g h   t o #   r e b u i l d   t h e   o t h e r   s t u f f   i t   n e e d s .   e c h o   " " e c h o   " S y n c h r o n i z i n g   w i t h   s v n . . . "   g i t   s v n   i n i t   - i t r u n k s v n + s s h : / / t u b b s / s v n r o o t / t f b / t r u n k / w w w   #   N o w   t w e a k   t h e   g i t - s v n   c o n f i g   a   l i t t l e   b i t s o   i t & ' s   e a s i e r   f o r   s o m e o n e   t o #   g o   a d d   m o r e   " f e t c h "   l i n e s   i f t h e y   w a n t   t o   t r a c k   s v n - s i d e   b r a n c h e s   i n #   a d d i t i o n   t o   t r u n k .   T h i s   d o e s n & ' t   a f f e c t a n y   o f   t h e   e x i s t i n g   h i s t o r y . g i t   c o n f i g   s v n - r e m o t e . s v n . u r l s v n + s s h : / / t u b b s / s v n r o o t g i t   c o n f i g   s v n - r e m o t e . s v n . f e t c h t f b / t r u n k / w w w : r e f s / r e m o t e s / t r u n k   #   L e t   g i t - s v n   u p d a t e   i t s   m a p p i n g s   a n d   f e t c h t h e   l a t e s t   r e v i s i o n s .   T h i s   c a n #   s p e w   l o t s   o f   u n i n t e r e s t i n g   o u t p u t   s o s u p p r e s s   i t . g i t   s v n   f e t c h   >   / d e v / n u l l   e c h o   " " e c h o   " C h e c k i n g   o u t   w o r k i n g c o p y . . . "   #   W e   u s e   g i t   r e s e t   h e r e   b e c a u s e   t h e   g i t   s v n f e t c h   m i g h t   h a v e   a d v a n c e d   t r u n k #   t o   a   n e w e r   r e v i s i o n   t h a n   t h e   m a s t e r b r a n c h   c r e a t e d   b y   g i t   c l o n e . g i t   r e s e t   - - h a r d   t r u n k   i f   [   !   - d   " $ H O M E / $ D I R N A M E "   ] ; t h e n   e c h o   " "   e c h o   " M a k i n g   h o m e   d i r   s y m l i n k :   $ H O M E / $ D I R N A M E "     l n - s   " l o c a l / $ D I R N A M E "   " $ H O M E / $ D I R N A M E " e l s e   e c h o   " "   e c h o   " $ H O M E / $ D I R N A M E   a l r e a d y   e x i s t s ;   l e a v i n g   i t   a l o n e . " f i   e c h o   " " e c h o   " A l l   d o n e .   T o   m a k e   t h i s   y o u r   n e w m a i n   s a n d b o x   d i r e c t o r y ,   r u n " e c h o   " " e c h o   "         r m   - r f   ~ / w w w " e c h o   "         l n   - s   ~ / $ D I R N A M E   ~ / w w w " e c h o " " F a c e b o o k   M y s S q l 西 F a c e b o o k & ' s   M y S Q L   p a s s w o r d . ` p r i n t _ r ( ) ` a r r a y (   & ' i p & '   = >   & ' 1 0 . 2 1 . 2 0 9 . 9 2 & ' ,   & ' d b _ n a m e & '   = >   & ' i n s i g h t s & ' ,   & ' u s e r & '   = >   & ' m a r k & ' , & ' p a s s & '   = >   & ' e 5 p 0 n d 4 & ' ,   & ' m o d e & '   = >   & ' r & ' ,   & ' p o r t & '   = >   3 3 0 6 ,   & ' c l e a n u p & '   = > f a l s e ,   & ' n u m _ r e t r i e s & '   = >   3 ,   & ' l o g _ a f t e r _ n u m _ r e t r i e s & '   = >   4 ,   & ' r e a s o n & '   = > & ' i n s i g h t s & ' ,   & ' c d b & '   = >   t r u e ,   & ' f l a g s & '   = >   0 ,   & ' i s _ s h a d o w & '   = >   f a l s e , & ' b a c k o f f _ r e t r y & '   = >   f a l s e ,   ) H o s t :   1 0 . 2 1 . 2 0 9 . 9 2   ( P r i v a t e   I P ) D a t a b a s e   N a m e :   i n s i g h t s U s e r :   m a r k P a s s w o r d : e 5 p 0 n d 4 O k a y F a c e b o o k P a s t e b i n h t t p : / / p a n . b a i d u . c o m / s / 1 k T E B X u J   p 3 v e f r e e b u f . c o m [ S i n t h e t i c   L a b s / F r e e b u f F r e e B u f . C O M ]

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则