facebook / fbshipit Goto Github PK
View Code? Open in Web Editor NEWCopy commits between repositories · git → git, git → hg, hg → hg, or hg → git
License: MIT License
Copy commits between repositories · git → git, git → hg, hg → hg, or hg → git
License: MIT License
Using composer with HHVM 3.24 needs fixes to fbshipit that are not present in the released version in packagist. Will it be possible to release another version to packagist that is compatible with HHVM 3.24.
Example fixes: c242594
Short of releasing a new version, I think the instructions in the README can be updated to include the correct repository to be used with composer.
This can currently be done manually by:
--special-create-new-repo
to create a new repo with just 'initial commit'git diff
between the new repo and the remote. If things are consistent, there will be no diffShipItRepoHG::export() should be moved to ShipItSourceRepo, and implemented in ShipItRepoGIT. The phase will also need modifying to accept any ShipItSourceRepo
Eg Map { 'foo' => '' }
is invalid, because then foo/bar
becomes /bar
instead of bar
.
... for projects that have summaries on by default. I know you can have a section of a summary stripped away, but seeing @private
stands out and reduces cognitive load.
ShipItBaseConfig
Importing facebook/sapling#573 replaces the "🐛" in commit title with "�":
[sapling][PR] �(chg): don't crash when user has more than 16 groups on macOS
and it seems various Unicode characters were not handled properly. For example, "👍🏻" got imported as "👍�", and the author name "Max 👨🏽💻 Coplan" was imported as "Max 👨�💻 Coplan".
UnityFS5.x.x2018.4.11f1烅?[CQ瀨@��CAB-5c944700d27cfde7fcdedefb5e98ad87I�瀨J2018.4.11f1
s鬾�0炻揑?�'€7€€H€�€€1€1€@�€€Q€j€�€�€*
�€3�€< �€E
�€N
�€W
�€ �€i��€r�€{�€��€��€��€��€�H€�€1€1€@�€€Q€j€H€�€1€1€@�€€Q€j€H€�€1€1€ @�€€!Q€j€"m_ExecutionOrderHash128m_PropertiesHashbytes[0]bytes[1]bytes[2]bytes[3]bytes[4]bytes[5]bytes[6]bytes[7]bytes[8]bytes[9]bytes[10]bytes[11]bytes[12]bytes[13]bytes[14]bytes[15]m_ClassNamem_Namespacem_AssemblyNamer�翸諳/J"tY潖�嵞躞#嫻~[d0+6t €7€€4€v€ A�€A.€ A�€]€Ah€�€ �€€.€ €H€�€€1€1€ @�€€ Q€j€ H€ €1€1€ @�€€�Q€j€�€€1€1€��€€H€j€@�€€Q€j€�€-€1€1€@�€€�€j€@L€�€U€1€1€@�€€�€j€@�€_ �€c!�€g"�€k#�€o$�€s%�€w&�€{'�€(�€�)�€�*�€�+�€�,�€�-�€�.�€�/��01€1€1�€€2�j€ 3�€�4�€�5�€�6�€�7�€�8�€�9�€�:�€�;<1€1€=�€€>j€ ?�€!@�€+A�€5B�€?C�€ID�€VE�€cF�€pG�€}H€1€1€I@�€€J�€j€ K �€�L �€�M �€�N �€�O€1€1€P@�€€Q�€j€R �€�S �€�T �€�U �€�V �€�W€1€1€X@�€€Y�€j€ Z �€�[ �€�\ �€�] �€�^€1€1€_@�€€
V€j€a�€�b�€�c€1€1€d@�€€e�€j€f �€�g �€�h �€�i€1€1€j@�€€k�€j€l �€�m �€�n �€�o€1€1€p@�€€q�€j€r �€�s �€�t �€�u€1€1€v@�€€w�€j€x �€�y �€�z ��{€1€1€|€�€€}�j€~€H€�€1€1€€@
�€€�
Q€j€����€1€1€�€
�€€�
�j€�€�€���€�€ 1€1€�@
�€€�
�€j€
�
�€��
�€��
�€�� �€�€ 1€1€�@
�€€�
�€j€
�
�€��
�€��
�€�� �€�€ 1€1€�@
�€€�
�€j€
�
�€��
�€��
�€�� ;�€1€1€�€�€€�j€�€�€E�€1€1€�@
�€€�
�€j€��€O�€1€1€�@
�€€�
�€j€�]j�€1€1€�€�€€�]j€�€�€s
� �€�� �€�� �€�� �€|� �€�� �€�� �€�� �€�� �€�
� �€�� �€�� �€�� H€��€1€1€�@
�€€�
Q€j€��€���€���€���€���€��€1€1€�@�€€��€j€��€���€��H€��€1€1€�@�€€�Q€j€��€��A�€��€1€1€�@�€€��€j€��1€1€��€€�j€
��€��€4��€=�F\�1€1€��€€�Fj€��€��€s��€z�€1€1€�@�€€��€j€��€��€1€1€�@�€€��€j€��€��€1€1€�@�€€��€j€��€���1€1€�@�€€��€j€��€���1€1€�@�€€��€j€��€���1€1€�@�€€��€j€��€���1€1€�@�€€��€j€���€1€1€�€�€€��j€�€�€&��1€1€@
�€€
�€j€�€5€1€1€@�€€�€j€@�€_�€c
�€g�€k �€o
�€s
�€w
�€{
�€��€��€��€��€��€��€��€D€1€1€@�€€�€j€]X€1€1€€�€€]j€€�€s
�€� �€� �€�! �€|" �€�# �€�$ �€�% �€�& �€�
' �€�( �€�) �€�* H€�+€1€1€,@
�€€-
Q€j€.�€�/�€�0�€c1AH€j2€1€1€3@�€€4Q€j€5m_FileIDm_PathIDmeshNameanimatedBoneNamesanimatedBoneHashesUMAMeshDatameshDatabindPosese00e01e02e03e10e11e12e13e20e21e22e23e30e31e32e33UMABoneWeightboneWeightsboneIndex0boneIndex1boneIndex2boneIndex3weight0weight1weight2weight3BoneWeightunityBoneWeightsm_Weight0m_Weight1m_Weight2m_Weight3m_BoneIndex0m_BoneIndex1m_BoneIndex2m_BoneIndex3verticesxyztangentswnormalscolors32rgbauvuv2uv3uv4UMABlendShapeblendShapesshapeNameUMABlendFrameframesframeWeightdeltaVerticesdeltaNormalsdeltaTangentsSubMeshTrianglessubmeshestrianglestrianglesListUMATransformumaBonespositionrotationscalenamehashparentumaBoneCountrootBoneHashboneNameHashessubMeshCountvertexCountRootBoneNameoptimizedoptimizeduvOptimizedBoneWeightoptimizedBoneWeightsboneIndexweight01weight23OptimizedBoneWeightV2optimizedBoneWeightsV2weightoptimizedTangentsoptimizedNormalsoptimizeduv2optimizedVertArrayoptimizedNormalArrayoptimizedUVArrayoptimizedBoneWeightArraySubMeshTrianglesNewoptimizedSubMeshArraytrianglesArrayextraBindPosesextraBoneNameHashesextraBonesisMaleslotGroupr/|Wkw�G�8�(抆>濉>���矌�9�.�
€7€€4€v€
A�€A.€ A�€]€Ah€�€
�€€.€
€H€�€€1€1€ @�€€
Q€j€
�€
A�€#
€1€1€���€€H€j€€1€1€@�€€Q€j€€1€1€€�€€4j€€H€D€1€1€@�€€Q€j€�€SH€^€1€1€@�€€Q€j€ dr
!�€"€.€ #€H€y$€1€1€%@�€€&Q€j€'�
(�€)€.€ €�
+�€,€.€ -€m_FileIDm_PathIDNoSaveObjectRefsIndexedTypeNamesAssetItemItems_QualifiedName_TypeIndex_NamePPtr<$Object>m_Item_PathPPtr<$UMAMeshAsset>BaseMaleBoneBaseFemaleBonerqo;O媹RV8-駇]�4%G閝Px?乍餩�馐E�
€7€€4€v€
A�€A.€ A�€]€Ah€�€
�€€.€
€H€�€€1€1€ @�€€
Q€j€
H€
€1€1€
@�€€�Q€j€�€€1€1€��€€H€j€@�€€Q€j€H€/€1€1€@�€€Q€j€�€<€1€1€��€€H€j€€1€1€@�€€ Q€j€!�€B"€1€1€#��€€$H€j€%€1€1€&@�€€'Q€j€(�€X)€1€1€��€€+H€j€,€1€1€-@�€€.Q€j€/p0€H€�1€1€1€2@�€€3Q€j€4��5€1€1€6€�€€7�j€8€H€�9€1€1€:@
�€€;
Q€j€<�€�=�€�>��?€�€�@@h€�A€
1€1€B@�€€CQ€j€Dm_FileIDm_PathIDDisplayValuecompatibleRaceswardrobeSlotHidessuppressWardrobeSlotsbeSuppressWardrobeSlotsMiniPackReciperecipeDataraceMiniPackedSlotDataslotsidscalecopyIdxMiniPackedOverlayDataoverlayflagsrT鑒鄽�-
Q�2 v拷�r4犯{ $(�)胙墔k"
€7€€4€v€
A�€A.€ A�€]€Ah€�€
�€€.€
€H€�€€1€1€ @�€€
Q€j€
�€
�1€1€
@�€€��€j€m_FileIDm_PathIDserializedChunkrUL'g6c鼾%Fmd�&`="S 胲齗衿2她Ca
€7€€4€v€
A�€A.€ A�€]€Ah€�€
�€€.€
€H€�€€1€1€ @�€€
Q€j€
'
�€
€.€ �€�€6�€L€1€1€��€€H€j€@�€€Q€j€�€Z€1€1€@�€€�€j€�€l€1€1€��€€H€j€€1€1€@�€€ Q€j€!��"€��
#�€$€.€ %€��
&�€'€.€ (€��)€1€1€€�€€+�j€,€H€�-€1€1€.@
�€€/
Q€j€0��
1�€2€.€ 3€H€�4€1€1€5@�€€6Q€j€7�€Py€
�€€.€$€9b�€C�€Py€
�€€.€$€�€nH€� €1€1€!@�€€"Q€j€#�€�$€1€1€%��€€&H€j€'€1€1€(@�€€)Q€j€L€�+@�€�,�€�-�€�.€1€1€/€�€€0€j€1€H€�€2€1€1€3@�€€4Q€j€5H€
€6€1€1€7@�€€8Q€j€9AssetBundlem_PreloadTablem_FileIDm_PathIDm_ContainerAssetInfopreloadIndexpreloadSizeassetm_MainAssetm_RuntimeCompatibilitym_AssetBundleNamem_Dependenciesm_IsStreamedSceneAssetBundlem_ExplicitDataLayoutm_PathFlagsm_SceneHashes嗐N割vB皦麡韶侔O�€7€€�€A€1€1€A@�€€A
j€
A$€
A�€$A.€-
A�€6H€�€ €1€1€
@�€€
Q€j€
�€>
L€D�m_ComponentComponentPaircomponentm_FileIDm_PathIDm_Layerm_Tagm_IsActivev�xIB很7��4U[t€7€€4€v€
A�€A.€ A�€ �€" �€$ �€&
�€( �€*
�€"
�€$
�€&
�€:
�€"� �€$ �€& �€GA€1€1€A@�€€A�€A.€ A�€R
�€.€ m_FileIDm_PathIDm_LocalRotationxyzwm_LocalPositionm_LocalScalem_Childrenm_Father萜�铸蝷�4秹0�4傕�夑G就�Larn艞眿�!l乷谗笖�8$p款妍08晽�&€凄煻P<�()�L゜忞棯�+X贖橾�
�,@捞l~_誔X嚡暞^zi貾-X枿#i}レ�/
�5痿2B身1hp2�4r喈�+4�T陁m傺�043
X夗箭纲h4l檂徦�;��6<D9�13%8<葥� �滻X咢 ?v轔LXOD鯸 伸娥Q燨€婦�&D2<dXL;�$+k賟t R\夑G就�捞l~_�4r喈�+4葥� �滻婦�&D2<dRaceData
="S 胲齗衿2她RaceDataUMA=o�€?
Z�>€簲;詵o?墟毒D3o?�!c=W2淳Sx�>�[絯�?悑z<}准€?斕�=�'蚪妑}?ⅱ缶x莮?]iQ叫 戤�>6巜=筝}?
=-�€?�?unityfs5.x.x2018.4.11f1烅?[cq瀨@ �cab-5c944700d27cfde7fcdedefb5e98ad87i�瀨j2018.4.11f1
s鬾�0炻揑?�'€7€€h€�€€1€1€@�€€q€j€�€�€*
�€3�€< �€e
�€n
�€w
�€ �€i �€r�€{�€��€��€��€��€�h€�€1€1€@�€€q€j€h€�€1€1€@�€€q€j€h€�€1€1€ @�€€!q€j€"m_executionorderhash128m_propertieshashbytes[0]bytes[1]bytes[2]bytes[3]bytes[4]bytes[5]bytes[6]bytes[7]bytes[8]bytes[9]bytes[10]bytes[11]bytes[12]bytes[13]bytes[14]bytes[15]m_classnamem_namespacem_assemblynamer�翸諳/j"ty潖�嵞躞#嫻~[d0+6t €7€€4€v€ a�€a.€ a�€]€ah€�€ �€€.€ €h€�€€1€1€ @�€€ q€j€ h€ €1€1€ @�€€ q€j€�€€1€1€��€€h€j€@�€€q€j€�€-€1€1€@�€€�€j€@l€�€u€1€1€@�€€�€j€@�€_ �€c!�€g"�€k#�€o$�€s%�€w&�€{'�€(�€�)�€�*�€�+�€�,�€�-�€�.�€�/��01€1€1�€€2�j€ 3�€�4�€�5�€�6�€�7�€�8�€�9�€�:�€�;<1€1€=�€€>j€ ?�€!@�€+a�€5b�€?c�€id�€ve�€cf�€pg�€}h€1€1€i@�€€j�€j€ k �€�l �€�m �€�n �€�o€1€1€p@�€€q�€j€r �€�s �€�t �€�u �€�v �€�w€1€1€x@�€€y�€j€ z �€�[ �€�\ �€�] �€�^€1€1€_@�€€
v€j€a�€�b�€�c€1€1€d@�€€e�€j€f �€�g �€�h �€�i€1€1€j@�€€k�€j€l �€�m �€�n �€�o€1€1€p@�€€q�€j€r �€�s �€�t �€�u€1€1€v@�€€w�€j€x �€�y �€�z ��{€1€1€|€�€€}�j€~€h€�€1€1€€@
�€€�
q€j€����€1€1€�€
�€€�
�j€�€�€���€�€ 1€1€�@
�€€�
�€j€
�
�€��
�€��
�€�� �€�€ 1€1€�@
�€€�
�€j€
�
�€��
�€��
�€�� �€�€ 1€1€�@
�€€�
�€j€
�
�€��
�€��
�€�� ;�€1€1€�€�€€�j€�€�€e�€1€1€�@
�€€�
�€j€��€o�€1€1€�@
�€€�
�€j€�]j�€1€1€�€�€€�]j€�€�€s
� �€�� �€�� �€�� �€|� �€�� �€�� �€�� �€�� �€�
� �€�� �€�� �€�� h€��€1€1€�@
�€€�
q€j€��€���€���€���€���€��€1€1€�@�€€��€j€��€���€��h€��€1€1€�@�€€�q€j€��€��a�€��€1€1€�@�€€��€j€��1€1€��€€�j€
��€��€4��€=�f\�1€1€��€€�fj€��€��€s��€z�€1€1€�@�€€��€j€��€��€1€1€�@�€€��€j€��€��€1€1€�@�€€��€j€��€���1€1€�@�€€��€j€��€���1€1€�@�€€��€j€��€���1€1€�@�€€��€j€��€���1€1€�@�€€��€j€���€1€1€�€�€€��j€�€�€&��1€1€@
�€€
�€j€�€5€1€1€@�€€�€j€@�€_�€c
�€g�€k �€o
�€s
�€w
�€{
�€ �€��€��€��€��€��€��€d€1€1€@�€€�€j€]x€1€1€€�€€]j€€�€s
�€� �€� �€�! �€|" �€�# �€�$ �€�% �€�& �€�
' �€�( �€�) �€�* h€�+€1€1€,@
�€€-
q€j€.�€�/�€�0�€c1ah€j2€1€1€3@�€€4q€j€5m_fileidm_pathidmeshnameanimatedbonenamesanimatedbonehashesumameshdatameshdatabindposese00e01e02e03e10e11e12e13e20e21e22e23e30e31e32e33umaboneweightboneweightsboneindex0boneindex1boneindex2boneindex3weight0weight1weight2weight3boneweightunityboneweightsm_weight0m_weight1m_weight2m_weight3m_boneindex0m_boneindex1m_boneindex2m_boneindex3verticesxyztangentswnormalscolors32rgbauvuv2uv3uv4umablendshapeblendshapesshapenameumablendframeframesframeweightdeltaverticesdeltanormalsdeltatangentssubmeshtrianglessubmeshestrianglestriangleslistumatransformumabonespositionrotationscalenamehashparentumabonecountrootbonehashbonenamehashessubmeshcountvertexcountrootbonenameoptimizedoptimizeduvoptimizedboneweightoptimizedboneweightsboneindexweight01weight23optimizedboneweightv2optimizedboneweightsv2weightoptimizedtangentsoptimizednormalsoptimizeduv2optimizedvertarrayoptimizednormalarrayoptimizeduvarrayoptimizedboneweightarraysubmeshtrianglesnewoptimizedsubmesharraytrianglesarrayextrabindposesextrabonenamehashesextrabonesismaleslotgroupr/|wkw�g�8�(抆>濉>� �矌�9�.�
€7€€4€v€
a�€a.€ a�€]€ah€�€
�€€.€
€h€�€€1€1€ @�€€
q€j€
�€
a�€#
€1€1€ ��€€h€j€€1€1€@�€€q€j€€1€1€€�€€4j€€h€d€1€1€@�€€q€j€�€sh€^€1€1€@�€€q€j€ dr
!�€"€.€ #€h€y$€1€1€%@�€€&q€j€'�
(�€)€.€ €�
+�€,€.€ -€m_fileidm_pathidnosaveobjectrefsindexedtypenamesassetitemitems_qualifiedname_typeindex_namepptr<$object>m_item_pathpptr<$umameshasset>basemalebonebasefemalebonerqo;o媹rv8-駇]�4%g閝px?乍餩�馐e�
€7€€4€v€
a�€a.€ a�€]€ah€�€
�€€.€
€h€�€€1€1€ @�€€
q€j€
h€
€1€1€
@�€€ q€j€�€€1€1€��€€h€j€@�€€q€j€h€/€1€1€@�€€q€j€�€<€1€1€��€€h€j€€1€1€@�€€ q€j€!�€b"€1€1€#��€€$h€j€%€1€1€&@�€€'q€j€(�€x)€1€1€��€€+h€j€,€1€1€-@�€€.q€j€/p0€h€�1€1€1€2@�€€3q€j€4��5€1€1€6€�€€7�j€8€h€�9€1€1€:@
�€€;
q€j€<�€�=�€�>��?€�€�@@h€�a€
1€1€b@�€€cq€j€dm_fileidm_pathiddisplayvaluecompatibleraceswardrobeslothidessuppresswardrobeslotsbesuppresswardrobeslotsminipackreciperecipedataraceminipackedslotdataslotsidscalecopyidxminipackedoverlaydataoverlayflagsrt鑒鄽�-
q�2 v拷�r4犯{ $(�)胙墔k"
€7€€4€v€
a�€a.€ a�€]€ah€�€
�€€.€
€h€�€€1€1€ @�€€
q€j€
�€
�1€1€
@�€€ �€j€m_fileidm_pathidserializedchunkrul'g6c鼾%fmd�&`="s 胲齗衿2她ca
€7€€4€v€
a�€a.€ a�€]€ah€�€
�€€.€
€h€�€€1€1€ @�€€
q€j€
'
�€
€.€ €�€6�€l€1€1€��€€h€j€@�€€q€j€�€z€1€1€@�€€�€j€�€l€1€1€��€€h€j€€1€1€@�€€ q€j€!��"€��
#�€$€.€ %€��
&�€'€.€ (€��)€1€1€€�€€+�j€,€h€�-€1€1€.@
�€€/
q€j€0��
1�€2€.€ 3€h€�4€1€1€5@�€€6q€j€7�€py€
�€€.€$€9b�€c�€py€
�€€.€$€�€nh€� €1€1€!@�€€"q€j€#�€�$€1€1€%��€€&h€j€'€1€1€(@�€€)q€j€l€�+@�€�,�€�-�€�.€1€1€/€�€€0€j€1€h€�€2€1€1€3@�€€4q€j€5h€
€6€1€1€7@�€€8q€j€9assetbundlem_preloadtablem_fileidm_pathidm_containerassetinfopreloadindexpreloadsizeassetm_mainassetm_runtimecompatibilitym_assetbundlenamem_dependenciesm_isstreamedsceneassetbundlem_explicitdatalayoutm_pathflagsm_scenehashes嗐n割vb皦麡韶侔o�€7€€�€a€1€1€a@�€€a
j€
a$€
a�€$a.€-
a�€6h€�€ €1€1€
@�€€
q€j€
�€>
l€d m_componentcomponentpaircomponentm_fileidm_pathidm_layerm_tagm_isactivev�xib很7��4u[t€7€€4€v€
a�€a.€ a�€ �€" �€$ �€&
�€( �€*
�€"
�€$
�€&
�€:
�€" �€$ �€& �€ga€1€1€a@�€€a�€a.€ a�€r
�€.€ m_fileidm_pathidm_localrotationxyzwm_localpositionm_localscalem_childrenm_father萜�铸蝷�4秹0�4傕�夑g就�larn艞眿�!l乷谗笖�8$p款妍08晽�&€凄煻p<�()�l゜忞棯�+x贖橾�
�,@捞l~_誔x嚡暞^zi貾-x枿#i}レ�/
�5痿2b身1hp2�4r喈�+4�t陁m傺 043
x夗箭纲h4l檂徦�;��6<d9�13%8<葥� �滻x咢 ?v轔lxod鯸 伸娥q燨€婦�&d2<dxl;�$+k賟t r\夑g就�捞l~_�4r喈�+4葥� �滻婦�&d2<dracedata
="s 胲齗衿2她racedatauma=o�€?
z�>€簲;詵o?墟毒d3o?�!c=w2淳sx�>�[絯�?悑z<}准€?斕�=�'蚪妑}?ⅱ缶x莮?]iq叫 戤�>6巜=筝}?
=-�€? ? aimbot
It looks like the right things to do are:
HGPLAIN=1
for hgGIT_CONFIG_NOSYSTEM=1
for gitThis PR didn't trigger ShipIt facebookresearch/d2go#15
Is there anything wrong?
ShipItRepoHG needs to be extended to implement ShipItDestinationRepo
I would really appreciate seeing this limitation documented a little further.
Specifically I would like to understand the issue with merge commits and know if there is a migration path from a codebase with a long history of these to one which would be ready to use fbshipit.
eg if target repo is a brand new GitHub repo with no branches.
Current behavior is a failing git checkout master
, something about master
not being a valid path. We can check for this and give a clearer message (maybe suggesting --create-new-repo)
Depends on #3
If repos are inconsistent, a patch could be generated, then used with git add --patch
or similar. This should be interactive because it can not know which version is correct (see DEBUGGING.md for details)
Current process is:
Ideas:
git add --patch
for reviewOptional full automation will not be accepted.
So I'm playing around with Sapling and while I really like the interface, there are times when having tools like lazygit
or gitui
is a plus. So I found this tool. I was wondering if it has support for .sl
:-)
I cannot build fbshipit because of the following error:
Composer version 1.8.4 2019-02-11 10:52:10
fbshipit: master
hhvm: 4.0.3-1~bionic
hhvm /usr/local/bin/composer require facebook/fbshipit
Fatal error: Uncaught exception 'InvalidArgumentException' with message 'array_pop() expects parameter 1 by reference, but the call was not annotated with '&'' in phar://composer.phar/bin/../src/../src/Composer/Util/Silencer.php:51
Stack trace:
#0 phar://composer.phar/bin/../src/../src/Composer/Util/Silencer.php(74): Composer\Util\Silencer::restore()
#1 phar://composer.phar/bin/../src/../src/Composer/Console/Application.php(73): Composer\Util\Silencer::call()
#2 phar://composer.phar/bin/composer(55): Composer\Console\Application->__construct()
#3 /usr/local/bin/composer(24): include()
#4 {main}
Will this be fixed? Or is there a solution for this problem? Or is fbshipit dead?
So, we have our internal monorepo syncing out to our different OSS projects -- yay! It's working great.
Now, the question of course is how do we accept PR's? It seems to be that most, if not all, of the fbshipit tooling could be used to build functionality like "@facebook-github-bot import".
I'm curious about two things:
is the fbshipit code used internally to build the import/shipit bots?
Do you have any thoughts on how we might handle the case where we've moved files from an internal __github__
folder into the root directory of the external repo during the outward sync, but on the inward sync those files need to be reconciled back to their proper place internally? An example of this in fb OSS seems like it would be the Relay repo. There's a moveDirectories filter that does self::RELAY_ROOT.'/__github__/' => ''
. What way have you guys found to reconcile that when doing an import and generating a diff for Phabricator?
Curious to hear your thoughts. I want to build this! Manually building patches from PR's is for the birds :-)
Thanks!
/cc @fredemmott
Should first try to interpret commit id as a destination commit; look it up, find the corresponding source commit. If this fails, try to interpret the parameter as a source id.
Then process that one commit with --verbose output, and exit immediately without actually committing it.
This would make debugging cases like https://github.com/facebook/fbshipit/blob/master/DEBUGGING.md#why-are-filescommits-being-skipped somewhat easier.
On a new project, where I intend to use fbshipit, I get the following error when I run hhvm /path/to/composer require facebook/fbshipit
:
[InvalidArgumentException]
Could not find package facebook/fbshipit at any version for your minimum-stability (stable). Check the package spelling or your minimum-stability
After updating my minimum-stability to "dev", it installs fine.
We should either 1) publish with a "stable" stability, or 2) note this in the installation documentation.
See facebook/sapling#451 (comment)
The commits in the PR are well split and the messages are well written. Could ImportIt optionally create a diff stack and do not squash the commits?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.