DFFilesdocumentationReleaseas[Indigo]Documentation>DFFiles.tiogaLasteditedRussAtkinsononJune8,1983AbstractThisdocumentationdescribesthesoftwarethathandlesDFfiles.OfparticularinterestaretheprogramsBringOver,SModelandVerifyDF.TableofContentsIntroduction2SimpleDFFileFormat2IndividualCommandsBringOver3SModel7VerifyDF10DFDisk12DFDiff12DeleteAll12DFDelete13RemoteDeleteAll13ReleaseTool13OtherInformation14CedarReleaseProcedures14CompleteSyntaxDescriptionofDFFiles18SemanticsofDFFiles18XEROXXeroxCorporationPaloAltoResearchCenter3333CoyoteHillRoadPaloAlto,California94304DRAFTForInternalXeroxUseOnlyDRAFTpî ìï^{î– qî ìïY…îorî¬ïY…ð*qî ìïV6î �rî¬ïV6î`î~î¥î!Oî"üqî ìïRèrî¬ïRèîÇ îÆî%]î'Çî-£î0{î5éî8î;Üî= îDCî ìïQ@î �î î­ îî"mî%Zsî ìïKwî”î˜tî ®ïH( uî>ïH(tî ®ïE­îUîàî¸uî>ïE­tî ®ïC2 îQî ®ï@·uî6Ýï@·tî ®ï><uî6Ýï><tî ®ï;Áuî6ï;Átî ®ï9Fuî6ï9Ftî ®ï6Ëuî6ï6Ëtî ®ï4Puî6ï4Ptî ®ï1Õuî6ï1Õtî ®ï/Zuî6ï/Ztî ®ï,ß uî6ï,ßtî ®ï*dî¥ uî=™ï*dtî ®ï'éîÆîÐ uî=™ï'étî ®ï%nîøî îêî ¢î#-uî=™ï%ntî ®ï"óî%îÞîiuî=™ï"óvî ìïÒrî!-ïÒî%p î!-ï+î$‰î'˜î.9î!-ïƒî$Êî)Ôî,^î!-ïÜî$‰î'û î.§wî ìïæî�îCîYî òî'žî,0î1‰î4.`TVm$:DFFiles2IntroductionTheprogramsdescribedbelowcompriseageneralpackageforfilemanagementwithexplicitversioncontrol.EachprogramtakessomenumberofDFfiles,whicharelistsoffilenames,oneperline,specifyingaremotehostanddirectorywherethefileisnormallystored,followedbythefile'screationdate.(Incertainsituationssomeofthisinformationcanbeomitted.)TheDFfilessystemwasinitiallyusedbypeoplerunningMesaonpublicDoradoswhowantedtoguaranteetheyhadthecorrectversionoffilestheyneededandasaneasywaytosavechangedversionsoffilewithoutunnecessarycopying.ItisnowbeingusedtopartiallyautomatetheCedarandMesagroupreleaseprocessaswell.EricSchmidtwasprimarilyresponsiblefortheprogramsandtheinitialversionsofthisdocumentation.Ofthecommandsdescribedinthisdocument,thesethreearemostheavilyused:BringOver-willinsurethatthefileslistedinaDFfileareretrievedfromtheirremotefileservers,possiblyoverwritingdifferentversionsalreadyonthelocaldisk.SModel-onceBringOverhasbeenrunandafewfileshavebeenchanged(possiblybyeditingthem),SModelwillstorethenewestversionsontheremotefileserversandproduceanewDFfilecontainingreferencestothenewestversions.VerifyDfisappliedtoaCedar.BcdfileandaDFfileandverifiesthatallfilesneededtore-buildthat.BcdarelistedintheDF.Thisdocumentisintendedasthedefinitivedocumentationforthecommandsandproceduresdescribedhere.Pleasesendmessageswithcomments,questions,anddiscrepanciestoCedarSupport^.PA.MessagesaboutchangestotheDFfilessystemaresenttoCedarImplementors^.PAand/orCedarUser^.PA.Youmightalsoread"CedarReleases:PoliciesandProcedures"byRoyLevin,storedon[Indigo]Documentation>ReleaseProcedures.Pressand.Bravo,forinformationonuseofDFfilesintheCedarreleaseprocess.SimpleDFFileFormatAsimpleDFfileiscomposedofsomecontrollinesandlinesoftheform:Directory[host]Forexample,Directory[Indigo]Cedar>pl.mesa!132-Oct-8015:43:09PDTspecifiesaspecificversionnumberforthefileserver,andalsoliststhefile'screate-date.NotethatafilecannothavethenameDirectory,andupper-andlower-casedifferencesareignored.BlanklinesareOKandlinesaretreatedascommentsiftheybeginwith"//"or"--".TheformatofDFfilesissimilartothatproducedbytheLocal-ListorRemote-Listsub-commandsintheFileTool.YoumaymakeitalmostidenticalbysettingtheoptionsintheFileToolsothatonlythefilenameandfilecreatedatesarelisted.ExampleDFFile:Anexamplefilemightbenamed"Poplar.DF"andcontain:--FilePoplar.DF,created5-Oct-8019:48:32Directory[Indigo]Cedar>poplar.bcd!163-Oct-8013:26:28xî&´ïgrîHDïgsî ìï^õ tî ìï[¦î êî#îtî§î#©î$ùî)òî/Zî1½î4L î<Œî?ÍîDÇî ìïYÿîëî—î^îî ßî&Dî(5î*ùî.wî2½î5Iî8Dî:5 î@îîCÓîF€î ìïXX înî¤îVî\îî!üî&î(Šî*ÿî,vî2Rî6Ùî<‰î>�î@ûîDMî ìïV°î Íîîœ î»îNî î"© î*3î,¾î.¯î ìïT5î ùî¹îÛî‹îlî î#î%Aî)ñî/]î3;î5vî9åî?©îBâîGàî ìïRŽî3î?îóîNîÜî! î#Uî&?î)Kî.î0Ãî2mî4Zî7Zî:-î;Øî>ØîDCî ìïPçî ÃîIîs î1î!tî# î$’î'´î+œî.öî0Âî6Bî<^î>ÛîCîEæî ìïO?î ýî‘îsî/îî î%�î(Iî.U î5•î7áî:Nî@pîC5îE£î ìïM˜î8îñî“ î ìïKî ýî]îBîmîî¼î&�î* î-”î/çî3Dî8yî ®ïH¢tîKïH¢îKïH¢îøîîîî Pî#?î&ìî(œî)Èî,Uî.Àî1î6ßî:Hî=‘îB:îD¦î ®ïFúîú îBîèî$4î)î+ î-mî0³yî ®ïDtîêïDîïDîî`îýî#ƒî&Aî)!î*tî-=î0Sî3Âî7Hî<ßîBÎîDòî ®ïBØîî4îßî;î›î#!î(mî*sî,Òî1yî3ãî8sî;*î@ƒîA­îD›îG%î ®ïA1 îg îéî—îöî"}yî ®ï>µtîRï>µîµï>µîÇî»îsî§îÉî"÷î%jî(+î)_î+óî.fî1'î5ùî8Ðî:Êî=ÁîB”îDLî ®ï=î|î¡îôîžîLî¬î ìï:“î îrîÝî˜îEî¤ î$ î.'î0dî2Ãî9§î<^ îCdî ìï8ìî «î¾îÞîžîžî$h î*¸î-T î5‹î7îC‡î ìï7Dî Îîúî¨îî“î�î üî#Oî&3î'áî7!î;È î ìï4Éî ­îVîÕî¡îî%Öî+‡î.ñ î7eî:î=¾îB³îG‰î ìï3"ð4î,nî/.î3çî6- î=Àî?ÏîBLîDîF¡î ìï1{î šî úîî—sî ìï.,îfîXî´tî ìï*Ýî yîÞîhîÒî=îµînî"î&³î)îî,¦î/áî1šî3ùxî ®ï(btîÖï(bî9ï(bî äî#þî'½î*uî1z î ìï%çî —xî ®ï#ltîÖï#lî9ï#lî-î2¬î8Eî ìï ðî{îºîºî—îÙî",î$¡î' î+›î.gî1Jî4!î6–î9ò îAõîE�îHeî ìïIî UîÑîîwxî7ïIîJïItîÛïIî ¸ïIî#oî'ëî*£ î1P î8Lî:Ÿî ìïÎî âîîqî)îàîîoî# î$ºî+Gî,¨î/¸î3ƒî6žî9ãî;§î ìïSî Óî]î%î¿î»î6îÊî ‡î#dî)“î+žî. î4œî6o î>a îGáî ìï«î QîÑîåîïî©îî"oî(î*î.rî0×î5»î7oî9Ôî?rîA<îDîG/î ìïî UîîÌî6î8îÁîyî ìï‰îŸîtî ìïî ?î¸î!îî î� î&´î)kyî ®ï“î%îæ îëîî"Àxî ®ï tîÖï î9ï îoï � î.õï �î4šÿ —TVm$DFFiles3checkpoint.bcd!324-Sep-8011:14:26AFiles.bcd!52-Oct-8017:17:32overviewdefs.bcd!62-Oct-8017:16:16coredefs.bcd!72-Oct-8017:16:20filepageusedefs.bcd!52-Oct-8017:17:28filepageusedefs.mesa!126-Oct-7912:45:39filesystemdefs.bcd!52-Oct-8017:17:31filesystemdefs.mesa!122-Oct-7913:21:59BringOverIfthenameofyourfileis"Poplar.DF",youtypeBringOverPoplar.DFtotheExecutive.BringOverworksasfollows:ItreadstheDFfileonelineatatime.Ittakestheremotefilename,stripsoffthedirectoryinformationandlookstoseeifitisonthelocaldisk.Oneofthreethingscanhappen:(1)Ifthefileisnotonthelocaldisk,BringOverwilltrytoretrieveit.(2)Ifthefileisonthelocaldisk,BringOverlooksattheversiononthelocaldisk.Ifthecreate-dateonthelocalfilediffersfromthethecreatedatelistedintheDFfile,BringOverwilltrytoretrievetheremoteversion.(3)Ifthecreate-dateisomittedfromtheDFfile,BringOverwillALWAYStrytoretrievethefile.IfyouomittheIFSversionnumber(e.g."!3"),BringOverwillenumeratealltheversionsofthatparticularfilelookingforonewiththecorrectcreatetime.IftherearenoversionsofthefileyoulistintheDFfileontheremotehostinthedirectoryyouspecify,BringOverwillgiveyouawarningmessage.Iftherearefileswiththesamenameandnoneofthecreate-datesavaliablematchthatlistedintheDFfile,BringOverwillgiveyouawarningandoffertoretrievethelatestversion.AfterrunningBringOveryoucanbesurethefileslistedintheDFfileareonyourlocaldisk,andthattheircreate-datesagreewiththecreatedateslistedintheDFfile,orBringOverwillhaveprintedouterrormessages.NormallyBringOverwilllisteachfiletoberetrievedandwillaskforconfirmation.(Youmayreply"y"orCRtoconfirm,"n"toskipretrievalofthisfile,"q"toquittheBringOverprogramaltogether,and"a"toretrievethisfileandtransfersubsequentfileswithoutfurtherconfirmation.)BringOverwilltransferallthefileswithoutconfirmationifyouprovidethe/aswitch:BringOver.~/aPoplar.DFBringOvercanreadaremoteDFfileaseasilyasalocalone:BringOver.~[Indigo]Poplar.DFreadsPoplar.DFfromtheremotefileserverasspecified.(Ifthehostfilesystemis"Indigo",the"[Indigo]"canbeomitted.)Asfilesarebroughtover,aproperty(calledtheRemoteFileNameproperty)isaddedtotheirleaderpagerecordingwheretheremotecopycanbefound.ThesepropertiescanbeprintedoutbytheDFDiskprogram(seebelow.)xî&´ïgrîHDïgtîoï_/î.qï_/î4Ýîoï\´ î.õï\´î4šîoïZ8î.õïZ8î4šîoïW½ î.õïW½î4šîoïUAî.õïUAî4šîoïRÆî.qïRÆî4ÆîoïPJî.õïPJî4šîoïMÏî.qïMÏî4Æsî ìïJ€tî ìïG0î nî Íî�îFî�îëîV î"Òî%‰uî ®ïDµîtî ìïB:î šî ú î ìï?¾î–î‰î)îÇî0î Áî#î%�î'ëî*ˆî-1î.»î/×î3¼î5%î8•î:æî?€îAÛîEåî ìï>î îqî< îÀîqî"î#°î%ýî'Wî(§î* î, î.eî1¥î5aî8_î:î=”îA¦îD+î ®ï;›îÕîWî¶î î‹îîîfî ¬î#óî*ªî-Vî/}î1,î6+î ®ï9 îÅî6î…îÞî:î/îî´î êî'’î+î,§î.öî3®î5¤î7óî;(î>Òî@CîB’ î ®ï7yîµîî\îÇîîî ßî#@î'Cî*Iî-ôî/£î2î4�î7Rî> î@·îBàîD�î ®ï5Ñî î´î ®ï3VîÕîWî¶ î³îî 5î#œî%üî(†î+Hî2zî4«ï3Vî5ï3Vtî:ï3Vî:pï3Vî<)î=ØîB×îE7î ìï0Úî ­î¤îî½î´î»î"'î%iî)ˆî0€î3jî:nî<žî?=îDÈîFÁî ìï/3 î.î£î¢îìî£îÊî"6î&Ôî*âî.üî0‰î4î6~î8�î=èî?­îBîDŽîGQî ìï-Œî Íî_îî¹îòî„î^î Šî"kî$ýî+î-ìî3î9þî<Üî?üîBæîDBî ìï+äî(î¯î=î•î‡î¦î î#Œî'Pî* î-ƒî/@î1¤ î9*î>éîCîEåî ìï*=î šî úî„îFîþî©î—î"Nî#wî(Äî+{î.×î0†î5…î7åî;yî ìï'Âî ŽîÉî„î?îÎî Âî#¿î&"î)î,Áî.sî0Öî3eî5Òî8)î:3î=rî@¼îDîFÁî ìï&î I îßîžîÏîDî"\î%ûî)»î+~î-óî0”î3kî5Eî<î>ÓîB/îGî ìï$sî ^î ìï!÷î î¸îWîˆî¬î! î"¬î$�î*Jî,õî/”î1ñî4" î= î@†îC}îFùî ìï Pî ¾îWîî¥î^îîî"‡î$Nî&ýî)Íî,‡î.Cî15î3£î:hî@ îFØî ìï©î ­î‘îÇîžî>î+î!l î(Ëî+ïî11î6 î?öîFäî ìïî÷îçîFî4î@ î#eî$Æî'|î,‡î.çî0Áuî ®ï† îÌîTtî ìï î¤î/îIîsîî¥î!î"½î&‡î(5î)_î,¥uî ®ï� îÌtî ìïî ÆîÅîhîîæî"‹î&Óî(¼ î/Ëî2î4�î7Óî:xî?.î@ÖîG/î ìïl îxîîôî ìïñî ôîØî#îRî»îÛî mî$Ôyî'+ïñî()ïñ tî1Âïñî2‰ïñî7Íî90î=Kî>ðîB.îFHî ìï Jî0îbîÜî�î î!®î#¹î(×î,ó î3„î6*î85î=#î?³îAÈîDBî ìï ¢î{îH‡TVm$ÓDFFiles4Commentsmaybeindicatedbylinesbeginningwith//or--,asinthePoplar.DFexampleabove.Inaddition,BringOverwillprintcommentsattheendofthefileafterthelastlinelistingfileswhenitisrun.Thiswaydistributorsofsoftwarecanprintoutusefulreminderstotheirusers.InsteadofgivingcreatedatesIfthecreatedateentryisa"~="ratherthananormaldate,BringOverwillretrievethefileonlyiftheversionontheremoteserverisdifferentthantheversiononthelocaldisk.Ifthefileisnotonthelocaldisk,itwillberetrieved.Forexample,Foo.Mesa~=Ifthecreatedateentryisa">"ratherthananormaldate,BringOverwillretrievethefileonlyiftheversionontheremoteserverisnewer(ormorerecent)thantheversiononthelocaldisk.Ifthefileisnotonthelocaldisk,itwillberetrieved.Forexample,Foo.Mesa>willretrievefromtheremoteserveronlyifthereisanewerversionontheremoteserver.IndirectUseofOtherDFFilesTherearetwocommon,distinctusesofoneormoreDFfilesbyanother.Thefirstissyntacticinclusion,similartomacro-expansion,whereaDFfilereferencesanotherandallprogramstreattheseDFfilesasiftheywereasingleDFfilewiththetextoftheinnerDFfilesubstitutedintheouteroneatthepointofreference.Theseconduseisasan"Importer"ofanothersystem,package,orsetoffilescontrolledbysomeoneelse.ByanalogywiththeseconceptsinMesa,thereareExportsaswell.TheDFfilesyntaxallowsbothformsofuse,whichareindicatedbydifferentkeywordsbeforethenameanddateofthenestedDFfile.SyntacticInclusionAlineoftheformInclude[host]file.DFOfwillcauseBringOvertoinvokeitselfonfile.DFatthepointitencounterstheIncludestatement.IftheincludedfileitselfhasanIncludestatement,thenBringOverwillagaininvokeitselfontheinnerDFfile,andsoon,inarecursivefashion.Furthermore,theDFfileisretrievedusingtheusualBringOverrulesbeforetherecursivecall.ExamplesofInclude:Include[Indigo]CompilerSources.DFOf2-Oct-8115:43:09PDTInclude[Indigo]CompilerObjects.DFOf>(TheOfkeywordisoptional,andtheIncludestatementmaybesplitonmultiplelines.)ExportsandImportsDFfilesusersareencouragedtouseasingleDFfileforpackagestheymaintain.Some,butusuallynotall,ofthefilesanimplementorneedsarealsoneededbyusers,orclients,ofthepackage.Filesthatareusefultobothusersandimplementorsaresaidtobeexported.ThesefilesareindicatedbybeinglistedbelowastatementsimilartotheDirectorystatement:Exports[host]xî&´ïgrîHDïgtî ìï_/îéîûîùîúîî!Kî'Äî*ìî,ßî.°î0�î2Hî4î6pî=AîBÇîGÀî ìï]ˆîÁî†î?îµî#Pî$öî'cî*(î+ïî.\î0Óî4î6Šî9î;Üî@îBýîF¿îH#î ìï[àî ^îxîP î™îRî!Ëî$Vî'¾î*4î.Lî4Ãî6qî9¸xî ìïX‘î¾îlîmî�tî ìïUBî kî ÈîÇîÉîZîÃîêî5î#@î&cî'Šî,Dî/žî6Sî8ûî=øî@TîB»îEÒîG/î ìïS›î©î¥îúî–î˜îùî"”î%°î(î,Âî.½î1î4Mî8î9yî;Îî>-î?ŽîAøîCôîFIî ìïQôî 2îˆî4î$ îÇîrî ®ïOyî+¯ïOyî ìïLýî �î ôî î!îÈîGî„î-î"Mî%†î&Ãî+“î/î5Îî8�î= î@îB�îE»îG/î ìïKVî¸îÂî&îÑîâîRî!nî#¯î'Fî+èî/î1vî6Aî8Lî:¯î=úîAÌîCRîE¶îH#î ìïI¯î aîgîÇî îSî©îUîE î#èî&“î ®ïG4î+¯ïG4î ìïD¸î —î—îþî]îî î#+î$Œî(î)�î*ªî.Âî3Šî5�î7ðî<—xî ìïAiî îØî†îˆîýtî ìï>î Ýî!î¼î´îxî aî" î$¥î&Yî)Ûî,Vî/3î1î6äî9¬îÙîBdîDñîGáî ìï:Ìî Mî^î°îÚîÆîQî»î×î!7î#ïî%©î( î+¨î.3î0� î7œî9Jî;ªî?JîAöîC�îEðî ìï9%î ¯ î�î€îî›îîÊî!Ä î)î*Äî/Úî4·î:\î<*î>Qî@îC î ìï7}î èî¢î5îQîfî�î# î(¥î*Sî.Uî1Þxî41ï7}î5ï7}tî9Qï7}î9öï7}î:ÿî ìï5î ¸î7î”îÍîîîî þî"«î%lî)nî+µî1�î3�î9'î?9îC|îEÏî ìï3[î £î¨îaîÁîî›yî ìï0 îÚtî ìï,½î yî/îèîHxî ®ï*Btî‹ï*Bîîï*Bxî‘ï*Bî±ï*Btî£ï*Bî Sï*Bî ìï'Æî šîQî î¼î9î ˜î" î'jî)î+gî/î0` î7Txî9µï'Æî::ï'Ætî>•ï'Æî?ï'ÆîE«îG/î ìï&î„îßî-î”xîvï&îúï&tîEï&îÉï&î$Äî'Üî.…î1"î4½î9*îpî@ÁîDQîFÍî ìï$xî Ÿî^î¸îbî‡îTîû î'tî)Ïî,Vî.»î0"î5äî9‰î;äî?îF2î ìï"Ðî;î›îlî ìï Uî+xîäï Uîhï Utî=ï Uxî ®ïÚtî‹ïÚîîïÚxî(5ïÚî)UïÚtî*GïÚî*÷ïÚî/ìî5†xî ®ï_tî‹ï_îîï_xî(ï_î)3ï_tî*&ï_î ìïäxî =ïäî]ïätîPïäî ïäîéîUîîÈxî!'ïäî!«ïätî&ïäî&‰ïäî,:î/>î1/î43î69î;³yî ìï•îî§tî ìïFî nîSîÇî î]îî oî!�î%rî'ôî*Uî,‰î2Gî5Nî;Óî?øîBpîGî ìïžî /î âî<î$î î.î! î#Wî&î*áî,×î0§î2fî6ýî8°î; îAîDsîG;î ìï÷îî±îìîiî î!Çî$î&ñî(žyî*Žï÷î+(ï÷tî/�ï÷î0îï÷î4ïî7Ûî:.î@ îBîEåî ìï Pî ùî#îXîÞîŒxîìï Pîÿï Ptî$ï Pî$˜ï Pxî ®ï ÕtîÍï Õî0ï Õÿ¾TVm$�DFFiles5Directory[host]BringOvernormallyexaminesallthefilesinaDFfile(i.e.itassumesyouareanimplementor.)Ifyouareauser,youcangetonlythosemarkedExportsbygivingBringOverthe/pswitch:BringOver/pPoplar.DFUsersoftenneedtospecifythe/pand/aswitches.ThecorrectwaytoinvokeBringOverisBringOver.~/a/pPoplar.DF(Notethespacebeforethe/aandbetween/aand/p.)WhenaDFfileneedstorefertootherDFfilesasauser,itmayhaveanImportsstatementImports[host]file.dfOfwhichcausesBringOverto(1)retrievefile.dftothelocaldiskifnecessaryand(2)examineallfilesmarkedExportsinfile.dfandretrievethemifnecessary.Ofcoursefile.dfmayhaveIncludeorImportsstatements,sothisisarecursivealgorithm.SometimestheExportsfilesaretoofewortoomanyfilesandtheuserofapackagewouldliketolistthefileshe/sheneedsfromtheimportedDFfile.AppendingaUsingclausetotheImportsstatement,analogoustotheoneintheMesalanguage,givestheuserexplicitcontroloverwhichfileshe/sheneeds:Imports[host]Package.DFOfUsing[listoffiles,separatedbycommas](TheOfclausecanbeomitted.)UseoftheUsingclauseisstronglyrecommended,butisnotrequired.ExamplesofImports:Imports[Indigo]Pilot>PilotMesaFriends.DFImports[Indigo]CoPilot>CoPilot.DFOf24-Sep-8111:14:26PDTUsing[CPSwapDefs.Bcd,CPSwap2.Bcd]AswiththeIncludeclause,theImportsstatement(andUsingclause)mayspanmultiplelines.IntheCoPilot.DFexampleabove,CPSwapDefs.BcdandCPSwap2.BcdcanappearanywhereinCoPilot.DF.(ItdoesnotmatterwhethertheyareExportsornotwhenaUsingclauseisusedtoaccessthem.)ThefilesreferredtobyanImportsstatementmaythemselvesbeexportedtothenextouterDFfilebyprecedingthewordImportsbythewordExports.Thisisusefulwhenusersofapackageyoumaintainneedtohavefilesfromsomeotherpackageinorderto(e.g.)compiletheirsystem.Youcanimportandexportthesefilestoassureyouruserswillhavethem.UsingClauseSemanticsSince,ingeneral,CoPilot.DF(intheexampleabove)mayhaveinternalstructure(i.e.itreferencesotherDFfileswithIncludeandImportslists),CPSwapDefs.BcdandCPSwap2.BcdmaybedefinedinsomeoftheDFfilesreferencedbyCoPilot.DF.Toavoidanexplosioninsearchtime,theserestrictionsapplywhenusingUsinglistsonaDFfilewithinternalstructure:xî&´ïgrîHDïgtîoï_/î]îîî½î2îàî ^î#î%u xî ®ï\³tîÖï\³î9ï\³îoïZ8î]îîî½î2îKîúî"Y î ìïW¼î¥îvîsîdî Äî#³î%bî&Œî)î+‚î.8î/�î4Üî7”î9èî;Ú îEUîFØî ìïVî ?î iî»îrîýîFî`îÿxî#þïVî$æïVtî)ïVî)äïVî+î/;î5óî8Sî:Nuî ®ïS™îî¤tî ìïQî ÁîUî²î`îýî]îXî"î#êî*)î-î1”î4kî6î:”îALuî ®ïN¢ îÌîTîÜtî ìïL&î Üî;îñî@îŸîyî1î$Ÿî&zî)1î ìïIªîî.î¹î"îî²îî±î"Pî$Ûî'Éî)wî* î-òî/Hî2Lî5“xî7ƒïIªî8ïIªtî<˜ïIªî=ïIªxî ®ïG.tîÂïG.î%ïG.xî†ïG.î¦ïG.tî˜ïG.î IïG.î ìïD³î%îŠînîGîšî"Åî&òî(Ëî+Vî.Èî1áî3mî9¬î<�î>âîD†îF¡î ìïC xîêïC îÑïC tîïC îjïC î´î³îiî!fî$îî&M î-9î/Hî3–î7•î:˜xî=ÜïC î>aïC tîB¸ïC îCsïC xîDzïC îDþïC tî ìïAd îþîÂîcîÏîùîÊ î ìï>èîôxî`ï>èîGï>ètîŒï>èîï>èî†îæî ]î# î$Ûî'Qî+(î."î0æî3Rî6Xî8î9Tî>£îBÞîE–îGQî ìï=Aî PîBîØî½î)îŒî#„î&î)aî0�xî1»ï=Aî2Îï=Atî5µï=Aî6Pï=Aî9Ñî;„xî=èï=Aî>lï=AtîCï=AîC…ï=Aî ìï;šîMîòîGîéî�îâî‚î$–î'þî*Sî-Cî2 î6µî9Åî=Éî@­îE4xî ®ï9tîÂï9î%ï9xî ¬ï9î!Ìï9tî"¾ï9î#nï9xîoï6¢tîeï6¢îÈï6¢îî¾îî!$î#î ìï4'xî =ï4'î]ï4'yîPï4'îï4'tî¡ï4'î;ï4'î¹îDî5î ìï1«î ¹îrxîÑï1«îåï1«tîÇï1«îbï1«îßîKîŒ î(Üî+]î,Éî/>î ìï//î+xîäï//îhï//tîuï//xî ®ï,´tîÂï,´î%ï,´ð'xî ®ï*8tîÂï*8î%ï*8xî'æï*8î)ï*8tî)ùï*8î*©ï*8î0dî5þxîoï'¼tîeï'¼îÈï'¼î î ìï%Aî ýîxîwï%Aîûï%AtîTï%Aîïï%AîÅxî%ï%Aî©ï%Atî"9ï%Aî"¾ï%Aî(oxî+ ï%Aî,³ï%Atî/•ï%Aî00ï%Aî4'î7+î:fî?àî ìï"Åî ,îý îËîµî!€ î,Øî0 î9GîîîB“îE$îG“î ìïSîCî£xî,ïSî°ïStîAïSîïSî=î�xî#&ïSî$ïStî'ÁïSî)"ïSî,=î-©î1Âî5xî8öî:¯î;ÙîAîCÔî ìï¬î ?îäî"îîdîíîƒî$¼î&aî* î+±î/$î4Qî7�î<Óî?ØîBZîFØî ìïî;îÅî²îaî„î¿î!=î#èî'/xî ìïµî âî\tî ìïeî óîšî¾ îî6î Žî&î*uî-rî0²î5Áî;wî>%î?u îEðî ìï¾î mîQxîbï¾îçï¾tî6ï¾îÛï¾xîäï¾îhï¾tîïï¾îRï¾î"y î-Vî0 î8Ðî;Êî=±îB¨îDLîGÖî ìïî ]îúîù îÐîÝ î#:î%sî)Dî+Fî1�î3Aî7Œî;î>¶ îEÄî ìï oî ¡xîKï oî^ï otî@ï oî£ï oîîî2î½î &î#Aî(W �TVm$íDFFiles6(1)Ausinglistfile(e.g.CPSwapDefs.Bcd)mayberetrievedfromaDFfileincludedbyanimportedDFfile(e.g.includedbyCoPilot.DF).(Inotherwords,includedDFfilesaretreatedasiftheyweremacro-substitutedinlineinthetopDFfile.)(2)AusinglistfilemayberetrievedfromaDFfileimported(withoutaUsinglist)byanimportedDFfile(e.g.,importedwithoutaUsinglistbyCoPilot.DF)aslongasthefileisexportedintheinnerDFfile.(I.e.,importsaresignificantonelevelbelowthetopDFfile,CoPilot.DF.)(3)AusinglistfilemayberetrievedfromaDFfileimportedwithaUsinglistbyanimportedDFfile(e.g.importedwithaUsinglistbyCoPilot.DF)aslongastheusinglistfilebeingretrievedalsoappearsontheinnerusinglist.(I.e.,multiple,nestedUsinglistsmustintersect.)UsefulModesAoption(/v)willrunBringOverinverifymode,whereitwillverifythatthefileslistedintheDFfilearepresentontheremoteservers.(Nofilesareretrievedinthismode.)Ifthefileislistedcorrectlyandalocalcopyexists,BringOverwilladdtheRemoteFileNamepropertytotheleaderpage.NoteforlargeDFfilestheverifyoptiontakesafewminutes.BringOverwillinformtheuseriftherearenewerversionsoffilesontheremotefileservers,andwillmakeanewDFfile(onafilecalled"NewDFFile.DF")listingthenewerversionsoffileslistedintheoriginalDFfile.IfanyfileswerelistedintheDFfilewithouttheirIFSversionnumbers(e.g.!5),BringOverwillmakeanewDFfilewiththoseversionnumbersfilledin(alsoon"NewDFFile.DF").Anoption(/o)willinstructBringOvertoonlyBringOverthefile(s)listedafterthe/o.Forexample,BringOver/ox.mesafiles.dfwillexamineonlythefile"x.mesa"infiles.df,evenifotherfilesshouldbebroughtover.Ifno"."isgiven,BringOverwillappend".Mesa",sothisisequivalenttotheprecedingexample:BringOver/oxfiles.dfMorethanonefilecanbelistedafter/o,inwhichcasethelastDFfileonthecommandlineissearched.FiveoptionsareavailabletoreducethenumberoffilesthatareretrievedwhenBringOverisrun./bcausesBringOvertoretrieveonlythosefilesthatare"derived"fromsourcefiles,i.e.filesthatendin".Bcd",".Signals",".Boot",and".Press"./scausesBringOvertoretrieveonlynon-derivedfiles,i.e.allfilesthatdonotendin".Bcd",".Signals",".Boot",and".Press"./rcausesBringOvertoretrievefilesthatareindirectoriesmarkedReadOnlyintheDFfileandtoretrievefilesthatareimportedfromotherDFfiles./wistheinverseof/r:onlyfilesthatarenotmarkedReadOnlyorimportedareretrieved.Finally,/ucausesBringOvertoretrieveafileifaversionisalreadyonthelocaldiskandtheversionlistedintheDFfilediffersfromtheversiononthelocaldisk.The/foptioncausesBringOvertoignorelocalfileswhenitdecidestoretrieveaversionofafile,thus/f"forcesretrieval"offilesonthelocaldisk.OtherinformationaboutBringOverWhenthefilenameonalineinaDFfileisprecededbyatilde("~"),BringOverwillretrievetheindicatedversionifitisnotpresentonthedisk.Ifthereisalreadyaversiononthedisk,thenitwillnotbeoverwritten,regardlessofitscreatedate.BringOverlistensforControl-DEL.Whentyped,BringOverwillabortitself.BringOvercanhandleDFfileswithfewerthan500files.Shouldyouneedtosupplyaconnectnameandpassword,BringOverwillpromptyouforthem.Whenxî&´ïgrîHDïgtî ®ï_'î&î˜î(îLîœî„î&Ëî)µî+Œî19î4†î5–î8î:Wî?ãîAÅîCœî ®ï]îXîáîîÉîå î%×î(?î+þî0‚î6Hî8óî<î>tîC1îDþîFî ®ï[Øîÿîîî ®î# î%ƒî( î ®ïY]î>î¼îXîˆîãîÙî¼î#uî&Îî'êî*gî,Âî2¨î8xî9;ïY]î:NïY]tî="ïY]î=†ïY]î?ÌîA¹îCœî ®ïWµîTîÙîOî^î …xî!ËïWµî"ÞïWµtî%ÜïWµî&?ïWµî(5î*L î2>î4î7=î9î;‚î>î?ŽîEfîG/î ®ïVîLî×îîKîUî © î'Aî)íî-2î1?î3Ÿî6î8Ÿî;` î ®ïS“îGîËîlî îîüîãî#¡î&ÿî( î*¢î-î2ìî5þxî7ïS“î82ïS“tî; ïS“î;nïS“î=@î?3îAîGî ®ïQìîîîîxî<ïQìîOïQìtî -ïQìî �ïQìî"gî$^ î,1î-Ûî0ðî2šî4õî8›î:Ôî=9îAîFÂî ®ïPDî¹î¿îî½îgî €î#®î)€xî-ÐïPDî.äïPDtî1ÆïPDî2)ïPDî4ˆî7ð xî ìïLõîEtî ìïI¦î €îáîÀîrîîÎyî ƒïI¦î!ïI¦tî$@ïI¦î%jïI¦î(uî,”î-òî0¤î4–î7lî9Òî<Çî@xîB-îD”îG%î ìïGÿî Tî=îXîÌîˆî î#î&î(yî.Tî0î2Íî8!î9¸î<,î>ªî@*îCéî ìïFXî ¢î Ëîî`îlî"î!Ìî$ƒî&á î1öî7�î9=î;›î?½îCÜîGRî ìïD°î UîáîÑî2îî{î ûî"&î$Èî*ßî1™î4Fî8Øî;9î>4î?—îC"îEwî ìïC îî¨îqîRî�îîUî#î%¬î(2î+Âî,Çî/�î1÷î4;î6–î7›î9àî=³î ìïAbîîˆî²îîÜîÜî"™î$Yî&Ëî+çî.„î1îî3ƒî66î96î<™î@VîBîDˆîG%î ìï?ºî'îžî…î|î \î#Žî&=î-%î0î3äî5=î8[î;î=®î@øîDÇî ìï>î�î0îÞî$î*î ìï;˜î ?îšî|î(îî!Õî#„î&žî-Uî/µî3•î7?î:{î<Úî?¦îBQuî ®ï9îî¤îŒtî ìï6¢î ¦î.îWîÅî>î 2î!ðî&Üî*1î+¡î/Oî2Lî6×î8×î>îB1îCÂîEØîH#î ìï4úî øî°î\îFî"î#Äî&eî'Ñ î.€î0.î2Žî8äuî ®ï2îî¤îTtî ìï0î šî¯îJî¢îîüî•î Àî"÷î$”î(‘î+nî-¼î0+î2¥î4ýî6óî9Aî?‘îB7îC‘î ìï+áî î îoî8îõî €î"îî()î)ðî,ìî/Éî2+î8î;ÄîBŠîDîG“î ìï*:î=î îÒîéîî"Ðî%Õî(ºî+%î1’î5î9wî<Õî?(îB-îEîGáî ìï(“îÍ î“îøî³î#Öî%’î)Ïî0Šî2<î7?î:\ îBîE`îGŸî ìï&ëî çîÃîØî[î îÛîÇ î$˜î*î,Ìî3î4Ëî9î?ØîA”îF¡î ìï%Dî °îúî� îBxî7ï%Dî5ï%Dtî"™ï%Dî"üï%Dî$=î&’î)î+rî.î/Ãî4¹î7œî:aî<ªîB“îEðî ìï#�î „îfî¥îîŠîIîîÞî#î%ÿî(Úî+:î-¼xî2Èï#�î3Æï#�tî9@ï#�î9üï#�î;îAîCq î ìï!õîîîcî-îîî#î$=î&¸î(,î)hî.Cî/Áî4§î6Àî92î<Šî?‹îBUîDÇî ìï Nî –îDî¤î.î˜îçîNî ­î%uî'{î)Ûî-!î ìïÓî ÊîîßîîÝî’î#Üî'(î*î-Øî/4î4î5Îî:Ôî<î@ÒîB’îCÂîFŠî ìï+î šîL î_îîî îlî"²xî ìïÝî ï îUî*tî ìïŽî0î»î‹î¼îîôîÍî "î"Ùî%mî'î-î/@î0•î3æî8Jî?.îBîG/î ìïæîîîÄî3î˜îî•î xî"�î$ûî(áî*qî. î/ƒî4eî5�î:sî<ˆî>öîBJîEîFãî ìï?î aîR îò îSî îæî#éî ìïÄî¤îÒî î hî$€î(¯î/fî2î5±î ìï Iî¤î/î¶îAî.î Iî$î':î)Ïî ìï Íî©î^îºîfîÖîþî!î$Ñî'‡î-Ûî4‘î7;î<$î>ÙîAîEw tTVm$œDFFiles7aCRfortheconnectnameandaCRfortheconnectpasswordaretyped,BringOverwillaskifyouwanttouseadifferentloginnameoraborttheprogram.BringOvercanbegivenalistofDFfilesonthecommandline.Itwillbehaveasifeachfilehadbeengivenseparately.BringOvercanbeusedtoretrievefilesthatarenotlistedinDFfilesbyputtingthemonthecommandlineBringOver[Ivy]User.CM!3[Indigo]Lister>Lister.Bcdwillretrievethosetwofiles.Ifafileendsin".DF",BringOverwillretrievethecontentsaswell.IftheversionofafileonthelocaldiskisnewerthantheoneBringOverisretrieving,BringOverwillfirstrenamethelocalversionbyappending"$$"tothefilenameandthenretrievethelocalfile.Ifthefileendsin".Bcd",BringOverdoesnotbothertorenamethefile.SummaryofoptionstoBringOver:/aTransferfileswithoutrequestingconfirmation./bRetrieveonly"derived"files./fRetrievefilestothelocaldiskevenifcreatetimeoflocalcopyagreeswiththecreatetimeoftheremotecopy./oTransferonlythefollowingfiles(extensiondefaultsto".Mesa").ThelastfileinthelististheDFfile./pTransferonlythosefilesmarkedExportsorPublic./rTransferonlythosefilesmarkedReadOnlyorimportedfromotherDFfiles./sTransferonlythosefilesthatarenot"derived"./uTransferonlythosefilesthatarealreadyonthelocaldisk,butthelocalversiondiffersfromtheremoteversion(updatemode)./vVerifymode;NofilesaretransferredbutcheckstheDFfileforaccuracy./wTransferonlythosefilesnotmarkedReadOnlyandnotimportedfromotherDFfiles.SModelTheSModelcommand(SModelstandsfor"SimpleModeller")canbeusedtostorebacknewversionsoffilesyou'vechangedsinceyoulastrantheBringOvercommandtofetchfilesundercontrolofaDFfile.Forexample,ifyourDFfileiscalled"Poplar.DF"andyou'vealreadyrunthe"BringOver"command,thecommandSModelPoplar.DFwillexecuteasfollows:ThefileslistedinPoplar.DFarecheckedonthelocaldisk.IfanyhavedifferentcreatedatesSModelwillstorethemontheremoteserversspecifiedinPoplar.DF.ThenSModelcopiestheDFfiletooneendingin"$"(e.g.Poplar.DF$),andproducesanewPoplar.DFfilewiththenewcreatedatesandremotefilesystemversionnumbers(e.g.!4).IfafileonthelocaldiskislistedwithoutanycreatedateintheDFfile,SModelwillfillinthecreatedatefromtheversiononthelocaldiskandthenstorethefileoutontheremotedirectory.IfthefileislistedintheDFfilefollowedbya">"or"~=",thisfileisignoredandwillnotbetransferred.IftheDFfilecontainsareferencetoitself(e.g.System.DFlists"System.DF"asoneofthefilesyouwant),thenSModelwillalsostoreanewversionoftheDFfileontheremoteserver.SinceSModelhastowriteoutanewDFfilebeforeitcanstoretheDFfile,SModelcannotputtheIFSversionnumber(e.g.!5)ontheDFfilenameinthecaseofself-referencingDFfiles.However,BringOverwillxî&´ïgrîHDïgtî ìï_/î 0î Öî-î§îÙî³î„îÉî"nî$Æî'@î,qî2‰î4÷î9Aî@îBÙîE]îFØî ìï]ˆî Iî÷îlî–î<î¸îxî!<î$Ûî';î ìï[ î¦î4î'îÞî îJîî “î#ƒî%‹î'íî.Qî1èî3bî6î:ÅîÅî@ÍîC.î ìïUCuî ®ïRÇîî)Ztî ìïPLî —î—î6îâî'î©îÓî <î#xî%&î)Áî0yî3$î8$î:ƒî?òîA î ìïMÑî î ðîÊî”îÏîJîbîÓî *î#*î$§î(Ðî,î.yî16î7ÿî9| î@îFäî ìïL*î Åî¯îîWî îî$âî()î)Øî,9î1Þî4–î7½î<¾î?îBeîE¬îG/î ìïJ‚î Uî‘î?îîÕî î"zî&àî(�î-xî/×xî ìïG3î î·î‰îB tî ®ïCåîÐïCåîSîAîM î$û î ®ïA÷îÐïA÷îTînîÄî ®ï@ îÐï@ îeîcî"î’î éî#èî'?î(°î,Ãî/ùî1Ãî5î8|î<»î?æîBVîFiîÐï>aî‰îèî�î ®ïî¶î~î!$î"Ìî' î/aî2Uî6÷î<î>ÚîAv î ìï!ýî¥îuî ®ï�î•tî ìïî …îhîîšî`î;î!Óî#oî*î,aî1œî3�î5Þî9î<·î>&î@µîCéî ìï_î êîoî—î>î–î î"î$xî)î-§î3_î5 î<žî@9îE`î ìï·î bîî„îIî î³îxî$î"= î*™î-gî3[î4›î7 î>yî@ùîD+îF¡î ìïî ïîxî/îÖî@î»î$ƒî*3î-6î ìï•î wî ©îî*î“îâîÙîMîî$î&¾î*Êî-×î/Žî1öî4Šî7Tî<‰î?=îAmîC$îEŒî ìïîî ìîMî¨îjîkîÅîî!ïî$¡î'Âî+î-sî/Øî2Hî4Iî6£î;E îAèîCeîE¿îH#î ìïFî –îDî¤î.î˜î<î8îbî!÷î#»î(bî+î-mî.Øî3ãî6šî9Eî;ºî=« î ìïËî ‡îî¤î&î£îåîüî!Ãî%9î(Uî/Šî2e î:ûî<Âî?†îAYîCÑîFØî ìï$î/îjî«îkîLî½î üî#ÿî(Ûî*©î-î/½î2;î4Vî6Ëî;‡î@™îDcî ìï |î ‹îcî î©îüîîÈî[î"Ôî$Tî' î*�î-î/Ìî2¸î8 î<³î?]îAæîDÇî ìï Õîîî=îAîŸî(î�î!Nî"úî%Xî(Dî)ûî3«î64î9úî@-îFä ôTVm$ãDFFiles8alwaysgetthecorrectversionoftheDFfilesinceitwillusethecreate-dateoftheDFfileinstead.SModelwillpausebeforestoringeachfileandaskifitshouldgoahead.Youmayrespondwith"y","n","q",or"a"."y"meansgoaheadandstoreit,"n"meansdonotstorethisfileandkeeprunning,"q"meansdonotstorethisfileandstoprunningimmediately,and"a"islike"y"exceptsubsequentquestionswillnotbeasked,andthe"y"answerwillbeassumed.Youcangivethe"/a"optiononthecommandlinetoSModel,e.g.SModel/aPoplar.DFandallquestionswillautomaticallybeanswered"y".ReadOnlyfilesWhenyoudon'twantanyofthefilesinadirectorytobechangedbySModel,regardlessofanychangesyoumaymake,youcanindicatethefilesinthedirectoryareread-onlybyprecedingtheDirectorykeywordwithReadOnly.Forexample:ReadOnlyDirectory[Indigo]System>indicatesthefileslistedbelowshouldNEVERbestoredbackonSystem>.MaintainingConsistencyItisimportanttorememberthatSModelNEVERenumeratestheremotefilesystem,soSModelmaynotdetectthatcertainfileslistedinaDFfilearenotpresentonremoteservers.AcommonmistakeistoassumethatifyourunSModelonaDFfilesuccessfully,andthensimplychangeaDirectoryintheDFfile,thenallthefileswillbetransferred(again)tothenewdirectory.ThisisWRONG!AfterSModelhasbeenrunthefirsttimethecreatedateslistedintheDFfilewillagreewiththedatesofthefilesonthelocaldisk.SinceSModelchecksthecreatedateslistedintheDFfile,onthesecondinvocationSModelwillnotdetectthatanyfilesneedbetransferredEVENthoughtheDirectoryhasbeenchanged.Toresolvetheseproblems,SModelwilltakea/voption(/vstandsforverify.)Ifgiventhis/voption,SModelwillnotonlyapplythealgorithmdescribedabovetostorefiles,butifitdecidesafiledoesnotneedtobestored,itwilllookontheremotefileserverandcheckthatinfactthefiledoesnotneedtobestored.Ifthefileisnotontheremotedirectory,ortheversionlistedintheDFfileisnotontheremotedirectory,thenSModelwillstorethefile.InthiswaySModel/vwilltrytoforcetheremotedirectorytoagreewiththeDFfile.IncludeandImportsSModelwillinvokeitselfrecursivelyonDFfilesthatarespecifiedinIncludestatements(andnon-ReadOnlyDFfilesprecededby@.)SModelwillNOTinvokeitselfonDFfileslistedinImportsstatements(oronDFfileslistedinReadOnlydirectoriesprecededby@.)IftheIncludeorImportsstatementisnotfollowedbyanOfclause,SModelwillinsertsuchaclauseinitsoutputDFfilewithreplacedbythecreatedateofthefileonthelocaldisk.ReleaseOptionIfthe/poptionisgiven,SModelwillstoreallfileslistedintheDFfileonsubdirectoriesof[Indigo].ThesubdirectorywillbethesameasthesubdirectorygivenbytheReleaseAsstatement.IfthefileslistedintheDFfilearenormallystoredonaworkingdirectorythatisnot,thecopyoftheDFfileonthelocaldiskisnotrewrittedbySModel/p.Ifthenormalxî&´ïgrîHDïgtî ìï_/îQîšîùî‹îSî î kî"öî%`î(Òî*)î,Ôî/Iî1¨ î8¥î:^î<½î?HîA²î ìï\´î%îÝîËî&îÄî"î$xî'<î)²î+î,‚î1 î3î7ÿî;î>+îCzîF¡î ìï[ î öîîÉî;îÖî îî"î$Ûî(=î)ñî,¢î0ìî2øî5sî8Õî;|î=ëî@©îDî ìïYeî ¬îîî§îîÌîIî!î$"î)m î1°î4|î7î8™î;Yî>îBf î ìïW¾îî®î%îîGîÿî `î"÷î'•î*Bî,4î2¢î5²î8?î;.î=�î@ÌîE(îG/î ìïVîMîî²î6uî ®ïS›î•îtî ìïQ î £î“î§îS îÆî!¶î'¿xî ìïMÑîXtî ìïJ‚î øî£î,î|îî¾îî ôî"–î#´î)zî+î-î2dî4Tî9Ì î@!îAÎîDbî ìïHÛî Òîî?î%îÞî:î!Èî$äî&Áî)Oî/Oî1Ñî8)î:Sî@ØxîCfïHÛîDzïHÛtî ìïG4î†xî ïG4îžïG4tîˆïG4îdïG4îxî ®ïD¸îtîBïD¸î¥ïD¸î ìïB=î�îüîêî”î¡{î!ïB=î!ùïB=tî%cïB=î&*ïB=î'Tî+wî.¾î0Ä xî ìï>î î¶ tî ìï;Ÿî ^î Äî îÊî\î%zî#Lï;Ÿî$4ï;Ÿtî'«ï;Ÿî(Pï;Ÿî.îî1Hî5êî8Nî=î>ÛîDîGî ìï9øî ûîÉîPî=îçî•î¿î!Jî#³î&î(|î-Pî/Vî3þî ìï7}î žîsî¢î3îîõî!èî#nî&Jî)î.Wî0‚î1Ñî4�î7 î>÷îAÔîEî ìï5Õî‡xî£ï5Õî·ï5Õtî¾ï5Õî!ï5Õî_î±î.îãî!ûî#Þî&0î)î+®î-‘ î4€î9î:¯î=î?â îFuî ìï4.zî lï4.î †ï4.tî ï4.î¸ï4.îkî¬î5î ¦î#Qî%Åî(±î+ëî._î2vî6î9Òî;•î> î@¨îC&îEåî ìï2‡î îdîíî¥îîðîõîTî!™î%aî)î.Aî2¦î5î9î<Žî@8îAåîDCîFÍî ìï0ßî îšîO î!îqî"Aî$Úî) î+þî.Ãî1Õî5Uî7j zî>Šï0ßî?Cï0ßtîB6ï0ßîB¥ï0ßîGxî ìï/8tîï/8îÜï/8îŠîæî ìï,½î î¿îLî¯îÞî"Œî%‰î&µî(�î,úî/\î3�î5Îî;î<™î@PîBôîDÜî ìï+îîÄî9îSîî~î#¾î)éî-ëî/šî2÷î6=î8¾î:î;vî@VîA€îCéîGî ìï)nî MîÿîóîrîÌî{î™î¢î!î%±î(î,.î.éî2Ïî5¡î7Rî:îÓîBîD€îGàî ìï'Çî íî îžîî‡îîˆîŸî î$Æ î+î,Ôî/Dî4î7Öî9”î<î>ŸîAîB”îEîG/î ìï& î§ îäîî^î î#�î&î)lî+Oî.î0ïî6/î8'î:æî=!î>ãîBtîDçî ìï$xî¾îlîî0î�îxî ìï!)îÉîitî ìïÚîŠî§î”îc î"ºî%2î(/î+�î.Ïî1•î7Ãxî9ãïÚî:gïÚtî?2ïÚî?¶ïÚîF^î ìï3xî ®ï3î ¬ï3tî,ï3îLï3îÊîËîÇî Õî$5î)tzî,2ï3î-ï3tî/)ï3î/�ï3î3·î7&î9@î;Ýî>ÞîB›xîD\ï3îDàï3tî ìïŒ î¦îãîéîtîbî xîºïŒî ¸ïŒtî&&ïŒî&íïŒ î,Ôî2½î4¸î ìïî „xî úïîïtîîïî©ïxîÈïîMïtîóïîxïî ?î!Âî$Mî*î,xî.!ïî/Aïyî0Jïî0úïtî4±ïî5Lïî98î>zîA<îEîHeî ìïiîî²î�îÿîŠîóîî"tî'ùî)ôî,Tî0Vî3[î5î7tî9Ýî;ãî>CîA‰xî ìïîtî ìïËî ÍîŒîçî¡îmîØî!dî$oî(+î*zî-Çî1Ñî3Þî6�î9‡î¶ îGÖî ìï$îLîY î"qî%Qî'vî* î-¼î/žî22 î:Kî>3î@dxîB÷ï$îCõï$tî ìï } îcîî«îËî¨î‰î!î#Ùî&vî(üî.ÿî3Vî5�î6ëî,then/nisequivalentto/v.OtherOptions1.The"/n"optioninstructsSModeltodoeverythingitwouldnormallydoBUTitnevertransfersanyfiles.Forexample,SModel/nPoplar.DF2.Ifyougivethe"/s"optiontoSModel,itwillstoreontotheremoteserver(s)allthefilesyou'velistedintheDFfile,exceptthosemarkedReadOnly,whetherornotlocalcreatedatesmatchtheonesintheDFfile.Forexample,SModel/sPoplar.DF3.Ifthe/roptionisgiven,thenSModelwillstorefilesitdecidesshouldbestoredbytheabovealgorithmevenifthedirectorytheyarestoredontoinmarkedReadOnly.GettingStartedwithSModelNewusersareoftenconfusedabouttherelationshipoftheentriesinaDFfiletothelocalandremotedirectories,andwhatSModelwilldoincertaincases.TheeasiestwaytounderstanditisthatSModelassumes1)thattheDFfilewasanaccuratedescriptionoftheremotedirectoryatsomepointinthepastand2)fileswithdifferingcreatedatesthatitfindsonthelocaldiskarethe"Truth"andthatitshouldtransferanyfilesthataredifferent.However,assumption#1allowsSModeltoassumethatfileswiththesamecreatedateintheDFfileandonthelocaldiskALSOexistontheremoteserver.ThisassumptionisoftennottruewhenanewDFfileisbeingcreated.Togetstarted,thereareatleastthesethingsyoucando:1.MakeaDFfileofjustfilenames(nocreatedates)andrunSModelonit.Thefileswillbetransferredandthecreatedateswillbefilledin.2.UseVerifyDF(seebelow)toautomaticallygenerateaDFfile,edittheDFfileasyouneedto,andusethe/soptiontostoreallthefilesoutontoremoteservers.3.Ifyouhaveacompleteconsistentworldoutonremoteservers,simplyretrieveallthosefilesontothelocaldiskandmakeaDFfilewithalltheirfilenamesbutnocreatedates.RunSModelwiththe/noptiontogettheDFfilefilledinwithallthecreatedates.(/nwillnotneedlesslymakeextracopiesofthefilesonyourremotedirectories).Ifyouaremaintainingasystemforothers,youmayneedtohaveentriesintheDFfilethatareReadOnly(suchasforDefs>,etc.)Fillinginallthecreatedatesbyhandispainful,soyoumaycombinethe/rand/noptionstofillinallthecreatedatesintheDFfilebutnottransferanyofthefiles!Forexample,SModel/r/nFoo.DFwillfillinallthecreatedatesforfilesinFoo.DFbutnonewillbestored.CameFromhandlingSModelnormallychangesentrieslikeDirectory[host2]CameFrom[host1]intolineslikeDirectory[host1]ReleaseAs[host2]xî&´ïgrîHDïgtî ìï_/îCîîÎî-îîÉî (î"³î%î&ˆ î.Uî1{î3vî4â î;�î=?xî ìï[àî ïtî ìïX�î }îYîºîî—î Çî"zî$… î+Nî,¨î0Ûî6°î8»î<1î=ŒîA[îFîî ìïVéî µîauî ®ïTnî•îtî ìïQòî rî îîŸî†îàîóîGîðî#nî$¾î'cî*¹î-ãî0=î4Þî:[îžîA†îEåî ìïPKî ¡îî™îbî¹î_xî eïPKî!cïPKtî&LïPKî'0ïPKî,…î.Oî0Ëî4î8"î;²î?ÝîBDîEzîG/î ìïN¤î wî8îãuî ®ïL(î•îtî ìïI­î _î Çî î¬îíî?î2î>î"Qî$ãî(%î*ùî,6î0üî5^î75î;?î=!î?gîCOyî ìïHtî ÿïHî cïHî`îÀî‘î¡îõî î#Iî$÷xî)öïHî*ôïHtî/ÝïHxî ìïD¶îêîÈîÌtî ìïAgî ;î½îî®î…î kî"Ï î*Tî,î.vî2ëî4�î5Ìî8[î:Éî<|î>áîB+îDèî ìï?À îûîºî îTîî!î"Íî'\î+»î.›î2òî5Òî7‰ î>ºî@îAŒîDcî ìï>î-îÐî“îçîfîÄîdîIî$¢ î+©î-Vî/ªî4Fî: î;™î?!îB´îDWîF«î ìï%î@âîC·îEî ìï:Êî îÂîÄî¨î î "î&l î-¿î0jî4¬î9íî;°î@ŽîCqîFtî ìï9"î }î,î`î–îvîîÃî!^î$Gî&~î)î,‡î/¦î4&î7ˆî9Àîî>î@´îB“ î ìï1±î £îîî�î:î+î¾î ìï/5î †îaî®îˆîîØ î&Yî+ëî-"î/»î2Šî5[î7Èî:aî<Øî>”îAYîDÃîF×î ìï-Žî aîÀîyîÔî‚îßîÏî.î!î#‘î&Âî+iî ìï+î tî òî¦îèîîó î Eî$-î&Ÿî(¡î-Dî2*î6–î;‘î=~îAîDîG/î ìï)kî IîMîîåî%îÇîFî wî"~î%Ûî,î.²î0Îî4çî9yî<ªîAíîEîG”î ìï'ÄîDîïî5î’îî�îî½î!Õî#Âî&î*î.~î0ðî3˜î6 î<‰î@:îCªîGÖî ìï&î Kî9î?î{î" î ìï#¡î Vî ôî/ î¬î½î îEî#¨î&Gî)2î,vî. î1:î5’î7(î9oî;áî>2î@èxîC#ï#¡îD!ï#¡tî ìï!úî ¤î`î« î+îÏî"Lî$î&î(rî,ƒî0î2#î5¯î7)îî@ãîCôî ìï Rî Nî îÅîÃî¥îVî€î1î$î!‡î%Œî)î*Êî-,î/ºî2&î4ªî7"î<0î>Ôî@�îBòîFãî ìï«uî ®ï0î•îî¤tî ìï´î —î¾îlî\î¼î¾îHî…î!sî#!î(aî*âî.Tî1î2ðxî ìïeîütî ìïîîèîî…xî ®ïštîÖïšî9ïšxî¥ïšî˜ïštî%µïšî&ïšî ìïî Äîÿxî ®ï £tîÖï £î9ï £xî¥ï £î£ï £tî%<ï £î% ï £ÿ¿TVm$|DFFiles10andchangesImportslikeImports[host1]file.DFOfCameFrom[host2]intoImports[host1]file.DFOfsincetheCameFromisinsertedbytheReleaseTool.IfyouwanttopreventSModelfrommakingthesechanges,giveSModelthe/foption.OtherInformationaboutSModelSModellistensforControl-DEL.Whentyped,SModelwillabortitself.SModelhandlesConnectusernamesandpasswordsexactlyasBringOverdoes(seeabove).Ifafileistransferred,theRemoteFileNameproperty(seeabove)isaddedtotheleaderpageofthefileonthelocaldisktorecordwherearemotecopycanbefound.SummaryofoptionstoSModel:/aStorefileswithoutaskingtheuserforconfirmation./cTrytowriteDFfilesthatarecompatiblewithAltoDFsoftware.(Nowarningsaregivenifthisisimpossible.)/fDonotswitchCameFromclausestoReleaseAsclausesanddonotdeleteCameFromclausesfromImports./nDoeverythingitwouldnormallydoBUTnevertransferanyfiles./pStorefilesonthedirectoryforthenextCedarrelease./rIgnoretheReadOnlyattributewhendecidingtostorefiles./sStoreallthefilesintheDFfile,evenifthecreatedatesarecorrect./tDonotinvokeSModelrecursivelyoninner,includedDFfiles.OnlyexaminethetopDFfilegiven./vVerifymode:Checkeveryentrytoseeifitiscorrect.Fileswillbestoredontoremotedirectoriesifnecessary.VerifyDFVerifyDFattemptstoanswerthequestion:DoesthisDFfilehaveentriesforallthefilesIneedtorebuildthisprogram?VerifyDFwillanalyzea.Bcdfileandcomparethefilesrecordedinthe.BcdwithentriesinaDFfile.Ifafileenteredinthe.BcdisnotintheDFfile,VerifyDFwillgiveawarningmessageabouttheomittedfile(s).TotheSimpleExecutive,type>VerifyDFDFFile.DFPackage.BcdwhereDFFile.DFissupposedtobeacompletedescriptionofallthesourcefilesthatwerecompiledandboundtoproduce"Package.Bcd",andalltheobjectfilesproducedwhilebuilding"Package.Bcd".VerifyDFwillanalyze"Package.Bcd"andgivewarningmessagesaboutthosefilesneededtobuildPackage.BcdnotlistedinDFFile.DF.IfPackage.BcdwasproducedbytheBinder,VerifyDFwillcomplainifthe.Configfileorifanyoftheimplementationmoduleslistedinthe.Configarenotalsolistedin"DFFile.DF".IfPackage.BcdwasproducedbytheCompiler,VerifyDFwillcomplainifthe.MesasourcefileoranyoftheDefinitionsFiles(.Bcd's)itdependsonarenotlisted.(Alistoffilesxî&QïgrîG~ïgtî ìï_/î £xîÐï_/îTï_/tîäï_/îGï_/xî ®ï\´tîÂï\´î%ï\´xî!$ï\´î"Dï\´tî#6ï\´î#çï\´xîoïZ9tîïZ9îãïZ9î ìïW¾xî ®ïUCtîÂïUCî%ïUCxî!$ïUCî"DïUCtî#6ïUCî#çïUCî ìïRÈî UxîªïRÈî�ïRÈtî±ïRÈîïRÈîî@î1î!‡î&ˆî*•î, î.ºî2 î3±î8§î=ÊîA'îFî ìïQ!îqî^îŠîêî˜xî ìïMÒî ï îwîLtî ìïJƒîîFîƒ îÜî"ôî'#î,Oî.úî2™î ìïHîî#î�î–î Úî#‘î*î.°î0^î7î:Êî=—î ìïE�î sî £îîƒ îÜyîAïE�î>ïE� tî$çïE�î%®ïE�î*‡î-Yî1Úî3Kî7uî9)î;Žî?¶îCîDÁîG%î ìïCæî òîRî˜î†î4î„îœîÆî$mî'¿î*Jî,;xî ìï@—î î·î‰îBtî ®ï=HîÐï=Hîoî]îiî ¬î# î&î(B î ®ï;ZîÐï;Zîrî"î¡î.îî íî#C î*Vî-sî0Žî3î9sîÑï7ÅtîDòï7ÅîE�ï7ÅîÐï6xî7ï6î»ï6tîÇï6î ®ï40îÐï40î/ îóîIîwî%Hî'Nî*Àî.‹î3–î66î ®ï2BîÐï2Bîoî]îcî î#7î)î+Fî-¥î0µî4Íî ®ï0TîÐï0Tî5xî”ï0Tî’ï0Ttîï0Tî¥ï0Tî#�î'Eî,Õî.„î1àî ®ï.fîÐï.fîoî_î¾î¬îZîºî"Eî%î(Lî)­î, î0î3˜î5ìî ®ï,xîÐï,xîBîÊîWî– î&Žî(¨î,±î2kî5 î8øî<}îB îD|îGîÐï*Ñî9î ®ï(ãîÐï(ãî8î¶î*î"î%Ñî'¯î*2î+Âî-Gî.âî4¯î8:î;î=5îAˆîDçîÐï'< î~îß sî ìï#ítî ìï žîIîøîÄî~îûî%Åî)kî,*î.Óî1Zî4¿î9Mî;¨î=¶î@4îC?îDfîGàî ìï÷î¬îEîÖî î ¯î%�î&°î)Ìî,-î.Ûî4mî6Äî9©î?\îAîCXîFtî ìïPîpî2îoîîzîîMîÊî!Óî#•î&î)Aî*Àî-Iî/ î1~î4î6òî=Eî@îCîDBî ìï¨îCî%î…î›î ìï-î îsî î¾uî ®ï²î]îôîc tî ìï7îîwîþî"îìî øî"=î(@ î/mî1Bî3Mî5Èî:2î=;î@%îC‘î ìï�î µî!îáîK î"î$Ìî&Íî)>î-hî0gî6˜î:^î?é î ìïéîjîTî{ î"î$þî(+î-¶î3Ðî7ðî;Îî>úîDîEïî ìïA îîÌîµî¢ î#8î$ù î-%î0î6oî8ªî;Hî@eîFäî ìï šîùîjîÙîÒîKîî�î!@î# î%x î/gî4ûî8µî:sî<âîAÚîD=îFÂî ìï óî ©îj î îž î"žî%]î+�î-Ÿî0î6šî<íî?«îE¼îG/î ìï KîînîðîÍî‡îXîÑ î%î(…î-’î/î4‰î6¨î9î;£î@ZîByîDÏîF¡ÿ[TVm$7DFFiles11omittediswrittentothescreenandtoafile"MissingEntries.DFFile.DF$".Similarly,.Mesa,.Bcd,and.Configfilesthatarenotactuallyrequiredtobuild"Package.Bcd"arelisted.)OnceithasanalyzedPackage.Bcd,VerifyDFwillthenanalyzeany.Bcd'sneededbyPackage.Bcd(describedabove).Thisanalysiswillcontinueuntilall.Bcd'sthatarereferencedintheclosureofthedependenciesamong.Bcd'sareanalyzed.IftheDFfileisomitted,VerifyDFwillputalistofthetop-leveldependenciesonto"MissingEntries.DF$",whichcanthenbegivenamoresuitablenameandVerifyDFcanbeinvokedagain.ThisisasimplewaytobootstrapacompleteDFfileforapackage.VerifyDFwilllookonremotefileserversforthecorrectversionofaBcdfileandwillusetheLeafprotocoltoreaditpagebypage,sotheBcdsdonotnecessarilyhavetobeonthelocaldiskforVerifyDFtodoitsjob.OtherInformationaboutVerifyDF:TheDFfilethatdescribesapackagemayoptionallyhaveentriesprecededbya"+".IfVerifyDFisinvokedwithouta.BcdfileitwilllookinsidetheDFfileandassumethatanyfilenameprecededbya"+"isatop-levelBcdandproceedtoanalyzeitandallitsdependencies,asdescribedabove.Morethanone.Bcdmaybeprecededbya"+"sign.Forexample,ifDFFile.DFhadanentryoftheform+Package.BcdthenVerifyDFDFFile.DFwillanalyze"Package.Bcd"andallitsdependencies.TheDFfile(s)involveddonotneedtobeonthelocaldisk.Forexample,ifDFFile.DFwerestoredon[Indigo]Top>,VerifyDF[Indigo]Top>DFFile.DFisequivalenttoretrievingDFFile.DFandinvokingVerifyDFonthelocalcopy.VerifyDFhastwooptions:Whengiven/f,VerifyDFwillwriteoutasingleDFfilecontaining(1)thecontentsofthetop-levelDFfile,and(2)theentriesthistop-levelDFfilereferstousingImportsandIncludestatements.Thus/f"flattens"thetop-levelDFfile.(ThisisusefulforgeneratingDFfilestoinputtoadhocDFparsers,suchastheCedarcross-referenceprogram,etc.)Whengiven/a,VerifyDFwillretrieveanyDFfilesreferencedbytheDFfilebeingverifiedwithoutaskingforconfirmation.If/aisnotgiven,thentheuserwillbeaskedtorespondwitheither"y","n","a","l",or"q"."y"meansretrievetheDFfile,"n"meansskiptheDffile,"a"islike"y"butsubsequentDFfilesareretrievedasif"y"hadbeentyped,"l"meansusethecopyoftheDffileonthelocaldiskinplaceoftheversionlistedintheDFfile,and"q"meansstoprunningimmediately.VerifyDFlistensforControl-DEL.Whentyped,VerifyDFwillabortitself.SummaryofoptionstoVerifyDF:/aRetrieveDFfilestothelocaldiskwithoutconfirmation../fWriteoutasingleDFfilecontainingallthepartsincludedandimportedbythetop-levelDFfile.xî&QïgrîG~ïgtî ìï_'îîsî(îÙî:îvî 0î!àî# î%xî8Ç î>ýîCXîFØî ìï]îÔîÂî�îäîYîoî#ÿî%­î)M î2›î4ïî ìï[î Ùî}î@î> î Ñî'^î*Xî-Ìî3î5ñî:Aî?XîA¡ î ìïY\ î¢îîIîpî!-î&åî*>î,?î0Sî33î5˜ î/î@ îEdîG/î ìïWµ îkîðîòîEî ìïU9î Gî €îäî&îkî³îËî!Pî#ªî$­î&Äî(Vî*�î0 î8pî;yî ìïS’îî›îÌîÇîîJîèî$ î'Ôî*—î0áî3wî5rî:¿î?ZîBîCõîE*î ìïQëî Äîrî‡î°î˜î#î �î"Êî#ôî ìïOoîMîîUî}îFîÑî$ƒî&âî)cî.î3î4Ûî6'î9î;¡î>zîAGîCÞîF_î ìïMÈîGîâîêî-î`îIîÔî…î!Ñî%î'î)e î0,î3_î4ûî6Øî8Ëî;î>KîA&îCPî ìïL î šî ¡î{xî ìïHÑî ï îwîLtî ìïE�î ÔîpîéîÈîÀîûî!Mî$a î*èî.?î2Àî8¹î:Åî;ÿî@AîAÔîH#î ìïCÚî.î:îdîŠîóîJîõî"î&î(qî*üî-fî0î4çî7µî:Vî<Àî@€îFiîHeî ìïB2î IîÌî îÔî¸î‡î Õî"›î'›î)î+×î-Þî/Ï î8½î:‚î@ÄîEÐî ìï@‹î î¾îãîçî×îÀî¼î æî$+î'êî*•î0fî1Çî9î;»î=«îA?îBøîEWî ®ï> î ìï;”uî ®ï9îEtî ìï6œî —î€ îÏî†îvî!P î ìï4!î Öîrîdîî'î­î!î"Ûî$Ýî&õî)fî,½î0ªî3gî9Iî:»îB îEkî ìï2yî òuî ®ï/þîEtî ìï-‚î X îîµ îéî!%î#Üî)Œî/Ëî1Ñî40î7wî ìï+î+î îLî ®ï(‹îÁîqîrî­îSî"Ìî%=î&bî*Hî,Ïî/3 î5èî8 î:eî?ÏîA„îCßî ®ï&ãîTî1îîGîÂîNî! î&Öî)}î,î/òî1¼xî5‚ï&ãî6ï&ãtî:²ï&ãî;Wï&ãxî=…ï&ãî> ï&ãtîB}ï&ãîCï&ã î ®ï%<î4îë î(î�î Iî"Üî&2î)Îî+Bî/cî1© î8jî:þî=ôî?«îC^yîEï%<îEÅï%<îGtî ®ï#•î8î8îiîîwî�î(éî.Ðî ®ï!î´îWîxî¦î@î$.î&½î)7î, î2Æî4±î6ÿî9xî;Ðî?ŠîDƒî ®ïrîôî5 î=îÂîŸî!î#‡î'—î*Àî-#î0 î2Ïî4Ãî8œî:Nî?“îB±îF¡î ®ïÊîÀî²îaî4îÙî~î!Ðî&ßî)Mî+çî.·î1qî5Äî8Áî;/î=[î@+îBÅîD?îFùî ®ï#î: înîîýî\î$-î%çî'Sî)óî,¶î0î4Yî6¬î:ûî={î?æîCCîEîGrî ®ï|î>îkîñî^îrîGî î!âî$hî)Wî-'î.üî1‚î44î7î9úî<ÍîA8îDXî ®ïÔ î ìïYî+îYî– îïî$î(6î.uî1!î4Àxî ìï î î·î‰îBtî ®ïºîÐïºîTîßîÍî{îÚî#!î&î+ î ®ï ËîÐï ËîËî\î î¦îLî!Ð î(¤î*¯î-*î0­î6nî9@î?NîAdîCßîÐï $î[ÿ 2TVm$JDFFiles12SummaryofcommandlinesforPilotVerifyDF:VerifyDFDFFile.DFPackage.Bcd--analyzePackage.BcdVerifyDFDFFile.DF--analyzefilesprecededby"+"VerifyDFPackage.Bcd--analyzePackage.BcdandconstructaDFfileDFDiskDFDiskwillproduceafile"Disk.DF"thatdescribesanentirePilotvolume.ItlistsmostofthefilesonthePilotvolume(exceptfilesendingin$andafewkindsoflogfiles).IfpresenttheRemoteFileNamepropertyisusedtogivearemotehostanddirectorywherethefilemaybefound.Notereadingleaderpagesisslow,evenonaDorado,soexpectDFDisktotakeabouttwominutes.DFDiskismostusefulwhenusedtoprintouttheRemoteFileNamepropertyandwhentryingtosaveallthefilesonyourClientvolumebeforeyoure-initializethevolume.DFDisklistensforControl-DEL.Whentyped,DFDiskwillabortitself.DFDiffDFDiffwilltaketwofilesspecifiedonthecommandlineandcomparethem.Ifafileispresentinthefirstbutnotthesecond,itsaysthefileisdeleted.Ifafileispresentonthesecondbutnotthefirst,itsaysthefilehasbeenadded.IfthecreatedatesdifferforafilelistedinbothDFfilesDFDiffwillprintamessagetothateffect.Forexample,ifOldPoplar.DFandNewPoplar.DFarerespectivelyoldandnewversionsofthePoplarsystem,DFDiffOldPoplar.DFNewPoplar.DFwillcomparethetwo.ThisismostusefulwhenusedwithDFDisk,beforeandaftermajorchanges,andifthefileoutputbyDFDisk(thefirsttimeitisrun)iscopiedtosomeotherfilenamelike"SaveDisk.DF".ThenDFDiskDFDiffSaveDisk.DFDisk.DFwillcomparethetwoDFfilesandtellyouwhatyou'veaddedordeleted.DFDifflistensforControl-DEL.Whentyped,DFDiskwillabortitself.DeleteAllTheDeleteAllcommandwilldeleteanyfileonthelocaldiskthatdoesnotmatchonespecifiedinanexceptionlist.Ifinvokedwithnoarguments,DeleteAllusesanexceptionlistonBasicClientVolumeFiles.DForBasicCoPilotVolumeFiles.DF(storedon[Indigo]DFFiles),dependingonwhichvolumeDeleteAllisrunfrom.IfDeleteAllisgiventhe/nswitch,itwillskiptheBasic...VolumeFiles.DFexceptionlist.Usersmaythemselvesspecifyexceptionlists.ThesimplestwayistolistthefilesyoudoNOTwantdeletedonthecommandline.Ifyouhaveafileoffilenames(onelocalfilenameperline)oraDFfileyoucanuseitasanexceptionlistbytypingitsfilenameprecededbya'@(i.e.quote,at-sign).Forexample,DeleteAll/nFoo.Mesa'@Schmidt.DF'@OtherFiles.ListwilldeleteallfilesonthevolumeexceptthosespecifiedineithertheDFfileortheotherfilelist.InthecaseofDFfiles,DeleteAllwillincludethecontentsofnestedDFfilesintheexceptionlist.xî&QïgrîG~ïgxî ìï_,î î·îßîîKî ²tî ®ï[Ýîíî) yî)žï[Ýî+î/÷ tî ®ïYaîíyî)žïYaî+î/÷î2Ïî8Tî:/tî ®ïVæîí yî)žïVæî+î/÷ î8î:ªî@yîA®îD"sî ìïS—tî ìïPGî2îÖî(îKî­î!«î$rî*Sî,<î0!î3`î9î:ˆî=Bî@˜îBJîD¢îG‰î ìïN î Fî‡îjî.îî £î"Kî#zî&,î'Pî)ëî-›î/Nî1œî5Óî7Pî<î>x î ìïLùî‰îöî4îäîÔîÿî©î!¤î$]î*1î.Kî0¬î3î6î8î<ýî@uîElî ìïKQî ·î#îŸîæîìîîyî =î$�î)Úî+ˆî.�î2cî5î ìïHÖîEî½î&îKî îUî!î$…î'î)r î4•î:<î=î@ÂîDÐîF‹î ìïG/î Üî;î)î/îkîŽîwî#Æî&} î-¯î0î ìïD³î9îgî¤ îýî#î'Dî,�î/<î2Ûsî ìïAdtî ìï>îíî™î“î@î/îìî!óî$Sî*µî-mî0%î5Àî:'î;ªî<Ôî??î@«îE€îG/î ìï“îC‡îF'î ìï9î îNîíî¬î4îÐî!’î"ã î+Ôî.| î7õî:9 îAŸîCùîF¡î ìï7wî8îñîQî¶uî ®ï4üî• îŒ tî ìï2�î —î2î‘î ìï0î îŒîöîîÝî&î Nî&î*]î-!î0jî4mî9ÿî<Ãî>1î@žîCîG“î ìï.^î9îîêîîeîÑîáîLî#½î%lî(ÿî,žî/î2Çî5r î@uî ®ï+âî ®ï)gî• î´tî ìï&ëî —î2î‘î=îÈî¶îmî!Ìî$ƒî'àî,Eî0iî2-î ìï$pîìîîW î°î"Èî&÷î,Dî.ïî2Žsî ìï!!tî ìïÒî ÖîîŽîKî jî#î%—î'¯î*î-wî0wî3Vî6˜î9î=Tî@îEßîGžî ìï*î1îkîýîOî#zî&� î.§î5ëî9õî<õîD;îG‰î ìïƒî{îµî0 î52î7®î ìïÜîµîÀîÒîÀî!ùî#iî&î*Pî+Öî2î3î78î9œî;œî@2îA�îD=îG/î ìï4îyî¹î!éî%Êî(Ù î/Ôî4|î:¼î>pîATîF·î ìï�î Wî îCî¢î�îFîMîîî Kî%î'%î)„î/åî3wî4ùî7¯î:öî<î>ˆî@AîFjî ìïåî 8îáî\î‘îZî‰îî ˆî#Eî%Õî(Oî)«î+^î-Tî3�î5Òî7Òî<î=üîC¦î ìï>î èî îOîî>îî¯uî ®ïÃîî¤î; î*2tî ìï Gî ¤î¿î¼î¶îÉî6î,î#‰î'5î,þî.¹î2²î5î7·î:-î;þî>jîBîDŒîGÀî ìï  î Kî:îóî~îÄîøî£î$‚î&âî,Qî. î2Zî4åî7Òî9€î;àîBöTVm$DFFiles13DeleteAllwilllisteachfilenoteliminatedbyanentryintheexceptionlistandasktheusertotype"y"orCRforyes,deleteit,"n"forno,skipit(don'tdeleteit),and"q"toquit.IfDeleteAllisgiventhe/aoptionitwilldeleteallnon-eliminatedfileswithoutfurtherconfirmation.Forexample,DeleteAll/a'@Schmidt.DFwilldeleteallfilesnotintheexceptionlistonBasic...VolumeFiles.DFandnotintheDFfileSchmidt.DF.Use/averyCAREFULLY!WithinCSLandISLitiscommonpracticetoDeleteAll/aonpublicDoradostodeleteprevioususer'sfilesortocleanupafteryouarefinished.DFDeleteDFDeleteisthereverseofDeleteAll.GivenalistofDFfiles,DFDeletewillreadinallDFfiles(andnestedonestoo)andproducealistofallthefilenamesintheDFfilethatappearonthelocaldisk(subjecttotworestrictions.)YoumaythenexecutetheDelete.~commandtodeletethesefilesandfreeupthespacetheyoccupyonthelocaldisk.DFDeletewillnotaddtothelistoffilesyoushoulddelete(1)anyfilethatismarkedReadOnly,oranyfileappearinginaDFfilenestedinanotherwheretheouterDFfilemarkedtheinnerDFfileReadOnly(asinVerifyDF)(2)anyfilelistedintheDFfilewithanexplicitcreate-datewhosecopyonthelocaldiskdoesNOTagreeincreate-date.DFDeletetakesoneoption(/r):DFDelete/rPackage.DFwilllistallthefilesinPackage.DFincludingthosemarkedReadOnly.RemoteDeleteAllRemoteDeleteAllshouldbeusedtocleanupoldfilesfromreleasedirectories.Itchoosesasacandidatefordeletionanyfilethatisontheremotedirectorybutisnotlisted(withthesamecreate-date)inasetofDFfiles.Todothis,ittakesadirectorynameandalistofDFfilesandthenenumeratestheremotedirectory.Twolistsarewritteninfilesonthelocaldisk:alistoffilesthatwillnotbedeletedandalistofcandidatesfordeletion.Itthenliststhecandidatefilesontheterminalandtheuserisgivenachancetotype"y"todeleteit,"n"or"CR"toskipit(notdeleteit),and"q"toquit.Forexample,RemoteDeleteAll[Ivy]B>[Ivy]B>B.DF!5[Ivy]B>C.DF!6wouldoffertodeleteallfileson[Ivy]B>thatarenotenteredinthesamenameandcreatedateasthoselistedin[Ivy]B>B.DF!5and[Ivy]B>C.DF!6.ShouldafilelistedinaDFfilebelistedwithoutacreatedate(suchaswith~=or>),thennoversionsofthatfilewillbedeleted.Theusermayalsoenter"a"whenaskedwhethertodeletethisfile.Whengiven"a,"RemoteDeleteAllwillaskifyouaresureyouwanttogoaheadandthendeletetheremainingcandidatefileswithoutpausingforconfirmationforeachfile.ReleaseToolTheReleaseToolshouldberunbytheCedarReleaseMaster.Contactmeformoreinformation.OtherInformationxî&QïgrîG~ïgtî ìï_/îîÉîî5î�î î#Óî%Íî'¼î+Oî,üî/Zî5Žî7Êî:€î<èî?FîB>îCëîFùî ìï]ˆî ¹îMî“îSîiî îÕîî ƒî#zî$Ùî(ïî-î/7î1÷î4¬î6cî:5î;ÀîAýîCrîG/î ìï[àî Æî!îwî"î0î î#¦î&“î+Ÿî0H î9Hî;ôuî ®ïYeîî¤ tî ìïVéî }îpîEîîrîîKî!eî#ˆî%tî3Ûî6xî8Òî:fî<«î?îAj î ìïUBî ¹î“î¢ î÷î Ÿî#Ïî&‡î)>î*”î+ÿî1¯î6Òuî ®ïRÆîtî ìïPKî òî-î¼îjîxî!î$Üî'Êî)Žî+<î0^î3šî6Qî8¤sî ìïLütî ìïI¬î]îÍî1îçî¤ î!½î%ïî'î)`î+î-¬î0÷î7gî:î=6î>èî@ÝîClîF^î ìïHî^î°îµîŽî îTî ´î"�î$¡î'"î-mî/=î1¾î4kî6öî9æî>�î@·îC9îF¡î ìïF^îî«îN î�î“î!Žî$«î)˜î+ïî1¬î8î9ªî=®îA/îDîFÂî ìïD¶î þî^îî#î×îÝî<î!‚î ìïB;îXîîyî0îßî>î|î 5î#"î%Ùî*Uî ®ï?¿îÊîaî¿îƒîäxîÙï?¿î×ï?¿tî"Àï?¿î#’ï?¿î%Lî'âî*@î0—î2:î3Yî5Úî89î<~î>!îC"îG/î ®ï>îMîØîAî@î î >î"Éxî%3ï>î&0ï>tî+žï>î,ï>î-Æî/tî ®ï;œîËîaîÀî`îîYîÙî 8î#Iî%/î)ù î0ëî5î8Vî:Rî<§î?ãîBÇîEíî ®ï9õîWî î ìï7zîXîÖî‚îÜuî ®ï4þîEîÌ tî ìï2ƒî —îÕîÅî$îîÀ îkî%î)xî.ï2ƒî/ï2ƒtî4ï2ƒsî ìï/3tî ìï+äî¿î2îîNîóî#~î%ˆî'éî*Îî.,î2© î:"î;�î@“îB8îCYî ìï*=î *îxîîƒîRî¿îÆî&î#Îî) î,"î-�î0î3¯î7Dî9¤î=" îD™îFHîGrî ìï(•î žî"îÝîüîüîîî=î´îÖî$¡î(Yî+ î,,î.cî0î2˜î5~î8/î;N îB�îDèî ìï&î îŽî­îiî¶îcî î!óî#ôî&Mî)Žî,ïî.î0Kî1þî4æî7®î:Sî<Âî>­îC|îF-îGQî ìï%Gî š îHîzîŒîøîî!Êî$î*Hî-*î/%î1yî6çî9“î;çî>Õî@5îCÞîDüî ìï#Ÿî šîªî@îîîüîªîVîî!î"´î%¢î&øî)æî-ôî0î2Óî5î7-î:íî=˜uî ®ï!$î î%#î4Qtî ìï¨î(î’îNîiîgîbîv î%µî(‘î*òî-tî2wî43î6 î:+î=ùî@¾îDÎîGáî ìïî ±î�îUîî!øî.Öî3»î5 î7šî;jî=>î>ŽîA?îCÎîEåî ìïZîøî"î$î)îÔî‚î�î"Šî$Nî&Uyî){ïZî*9ïZtî+nïZî,ïZî0ºî2sî5Aî7ªî:Vî³î ìï7î »îGîËî¥îî9îî“î!dî#xî'�î*xî-Áî1òî4uî;îArîDƒî ìï�îî? îdî¢îÓsî ìï@ tî ìïñî Ä î�î îüî“îŽî!îî&î+î0ˆî5ªî7þî:;î=Î sî ìï ¡î¼ ÿ TVm$tDFFiles14YoucanfindallthecommandsinCedar.Bcdformon[Indigo]DFFiles>.Allprograms,excepttheRemoteGetTool,willrunintheCedarViewersandCedarUserExecworld.YoumayretrievethenewestreleasedversionsoftheseCedarDFprogramsbyrunningBringOver/p[Indigo]Top>DFFiles.DFfollowedbyRunBringOver.BcdtoloadinthenewversionofBringOver.Also,youmayfindnewer,experimentalversionson[Indigo]Top>*.DF.Usetheseatyourownrisk!Alloftheseprogramslistenforcontrol-DEL.Whentyped,theywillabortthemselves.Shouldyouneedtosupplyaconnectnameandpassword,anyoftheseprogramswillpromptyouforthem.WhenaCRfortheconnectnameandaCRfortheconnectpasswordaretyped,theseprogramswillaskwhetheryouwouldliketologinusingdifferentlogincredentialsoraborttheprogram.Ifyougetamessagethatbeginswith"Schmidt'sDebugging:"youmaysafelyignoreit--thesemessagesareusuallyduetocertainobjectsinmemorynotbeingfreedproperly.CedarReleaseProcedures[ThefollowingsectionisaneditedversionofasetofmessageswrittenbyRoyLevinandsenttoCedarimplementorsinSeptember1981.AlthoughtheproceduresdescribedbelowarerequiredofCedarimplementors,manyoftheextensionsaddedtoDFfileswillbehelpfulfornon-Cedarusersaswell.AlthoughitrepresentsarestrictiononDFfileusage,Irecommendnon-Cedarusersfollowthisstyleasmuchaspossible.]BackgroundReleasinglargesystemsisatrickybusiness.SDDhasknownthisforalongtimeandhasdevelopedelaboratereleaseprocedurestocopewiththematter.We'reonlyjustdiscoveringhowmessedupthingscanget.However,sincewehavemanyfewerhumancyclestoexpendonthisproblemthanSDDdoes,itisimperativethatwedevisenatural,easy-to-use,andefficient(ofpeopletime)proceduresforourreleasesofCedar.ReleaseProceduresThe[Indigo]directorywillbeusedexclusivelyforCedarreleases;thatis,afilewillappearonthisdirectoryifandonlyifitisapartofa(reasonablycurrent)Cedarrelease.Therewillbea"releasemaster"(initiallyLevin)whoisresponsibleforinsuringthisinvariant.Onlythereleasemasterwillbepermittedtocreateordeletefilesonthereleasedirectory.Inthefuture,weexpecttousesystemmodellingfacilitiestodescribeandissuereleases.Untilthenecessarysoftwareisinservice,wewilluseDFfilesandanumberofmanually-executedconventionstoachieveasimilareffect.TheproceduresIwilldescribehavethevirtuethat:(1)theyplaceonlyaslightadditionalburdenontheindividualimplementor,(2)theyenablethereleasemastertoinsurethereleaseinvariantwithoutbuildingthereleasefilesfromtheoriginalsources,and(3)theyareamenabletosubstantialautomation.Thesoftwareneededtoperformthisautomationisnearlycomplete.SincetheDFfileisthesoledescriptivemechanismpresentlyatourdisposal,wewilluseitinastylizedwayasa"poorman'ssystemmodel".Cedarimplementorswillobservethefollowingconventionsinxî&QïgrîG~ïgtî ìï_'î úî…îrîaîÀî¥îRî#iî&Žî)ôî+úî<‚î>ÔîE?î ìï]î K îÏîzîî¾î î$6î)lî,#î0<î6eî ìï[î ûîÿîþî^îäî!1î&}î(6î+¿î/×î2bî8uî:quî ®ïXˆîî¤tî ìïV î‘uî ®ïS’î tî ìïQî šîªîXî·î¥îmî& î ìïN›î ŠîXîsîyî î#Rî(µî*Òî> îAîD¤îFTî ìïLóî ðî ìïJxî ?î øî�î”î>î{ î&qî*‰î.¸î1Èî4sî8 î ìïGüî¼î„îòî±î4îoî!—î%gî(0î.—î1Iî3î6­î<Ñî?ŽîD‰îGRî ìïFUîJî_î†î îGî¤î·î#tî&(î'Nî)Öî,î.lî3€î9zî;Êî?öîC|î ìïD®î —îîOîî4îßîŽî# î&´î,Zî/× î6±î8uî<î>tî ìïB2î hîî\î€îÒîšîäî ù î'ï î0%î2Öî5Ôî9¯î=íî@0îC³î ìï@‹î ?îòîªîXîßî|î *î%—î( î+×î/ksî ìï=<î»îÔ tî ìï9íî %î6îÑî;î)îWî$î%Ôî&üî)î*Îî0¨î5Yî7Rî:Jî>3î@éîCÊîEwî ìï8E îÍî²îÐî aî&¸î)O î0�î6ïî;4î=¿îC†îEwî ìï6ž î îöîÎîL î"î&Qî(î*Èî-Ôî0žî2®î7‹î9çî@àîD}îFJî ìï4÷îîj îñî îœî!¦î$6î&¤î*Ìî+Ùî3hî:Gî=ÉîBîD¬îGáî ìï3Oî Ãîq xî ìï0 tî ìï,±îCîÂîÙî\îžî—î&î)²î,?î0Üî3•î5êî7,î:]î=›î@jîBöî ìï+ î×îU îTîúî 9î#Lî%¤î*Êî.Ïî1áî4z î;¯î>¬îClîEvî ìï)bî tî’îÃî2îVîšî"aî&(î*Ìî.Àî0kî5<î7?î9Ýî?]îB€îFî ìï'»î jî ý îóîéî7î�î"¿ î*Pî-/î2®î5î9«î=q îDŸîGî ìï&îöî¯xî ìï"Äî tî ìïuî Òîÿîßî˜î!–î$à î+Ýî.(î2Nî7ßî:»î<�î=Äî@;îBôîG‰î ìïÎî Œî\î»îqî‰îèî=î§îÏî!±î#hî$� î+âî1#î59î:˜î>˜îAAîC1îDYî ìï&î îžîî î˜ î$×î' î,„î/2 î5íî9kî;×î@jîDæîGžî ìïî8îæîéî­îºî¨î ®î#î'“ î ìïî èîuîîsîðîËînî#î)¹ î/Iî1%î6¶î9šî=#îCdîG/î ìï\îúîmîÓî{îTîvî"î$‹î'î)øî,©î-Íî2ôî4§î@P îGàî ìïµîÌîìîhîüîË î"Èî#Çî&iî+Ãî.ÿî1Uî5Cî8ûî;î>îAªîDºîEÚî ìï îXîîîe îÛ î(Mî*iî-mî1Çî4î8–î<úî>�îBµîE î ìïfîìî2îåî~î">î%eî)î+Ÿî0ãî6Iî9:î;›î>åîArîGàî ìï¿ î¼ îÖî®î!'î%ðî'žî,öî/˜ î6Õî8AîPilot>PilotMesaPublic.dfOf~=intheDFfile.ThereareseveralconvenientDFfilesofthissortavailable,e.g.,[Indigo]Pilot>PilotMesaPublic.dfPilotMesaFriends.dfComSoftPublic.df[Indigo]Tajo>TajoPublic.dfTajoFriends.dfandothersmayappearsoon.(5)The"endresult"ofbuildingacomponentisusuallyasingleBCDthatimplementsthecomponent.Youshoulduseaprogram,namedVerifyDF,whichtakesaBCDandaDFfileanddetermineswhetherornotthelattermentionsallthefilesnecessarytobuildtheformer.Forthepurposesofcheckingthecompletenessofareleasecomponent,itisusefultohaveaDFfileindicatetheBCD(s)namedwithinitthatrepresent(s)the"endresult".TheDFfilesyntaxwillallowthecharacter"+"toappearimmediatelybeforeafilename.BringOver,SModel,etc.allignorethischaracter,buttherelease-checkingsoftwareusesittopreparetheinputforVerifyDF.All"top-level"BCDsinaDFfiledefiningareleasecomponentshouldbemarkedwitha"+"(morethanoneperDFfileispermitted).Theauthor/maintainerofacomponentshouldapplyVerifyDFtoitbeforesubmittingittothereleasemaster.(6)Whenthecomponenthasbeenbuilt,the(non-ReadOnly)DirectoryheadingsintheDFfileidentifythelocationofthefilesintrinsictothecomponent.However,whenthecomponentisreleased,thislocationischangedto(anappropriatesubdirectoryof)thereleasedirectory.TheDFxî&QïgrîG~ïgtî ìï_/îz î&îcîéî —î#{î%4î'“î+¬î ®ï\´î‹îîWîî%î%hî'}î(¿î+cî.=î2dî5Ùî7Ÿî:½î>'î?îîC¦îFJî ®ï[ î'î�îí î$™î&Gî(òî*ãî0î ®ïX‘îÙî¦îqîîÖî!„î'2î)6 î0î4î6¬î;µî=¤îAƒîDzîG/î ®ïVéîøîp îxîµ î'¤î*÷î-Žî1|î3Lî5Îî;‹ îC|î ®ïUBîåîzîw î&iî,±î3÷î8fî:3î<²î?\îBhîEVî ®ïS›îšî%îaîî�î!‰î(nî)Ù î2™î6!î7Úî=ÖîA·îCîGžî ®ïQóî&î îâîxî!×î$ î)*î,{î-Üî1Ýî5³î8÷î;Ùî?+îDxîG/î ®ïPLî? îî î"º î*:î-@î/2î4Îî;|î= î?vîAøîD¯î ®ïN¥îžîýîî)î×î wî"Ö î ®ïL)îIî“îyî?îžî†î!Ëî$§î&Wî(ñî0î3cî5ºî9‡î<6î@³îC™îFHî ®ïJ‚î�î€îéî^îúî"Gî$¿î'xî+ïJ‚î,ïJ‚tî1ïJ‚î1ãïJ‚î6Æî9‚î;Ãxî?RïJ‚î@PïJ‚tîE9ïJ‚îFuïJ‚î ®ïHÛîKî î° îZî$°î'”î+¡î-Eî2´î5 î<&î=Êî@­îBPîD¥îG%î ®ïG3îöîaî•îäîBî"íî%æî,Ìî.…î0ðî3‡î5ûî:ƒî?xîC#ïG3îD!ïG3î ®ïEŒtîùïEŒîÀïEŒîÖîÎxîïEŒî ïEŒî%©tî+õïEŒî,»ïEŒî1Nî4¬î6}î:Ãî=öîD+îG;î ®ïCå îyîîÏ î#¬î&‹î'Ýxî*ŸïCåî+œïCåî12tî7ƒïCåî8JïCåî<âî@EîC|î ®ïB=î›îxî¡î…î>îà î ®ï?ÂîÐîƒî*î î Ñî"ºî(dî)Éî/]î1Qî3ìî7î î�î+îëî!�î#6 î+� î2­î4�î65î8„î;¹î?ã îF¡î ®ïìîDuîG/î ®ï\îdî î¸î î$Sî%ûî'î+Š î2ùî4?î5šî9¢î;@î>vî?�îB îDbî ®ïµîî!î²îîaî!9 î(¸î+"î.“î4Žî7pî:î7î@ÉîH#î ®ï ¦îSîõî,î˜î!î"¶î% î,€ î4dî6—î8÷î=} îD+îG ’TVm$¬DFFiles16filesyntaxhasbeenextendedtoenableDirectoryheadingstoidentifybothlocations,e.g.,Directory[Indigo]Levin>SpyBuildReleaseAs[Indigo]Spy>ThereleaseautomationsoftwareusesthisinformationtomovethefilesunderthisheadingtotheindicatedplaceonthereleasedirectoryandtoupdateDFfiles(includingothersthatreferencetheoriginaldirectorywithReadOnly)accordingly.TheReleaseAsclauseisonlyappropriatefornon-ReadOnlyDirectoryheadings,andallDFfilesinvolvedinareleasemusthaveReleaseAsclausesinalloftheirnon-ReadOnlyDirectoryheadings.(7)ItishighlydesirabletohaveasingleDFfileidentifywhichofthefilesthatcompriseareleasecomponentareofinteresttotheclientofthecomponentandwhichfilesareofinteresttotheimplementor.SeveralsyntacticchangestoDFfilesandtheBringOvercommandlinetogetherprovidethefacilitiestodothis.Theyarebestexplainedbyanexample.ConsiderthefollowingfragmentofaDFfilefortheSpy:--Spy.dfExports[Ivy]SpyBuild>ReleaseAs[Indigo]Top>Spy.bcdSpyNub.bcdSpyClient.bcdDirectory[Ivy]SpyBuild>ReleaseAs[Indigo]Spy>Spy.dfSpyImplA.bcdSpyImplA.mesa...Imports[Indigo]CoPilot>CoPilot.dfOfNowsupposethatauseroftheSpywantstoretrievethepublicfilesoftheSpy.Theusertypes:BringOver/p[Ivy]SpyBuild>Spy.dfThe/pmeans"exportsonly"andwillcauseSpy.bcd,SpyNub.bcd,andSpyClient.bcdtoberetrieved(assumingtheyaren'talreadyonthelocaldisk).ThesearetheonlyfileswhoseDirectoryheadingsincludeExports.SinceCoPilot.dfisimportedbutnotexported,neitheritnoranyofitscontentsareretrieved.SupposeinsteadthattheimplementorwantstomakeachangetotheSpy.Hetypes:BringOver[Ivy]SpyBuild>Spy.dfSinceno/pappears,allfilesinSpy.dfwillberetrieved(unless,ofcourse,theyarealreadypresentincorrectversionsonthelocaldisk).ThisincludesCoPilot.dfand,sinceitscontentsareimported,BringOverwillrecuronthecontentsofthisDFfile.However(thenestedinstanceof)BringOverwillretrieveonlythefilesinCoPilot.dfthatappearunderExportsheadings.Thus,theimplementoroftheSpywillgetalloftheSpy'sfiles,butonlytheexportedportionsofCoPilot(whichisappropriatesincetheSpyisaclientofCoPilot).Tosummarize:ExportsinplaceofaDirectoryheadingidentifiesfilesthatareofinteresttotheclient,i.e.,thosefilesthatwillberetrievedbyxî&QïgrîG~ïgtî ®ï_,îî[îÐî-îî Äxî%)ï_,î&=ï_,tî+Rï_,î,ï_,î1 î2¼î7Òî; îA!xîoï\±tî˜ï\±îûï\±xî$Tï\±î%Rï\±tî*ìï\±î+Oï\±î ®ïXŽî—î. î}î!î$î&Å î.`î0 î3ñî6aî9`î=tî@'îEpîG/î ®ïVæî¦î@îKî°î;î%î'Ïî)‚î.î0«î3ž î:0î>YîA-îG/î ®ïU?îî;xî¯ïU?î­ïU?tî!–ïU?î"íïU? î+Ïxî/ïU?î/ýïU?tî5ðïU?î6‹ïU?î:bî<&î?™ îGRî ®ïS˜xîoïS˜îmïS˜î¿tîÌïS˜î“ïS˜î!Åî$`î&5î(¤î+vî0ôî2‡î3•î7ÿî;Kxî>vïS˜î?tïS˜tîDòïS˜îE�ïS˜î ®ïQðî\îLîîKxî ïQðî ïQðîytî$¢ïQðî%iïQðî ®ïOuîSîÈî1îgî5îáî!$î"Kî&4î(¼î+"î05î4@î5öî8Sî;=î> îCâîE î ®ïMÎîúîrîOîSî%î!©î%Žî'kî)ïî1äî4Àî8òî<î>|î@YîE]îG/î ®ïL& îî)î üî&`î(Fî+ î..î1î3µî:¤îA=îD+î ®ïJîÌî@ î·îyî”î!9î$Õî'=î*5î0ˆî2˜î4œî;îA îC|î ®ïHØîŠîCîmîøîaîžîþyîoïF\îæxîoïCátîŽïCáîòïCáxî"°ïCáî#®ïCátî)GïCáî)«ïCáî1ïAeî12ïAeî1ï>ê î12ï>êî1ïÀï!!tîCÓï!!îDšï!!î ®ïzxîŸïzî†ïztî:ïzî½ïzî„ î"-î#ªî)¯î,Aî.Èî4îî9³î;î=·î@iîB4îD î ®ïÒî î ®ïƒî3îæî´î î$8î(î)Èî-|î.¦î3Nî4üî7\î:úî=DuîoïîÞtî ®ïŒîeîmîjîÏîÁî°î `î$¼î'iî)\î/$î4î5Õî:î=�î?æîD»î ®ïåîZîëî5î:î˜îÜî$î'5î,— î3,î6:î9«î;„î@òîCDî ®ï>îpî&îÅî×îAî#»î%î(+î*Áî.î4î6çî;Aî@šîB×î ®ï–îJî;îFî–îuî î$�î'\î+Ôxî/Èï–î0¯ï–tî4Øï–î5Ÿï–î;Rî?îAj î ®ïïî¥îBîCî-î´îâîÚî wî$Uî'Ùî*˜î-ðî0Žî6ˆî<)î> îC^îH#î ®ï H îî�î îÝîWî�î#_î%&î+˜î-Î xî5Øï Hî6Àï Htî;ï Hî;jï Hî<Ãî@fîB.xîCfï HîDzï Htî ®ï  î î&î;î1î «î"Œî'’î)hî+ïî0.î2êî6°î9Åî<»î?�îA¥îG“ÿ�TVm$/DFFiles17BringOver/p.ImportscausesBringOvertomodifyitsbehaviorwhenrecurringtoretrieveonlyfilesidentifiedasExports.If/pisomitted,allfilesareretrieved,exceptthat,onceBringOverenters"exportsonly"mode,allnestedretrievalsofDFfileswillbeexportsonly,regardlessofthesubsequentappearanceofIncludestatementsinnestedDFfiles.Thishasthenatural,intuitivebehavior.(8)Aseachimplementorcompletesacomponentneededforanupcomingrelease,he/shesendsamessagetothereleasemastercontainingthenameoftheDFfilethatdefinesthecomponent.Theimplementorthenmustleavethecomponent'sconstituentfilesundisturbeduntilthereleasemasternotifieshim/herthatthefileshavebeensafelymovedtothereleasedirectory.ThefollowingsummaryofqualifiersthatappearinDFfilesmaybehelpful:QualifierInterpretedbyIgnoredby----------------------------------------------ReadOnlySModel,VerifyDF,ReleaseToolBringOverExportsBringOverSModel,VerifyDF,ReleaseToolImportsBringOverSModel,VerifyDF,ReleaseToolIncludeBringOver,VerifyDF,ReleaseTool,SModelReleaseAsReleaseToolBringOver,VerifyDF,SModelGuidelinesforDateSpecificationsWithinaDFfilethatisintendedtoconformtotheguidelinesforrelease:(a)filesthatareanintrinsicpartofthecomponentdefinedbytheDFfile(i.e.,thoseappearingundernon-ReadOnlyDirectoryheadings)shouldspecifyexplicitdates,(b)fileswhichthecomponentimports(i.e.,thoseappearingunderReadOnlyDirectoryheadingsorthoseimportedDFfiles)shouldspecify"#"(orequivalently"~=").However,thereisanimportantexceptionto(b).Itoccasionallyhappensthatasinglepersonisconcurrentlydevelopingboththeimplementationofaninterfaceandaclientofthesameinterface.(Example:acollectionofBCDmanipulationfacilitiesisimportedbyboththecompilerandthebinder.EdSatterthwaiteistheimplementoroftheBCDfacilitiesaswellasthesetwoillustriousclients.WhendevelopinganewversionoftheBCDstuff,Edfrequentlyandrapidlyswitchesbetweenhisrolesasimplementor-of-BCD-packageandimplementor-of-client-of-BCD-package.)Insuchsituations,specifying"#"intheclient'sDFfilewillcausethewrongthingtohappen;itwastoaccommodatethissituationthatthe">"formofdatespecificationwasoriginallyaddedtoDFfiles.Implementorswhofindthemselvesinthispredicamentshoulduse">"insteadof"#"wherenecessary.ItshouldalsobeunderstoodthatwhentheReleaseToolisconstructingtheDFfilestobestoredonthereleasedirectory,itwilluniformlyreplace"#"and">"specificationsbyexplicitdates.Thisisimportantforarelease,sinceitisintendedtobeasnapshotofthestateofthefilesatsomeinstantoftime,andtheloosebindingimpliedby"#"and">"isinappropriate.Duringthedevelopmentprocess,however,these"dynamicallybound"datespecificationsareveryuseful,anditisunreasonableandunnecessarytoexpectpeopletoperformthemanualtranslationtospecificdateswhenreleasetimearrives.How,then,doesthistransformationofdatesfitinwiththeongoingdevelopmentprocess?Whenanimplementorfindsitnecessarytochangeacomponentfollowingarelease,he/shehasthechoiceofstartingfromtheDFfileonthereleasedirectoryorfromtheoneusedtobuildthecomponentinpreparationfortherelease.(Ofcourse,thelattermayvalidlydisappearaftertherelease;onlytheDFfileonthereleasedirectoryisguaranteedtoberetained.)Intheformercase,themaintainerwillhavetoeditthereleasedDFfiletomakeitconvenientforsubsequentdevelopment,e.g.,byadjustingDirectoryheadingstoreferenceworkingdirectoriesandbyreplacingspecificdateswith"#"or">".Inthelatterxî&QïgrîG~ïgtî ®ï_/îˆxî¥ï_/î)ï_/tîÜï_/îwï_/î 9î'î(äî-Äî/Âî5•î9lî?‚îASîFuî ®ï]ˆî‹ î°xîNï]ˆî5ï]ˆtîéï]ˆî(ï]ˆîšî …î!áî'?î)î+üî.? î4Nî8Žî;¤î>ÚîE‚î ®ï[àî î­î´î|î¥ î%dî&öî)Yî,î.£î0lî5î8c î>œî@.îBf î ®ïZ9 îáxîšïZ9îïZ9tîwïZ9îûïZ9î!1î"ßî'/î)ºî-ƒî0�î3î5rî:}î?ìî ®ïW¾îdî{î² îÜî#Nî$}î+«î0zî2½î4³î;%î@îD îHeî ®ïVîî¯î î�îþ î%µî(î+Ïî-†î/ãî2lî4Óî7Ÿî· îF·î ®ïTo îÓîùîaîêî!I î)N î0Vî3D î:òî>9î@™îEî ®ïRÈîŒîîÓî3î!î"gî%Äî)¤î.*î/Ùî28î6¾ î ìïN_î ÄîÖîÔî� î •î#cî'êî)˜î,#î/î2î4î ®ïKäîûïKä î.î(•ïKäî-Áî ®ïIi îûïIiî1ãïIixî ®ïFítîûïFíîî" î1ãïFíxî ®ïEFtîûïEFî1ãïEFî7gî=þ xî ®ïCŸtîûïCŸî1ãïCŸî7gî=þ xî ®ïA÷tîûïA÷ î î#¢ î+Æxî ®ï@Ptîûï@P î1ãï@P î8óî?Šxî ìï= î®îàîG tî ìï9²î”î½îHî²î€îìî¨î Vî%Úî'ˆî)è î0jî2§î ®ï77îèîóîßîPî^îÈî!Êî# î&î-cî2�î4šî7î9¿îÑîA×îC-î ìïîî 6î lîVîÕî7î¯îxî 2î"/î#eî)#î*èî-Tî0‘î2Vî4Âî7¼î9aî=îAˆîCNîFØî ìïGî IîÎîâîêîãî'î!Üî$oî%Ø î/8î3þî6[ î>‰îC³î ìïŸî n îÂîÆîà î&$î(pî+wî/àî2�î3Þî5C î=—î@G îGàî ìïøî<î¸îfî¾îî! î'Ëî)zî.dî1íî5¢î:(î=Mî ìï}î ½îVî¢î^ î ½î"‘î&6î( î)êî- î/šî5 î=MîCkîGžî ìïÕ î;îØîYî—îoî$Bî%–î,èî3%î4yî9�î>=î@ÝîCgîGÖî ìï.îî›î)îãî{î°î>î#óî)ôî+çî/|î2 î4åî8Pî:-î=üî@ŠîGáî ìï‡ îWî î î†îî"Ðî%<î(Üî+ìî0sî6´î9üîîÌî`î — î'rî)� î0˜ î9î;Ãî=žxîCfï 8îDzï 8tî ìï ‘î¤îOîIîœ î#Gî%ûî'óî-âî2Éî6Oî9fî<¨î>iîAÓîCŸîEûÿ ¾TVm$NDFFiles18case,theDFfileisalready(still)suitablefordevelopmentwork.Ifaparticularcomponentisfrequentlychangedandusuallybythesameperson,thelatterapproachwilllikelybefollowed.Ifthecomponentisinfrequentlymodifiedorifmanydifferentpeoplehaveoccasiontochangeit,theformerapproachwillbelesserror-prone.Thechoiceshouldbemadeonapackage-by-packagebasis.CompleteSyntaxDescriptionofDFFilesDirectory[host]Exports[host]ReadOnly[host]AnyoftheabovecanbefollowedbyReleaseAs[host]orCameFrom[host].Exports,ReadOnly,andDirectorycanbecombinedononeline.(PublicisasynonymforExports.)filenameMultiplelinesconsistingoffilenamesand(optionally)createdatesmayfollowExports,ReadOnly,andDirectoryheadings.filenamemaybeprecededby"+","@",and/or{PublicOnly}.Thefilenamemayhaveadirectorypath(butnohost),ashortfilename,possiblyfollowedbyaversionnumber.Thecanhavetheusualform,"~=","#",">",orbeomitted.Include[host]file.df!versionOfTheIncludestatementmaybefollowedbyaReleaseAs[host]orCameFrom[host]statement.TheOfisoptional.Imports[host]file.df!versionOfUsing[listoffilenames,separatedbycommas]TheImportscanbeprecededbyExports,theOfandUsing[]canbeomitted,andtheUsingclausemaybeprecededbyaCameFromstatement.SemanticsofDFFilesAllDFprogramsinthissetuseaconsistentviewofwhatalineinaDFfilemeans.Insummary,hereisalistofwaystospecifyfilesinaDFfile:filename!versAnyfileontheremotedirectorywithcreatetime.Ifnecessary,DfprogramslikeBringOverwillenumeratetheremoteserverlookingforsuchafile.Theversionnumbervers(ifpresent)isusedasahint.filename!vers>filename!vers#filename!vers~=Thehighestversion(!H).If~=or#isgiven,aprogramlikeBringOverwillretrievefilenamefromtheremotedirectoryifitscreatetimediffersfromthatofthefileonthelocaldisk.Theversionnumbervers(ifpresent)isusedasahint.>islike~=exceptthatthefilewillberetrievedonlyifitscreatetimeisnewer.filename!versWhennodateispresent,andaversion#isgiven,thenthisreferstothefilefilenameontheremoteserverwithversionnumber!vers.filenamexî&QïgrîG~ïgtî ìï_'î 'î{îûîYîºî‚î î#î%G î-lî1¯î3%î4D î:nîA‹îBë î ìï]î_îîÒîÑî5î¶î#Žî%òî)Šî/�î2<î5ÿî7ôî>}î@îBgî ìï[Øî I îîÕîŠîÜî˜î%/î)œî,Óî2Iî3èî8�î:!î±ïM<î?ïM<yî?ÄïM<î@uïM<tîBRïM<îCïM<xîDïM<îDÿïM<tîH²ïM<xîoïK•tîVïK•î3ïK•xîêïK•îþïK•tîïK•î®ïK•î!žî#�î)ðî+öî.¢î1°xî2)ïK•î3ïK•tî6mïK•î6ÐïK•î7Øî9î>ÞxîAïK•îBïK•tîE¶ïK•îF ïK•|î ®ïI§xîBïI§|î ïI§xî‹ïI§tîoïG,î�î( îêî"î(¥î+É î3žî8 î<î?sxîDïG,îDÿïG,tîH²ïG,xîoïE…tîVïE…î™ïE…xî·ïE…îÊïE…tî EïE…î! ïE…yî'©ïE…î(ïE…tî-ƒïE…î.­ïE…î0íî3Dî9“î;õî?ùîCýîGËîoïCÞxî ïCÞîïCÞtîÂïCÞîrïCÞîºyî…ïCÞîôïCÞtî íïCÞî"ïCÞî#åî'î(<î.î1î4 î6î9Ãî:àî>RîDBîoïB6î!î*îbî7î#Zyî&@ïB6î&ðïB6tî*žïB6î+9ïB6î-7î0‹î2øî6¥î:rî?&îBÑîEÍîGžîoï@�xî ®ï>¡tî‹ï>¡yîîï>¡tîPï>¡î³ï>¡yîcï>¡îï>¡tîñï>¡yî¡ï>¡xî!ï>¡î"8ï>¡yî#*ï>¡î#Ûï>¡tîoï<&xîDï<&îÈï<&tîï<&î¢ï<&îOî Pî"=î'Þî)Öxî*üï<&î+úï<&tî1�ï<&yî1óï<&tî4Uï<&î4¸ï<&yî5hï<&î6ï<&tî7öï<&î9'ï<&xî:çï<&î;Úï<&tîAôï<&yîBWï<&tîD¹ï<&îEï<&yîEÌï<&îF}ï<&tîHZï<&îoï: î�xîYï:îyï:yîkï:îï:tî¼ï:î ï:î!'xî ®ï8‘tîÂï8‘yî%ï8‘tî‡ï8‘îêï8‘yîšï8‘îKï8‘tî(ï8‘yîÙï8‘xî!Oï8‘î"oï8‘yî#bï8‘î$ï8‘xîÐï6éyîÅï6éî¸ï6éî÷îš îëî%ßî'¹î,étîoï4nxîIï4nîÍï4ntî_ï4nîúï4nîìîÞî!Èxî#Æï4nî$­ï4ntî(`ï4nî)?ï4nxî+ ï4nî,¿ï4nyî-³ï4nî.dï4ntî2ï4nî2«ï4nxî4¿ï4nî5Òï4ntî8¶ï4nî9Ÿï4nî:ˆî=î?îDwîG0xîoï2Çtîeï2Çîï2Çî}î�îrî"Zî$Vxî%€ï2Çî&sï2Çtî,�ï2Çî-ï2Çsî ìï/xîÔî×îÉtî ìï,*î >îÉîÛî‰î*îFîºîä î%:î(tî*,î-‰î.²î1hî3î4?î6Éî92î>Qî@ îFtî ìï*‚î Xî �î¿îxîÔîƒîî î»îåî"p|î ìï( îmï(tî ®ï%Œî«îîîjî î ×î#íî'éyî+ ï%Œî+ºï%Œtî.Öï%Œî0+ï%Œî1§ î8 î:$î@1îB×î ®ï#åînîHî½îzî!›î&¤î(÷î,>î-}î0íî3Úî8·yî=ùï#åî>”ï#åtî@Ñï#åîAJï#åîBÀîH#î ®ï">îêî˜îÁ|î ìïà îmïÃî ìïH îmïHî ìïÍ îmïÍtî ®ïRî¡îzî]îîî"%î$î&î'‹î+²î,÷î2¡î5gî<:î?yîDïRîDŠïRtî ®ïªî<îÃî‘îŠîî!î%>î(‹î-î0�î3…î5eî7ìî:}î<ªî?1îBžîF·î ®ïîlyî�ïî*ïtîIïîÂïîî ^î!Áî$ôî&™î'¹î+gî,’î-õî0—î3|î7Ãî:ˆî<Þî??îAáîCÈî ®ï\îÇî(îîî+î–|î ìïá tî ®ïfî³î§î™îòî î°îÇî$|î&Oî'¨î+¢î.µî1Dî5î6¢î8ïyî;Fïfî;µïftî@§ïfîAbïfîB›îDçî ®ï ¾îºîÕî�îÉyîBï ¾îÝï ¾tî �ï ¾|î ìï CÿìTVm$ÊDFFiles19Whennodateandnoversionnumberispresent,thenitistreatedlike~=.(ExceptbySModel,whichfillsinthelocalcreatetime.)ThecasesforDFfilesthatareincludedorimportedareexactlyanalogous.Forexample,Directory[Indigo]Top>Spy.Bcd!21-Jan-8211:11:11Referstoafilecreatedon1Jan82.Version#isahint.Spy.Bcd!3~=Referstothehighestversiononthedirectory.Theversion#isignored.Spy.Bcd!4Referstoversion4.Spy.BcdReferstothehighestversiononthedirectory.xî&QïgrîG~ïgtî ®ï_'îÛîøîîßîüîÙî%î&�î+ßî/î0‡î2î6¼î9}î<ØîAùîD î ®ï]î»îgîîtîºî½î ìï[î Äî7îtîÿîíî»îî"µî$yî*lî,¿î1\ î ìïX‰î —xî ®ïVtîÖïVî9ïVîoïS“î/ïS“î¿yî1ïQî`îî9î�î 8î"+î#_î%îî(+î-"î/î0sî1¨tîoïN�î/ïN�yî1ïL"î`îîQîñî#†î%yî'Å î-ºî0}î5î6÷î8btîoïI§yî1ïG,î`îî™tîoïD±yî1ïB6î`îîQîñî#†î%yî'Å ÿ²TVm$å ÿ TIMESROMANþŸ ÿ TIMESROMANþæ ÿ TIMESROMANþæ ÿ TIMESROMANþŸÿ TIMESROMANþŸÿ HELVETICAþÿLOGOü´ÿGACHAþŸÿ TIMESROMANþŸÿ TIMESROMANþYÿ HELVETICAþŸÿ HELVETICAþæÿ HELVETICAý…•  è  Ê( ©4 "> PI #R š[ d ƒm v �€ Š �“ RŸ ?©A«j/®¬›“ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ DFFiles.tioga 8-Jun-83 18:40:30