sansstatusmonitor

statusmonitor  时间:2021-04-02  阅读:()
Revised10/7/13AccuRevGitCentricUser'sHelpVersion2013.
2CopyrightandTrademarksCopyrightAccuRev,Inc.
1995--2013ALLRIGHTSRESERVEDThisproductincorporatestechnologythatmaybecoveredbyoneormoreofthefollowingpatents:U.
S.
PatentNumbers:7,437,722;7,614,038.
AccuRevandTimeSafeareregisteredtrademarksofAccuRev,Inc.
AccuBridge,AccuReplica,AccuSync,AccuWork,Kando,GitCentric,andStreamBrowseraretrademarksofAccuRev,Inc.
Allothertradenames,trademarks,andservicemarksusedinthisdocumentarethepropertyoftheirrespectiveowners.
GitCentricUser'sHelpiiiTableofContentsPreface.
viiAudienceviiUsingThisBookviiTypographicalConventionsviiiContactingTechnicalSupport.
viiiLicenseIssues.
viiiOtherSupportIssues.
viiiOtherResources.
ix1.
ConceptsandOverview.
1WhatisAccuRevGitCentric1WheretogoforMoreInformation1ANoteAboutTerminology.
2BasicArchitecture.
3GitCentricUsers4GitCentricAdministratorsandMappingBranchestoStreams.
4BasicRules5MappedBehavior.
5BestPracticesWhenPlanningYourInstallation5KeepingGitMergesandAccuRevPromotesinSync.
6BestPracticeforKeepingMergesandPromotesinSync7ScenariosforMappingMultipleRepositoriestoaSingleStream7MultipleReposandMultipleServers.
8AccuRevReplicaServerRestriction9ConfiguringforSecurity.
9ConfiguringMultipleGitReposwithAccuRevandEACLs.
10GettingStarted112.
Howto.
13ProceduresforAllUsers.
13GetStarted13DefineandDisplayaSiteHeaderorFooterforGerritCodeReview.
17ConfiguretheCloneforCodeReview(Optional)18ConfiguretheCloneforDirectPush18TroubleshootGitCloneIssues.
18ConfigureGitCentric21RemoveaBranch.
23RemoveaRepository.
23ANoteAboutAccuRevDepots23ImportaSnapshotoftheLatestHeadsintoAccuRev.
24ImportCompleteGitHistoryintoAccuRev[BETAonly]25GitCentricUser'sHelpivGeneralProcedureforSettingACLs.
30ConfiguringACLsforCodeReview.
32ConfiguringGitCentricACLsforDirectPush.
34SpecifytheServerandServiceAccount34MaptheBranchtotheStream36RegisteringanAccuRevServer.
39ConfiguringtheAccuRevServer.
40ConfigureMultipleAccuRevServers41ToViewandAccessGroups.
42AddaGroup42AddaMembertoaGroup.
42AccuRevGroups.
43AllowingSelf-Reviews.
44DisablingCodeReview.
44Overview.
45RegisteringtheGitCentricBridgeSSHKeywithGerrit.
45Modifyingthereplication.
configFile.
45AccuRevtoGit47GittoAccuRev473.
MyAccount49MenuOptions49Profile49WatchedRepositories(Projects)50ContactInformation.
51PublicKeys.
51AccuRevServers51HTTPPassword.
51People524.
CodeReview53OverviewofGerritCodeReview53DifferencesfromStandaloneGerritCodeReview53CodeReviewforUsersofDifferingBackgrounds.
54GerritCodeReviewandAccuRevMappings.
54Troubleshooting555.
Administration57Repositories58ToCreateaNewRepository.
58ToConfigureanExistingRepository58SupportforHooks.
63People.
64AccuRevServers.
65ANoteabouttheCLIPathSetting.
65GitCentricUser'sHelpvA.
ThekandoMaintainUtility.
67UsingkandoMaintain.
67BackupandRestore67kandoMaintainCommandReference67Commands.
67Options.
69GitCentricBridgeConfigurationSettings71Examples.
71B.
BackupandRestore.
73TheBackupProcess.
73WhataretheGitCentricDatabases73BestPractices.
73BackingUpGitCentric74WhatGetsBackedUp74WheretheBackupFileGetsCreated.
74BeforeYouBegin74HowtoBackUpGitCentric74RestoringGitCentric.
75RestoreScenarios.
75BeforeYouBegin76HowtoRestoreGitCentric76C.
Command-LineReference.
79BasicSyntax79SpacesandQuoting79CLIExample.
85D.
GitCentricGlossary.
87Index.
95GitCentricUser'sHelpviGitCentricUser'sHelpviiPrefaceThisdocumentservesasboththeon-linehelpandtheUser'sGuideforAccuRevGitCentric.
ThisdocumentationcoversbothGitCentricenduserandadministratoraudiences.
GitCentricprovidesmostfunctionalitythroughaWebUI,butalsoprovidesthreeadministrativeCLIcommands.
AudienceThisdocumentisintendedforGitCentricendusersandadministrators.
EndusersareassumedtobefamiliarwithGitsourcecontrol,andpossiblyGerritCodeReview.
AdministratorsareassumedtobefamiliarwiththesetopicsandalsowithLinuxoperatingsystems,aswellasAccuRevandAccuWorkconcepts.
UsingThisBookThisbookassumesyouarefamiliarwithyouroperatingsystem(s)andtheircommands,aswellaswithAccuRev,AccuWork,andGit.
Thefollowingtablesummarizesthechaptersandappendixesinthisbook.
ChapterDescriptionAudienceChapter1ConceptsandOverviewIntroducesbasicGitCentricconceptsandarchitecture.
EndusersandadministratorsChapter2Howto.
.
.
ProvidesaseriesofcommontasksthatyouperformtoconfigureanduseGitCentric.
EndusersandadministratorsChapter3MyAccountProvidestheabilitytoregisteryourselfwithGitCentric,andtosetyourpreferencesandcontactinformation.
EndusersandadministratorsChapter4CodeReviewGivesyouaccesstooptionalthird-partyGerritCodeReviewfunctionality.
EndusersandadministratorsChapter5AdministrationSummarizesthefeaturesforconfiguringandmaintainingrepositories,groups,andAccuRevservers,includingsecurityconfiguration.
Provideslinkstoconceptualandtask-basedsectionsofthisdocument.
AdministratorsAppendixAThekandoMaintainUtilityDescribesthecommandlinekandoMaintainutilityforupgradingandadministeringtheGitCentricdatabase.
AdministratorsAppendixBBackupandRestoreSummarizesproceduresandbestpracticesforbackingupyourGitCentric-relatedrepositoriesanddatabasefiles.
AdministratorsviiiGitCentricUser'sHelpTypographicalConventionsThisbookusesthefollowingtypographicalconventions:ContactingTechnicalSupportAccuRevoffersavarietyofoptionstomeetyourtechnicalsupportneeds.
ForcompleteinformationaboutAccuRevtechnicalsupportservices,visitourWebsite:http://www.
accurev.
com/support.
htmlLicenseIssuesIfyouarehavingtroublewithalicenseforyourAccuRevproduct,visittheLicenseSelfHelppagefirsttoseeifthereisasolutionforyourproblem:http://www.
accurev.
com/support/license-self-help.
htmlOtherSupportIssuesToobtaintechnicalsupportforanAccuRevproduct:Gotohttp://support.
accurev.
com/OrwriteAccuRevtechnicalsupportatsupport@accurev.
comWhenyoucontactAccuRevtechnicalsupport,pleaseincludethefollowinginformation:TheAccuRevproductandversion(forexample,AccuRev5.
4.
1,GitCentric2013.
1)TheoperatingsystemAppendixCCommand-LineReferenceSummarizesthesyntaxandusageoftheGitCentricadministrationcommands,typicallyusedforscriptingadministrativefunctions.
Note:Althoughthesecommandsaregenerallyconsideredadministratorcommands,anyregisteredusermayusethels-repocommandtoviewtherepostowhichtheyhaveaccess.
AdministratorsAppendixDGitCentricGlossaryAlistofGitCentric-relatedtermsandtheirdefinitions.
EndusersandadministratorsConventionDescriptionbluesans-serifUsedforsamplecodeoroutput.
boldUsedforcommandnames,andbuttonnamesintheGitCentricuserinterfacelightitalicUsedforemphasis,booktitles,andforfirstuseofimportanttermsblueitalicIdentifiesahyperlink(toapageorWebURL,forexample)ChapterDescriptionAudienceGitCentricUser'sHelpixAbriefdescriptionoftheproblemyouareexperiencing.
BesuretoincludewhichAccuRevinterfaceyouwereusing(Webuserinterface,JavaGUI,orCLI),anyerrormessagesyoureceived,whatyouweredoingwhentheerroroccurred,whethertheproblemisreproducible,andsoon.
Adescriptionofanyattemptsyouhavemadetoresolvetheissue,includingusingtheresourcesdescribedinOtherResources.
Asimpleassessmentofhowtheissueaffectsyourorganization.
OtherResourcesInadditiontocontactingAccuRevtechnicalsupport,considertakingadvantageofthefollowingresources:AccuRevKnownProblemsandSolutions--http://www.
accurev.
com/support/kps.
htmlTheAccuRevKnownProblemsandSolutionspagedescribesknownproblemsinreleasedversionsofAccuRevproducts.
TheTroubleshootingsectionoftheGitCentricInstallationandReleaseNotes.
AccuRevUserForum--http://www.
accurev.
com/ubbthreads/TheAccuRevUserForumisavaluableresource.
InadditiontoaccesstoAccuRev'sinternationalusercommunity,theUserForumistheplacetogoforresourceslike:TheAccuRevknowledgebaseTheAccuRevFAQRegisterasaUserForummembertoday.
AccuRevdocumentation--http://www.
accurev.
com/documentation.
htmlThispageprovidesaccesstoAccuRevproductdocumentationforallcurrentandpreviousreleasesofmostAccuRevproducts.
xGitCentricUser'sHelpGitCentricUser'sHelp11.
ConceptsandOverviewThischapterprovidesanintroductiontotheconceptsbehindAccuRevGitCentric.
WhatisAccuRevGitCentricAccuRevGitCentricisabridgebetweentwoworlds:theopensourceGitrevisioncontrolsystemtheEnterprise-capableAccuRevsourcecontrolmanagement(SCM)systemGitispopularwithmanydevelopersforitssimplicityandspeed.
However,professionalenterprisesneedmorecontrolandscalabilityfortheirlargeinvestmentinintellectualproperty.
ManydeveloperspreferAccuRev'sinterface;releaseengineersrequireAccuRev'sstreamarchitectureforcapturingtheexactrevisionsneededforabuildenvironment,andmanagersrequireAccuRev'sTimeSafeauditablilityanditsACL-basedsecurity.
HowdoesanorganizationmeetthesedifferingrequirementsandpreferencesAccuRevGitCentricprovidesenterpriseswiththesolution:developerswhoembraceGitcancontinueusingGitthesamewaytheydotoday,whileotherdevelopmentgroups,releaseandtestengineers,andmanagerswhorequireAccuRev'spower,functionality,andsecuritycanworktogetherviatheAccuRevGitCentricinterface.
GitCentricalsoincorporatestheopensourceGerritCodeReviewpackageforoptionalcodereviewfunctionality.
Inthemostbasicterms,GitrepositorybranchesaremappedtoAccuRevstreams,sothatthetwostayinsync.
ChangestotheGitrepositorygettransmittedtotheAccuRevdepot,andchangesintheAccuRevdepotgettransmittedtotheGitrepository.
Updateshappenautomatically.
GitusersdonotneedchangetheirworkpracticesfortheAccuRevenvironment,sinceGitCentricistransparenttothem.
GitCentricfunctionalityappliestotwoaudiences:Regularuserscanregisterthemselves,maintaintheirpreferences,and(ifimplementedattheirsite)accesstheoptionalcodereviewfunctionality.
Administratorscanconfigureandmaintainrepositories,theirsecurity,andtheirbranchmappingstoAccuRevstreams.
WheretogoforMoreInformationWhenusingGitCentric,thedocumentationyouneeddependsonwhatcomponentyouareusing.
ForGitCentricinstallation,seetheAccuRevGitCentricInstallationandReleaseNotes.
2GitCentricUser'sHelpForGitCentricadministrationanduse,you'realreadyhere:theAccuRevGitCentricUser'sHelp(availableinbothPDFandHTML)fromtheGitCentricwebinterface:ForhelpwithGerritCodeReview,seetheGerritCodeReviewdocumentationhere:http://gerrit-documentation.
googlecode.
com/svn/Documentation/2.
6/index.
htmlForGitdocumentation,youcanusegithelpfromthecommandline.
Youcanalsouseasearchenginetolocateseveralgoodtutorialsanddiscussionsavailableontheweb.
ForAccuRevdocumentation,accessthecompletedocumentationsetinHTMLandPDFfromtheHelpContents&ManualsmenuintheAccuRevJavaGUI:TheAccuRevInstallationandReleaseNotesareavailablefromthedocumentationdownloadpageontheAccuRevwebsite:http://www.
accurev.
com/documentation.
htmlANoteAboutTerminologyBecauseGitCentricspanstheenvironmentsofAccuRev,Git,andGerritCodeReview,youmayencountersomeconflictsoroverlapsinterminology.
Forexample,GerritCodeReviewoftenusestheterm"project"torefertoarepository.
AccuRevusestheterms"repository"or"repo"whenreferringtoarepository,andreservestheterm"project"forreferringtospecificGerritfunctionality,orwhenreferringtosomekindofplannedordefinedundertaking.
SeeAppendixDGitCentricGlossaryfordefinitionsoftermsusedinGitCentric.
GitCentricUser'sHelp3BasicArchitectureThefollowingdiagramshowsthebasicconfigurationofaverysimpleGitCentricenvironmentwheretheGitrepository,Tomcatwebserver,andAccuRevserverwithdatabasesforbothGitCentricandAccuRevresideonthesameserver:Figure1.
BasicArchitectureInthissimpleconfiguration,theGitCentricserverhosts:aTomcatwebserverconfiguredwithtwoGitCentricapps(abridgeandanadministrativeGUI)anAccuRevserverwhichincludesaPostgreSQLdatabase,andwhichfunctionsasboththeGitCentricAccuRevserverandaproductionSCMAccuRevserverwithatrigger(server_master_trigger)tonotifyGitCentricofchangesinAccuRevaGitCentricinstallationdirectory,whichgenerally(butnotnecessarily)containsastorageareaforonemoreGitrepositorieswhichincludetriggers(pre-receiveandupdate)andconfigurationfiles.
(ThetriggersareGithooksthatgetscopiedtoyourGitCentricreposandwhichhelpkeepAccuRevsynchronizedwithyourrepo.
SearchthewebformoreinformationaboutGithooks.
)Inthissimpleenvironment,theAccuRevserverhostsboththeAccuRevdepotcontainingthestreamsthataremappedtobranchesintheGitrepo,alongwiththedatabaseserverforbothGitCentricandAccuRev,andanothertriggerthatkeepsyourreposynchronizedwithAccuRev.
InfacttheTomcatserverisalsoapartoftheAccuRevinstallation,underthe/WebUIdirectory.
Notethatconfigurationscanbemuchmorecomplex,withaGitrepoononemachine,theTomcatserveronanothermachine,theAccuRevGitCentricserveronyetanothermachine,andremoteproductionAccuRevserversonevenmoremachines.
AdditionalGitrepos,hostedeitheronGitCentricserverlocalstorageoronaSAN(StorageAreaNetwork),andmultipleAccuRevserversonremotehosts,canbeaddedtothemix.
Infact,foralargeenvironment,itislikelythattheproductionAccuRevserverswouldbeonremotehosts,andthattheAccuRevserverontheGitCentrichostwouldbeusedstrictlyfortheGitCentricdatabase.
But4GitCentricUser'sHelpforevaluations,orforsmallerinstallations,itisfinefortheGitCentricAccuRevservertofunctionasboththeGitCentricdatabaseserverandtheAccuRevproductionserver.
Forthesakeofthisdiscussion,wewillassumethesimplerconfigurationwheretheGitrepoandtheAccuRevserver(whichincludestheTomcatserver,theGitCentricdatabase,andtheproductionSCMdatabase)allresideonthesamemachine.
Regardlessofthecomplexityoftheinstallation,thebasicGitCentricprocessremainsthesame:GituserspushandpullfilesbetweentheirlocalGitreposandtheGitCentricGitrepo.
AccuRevuserspromoteandupdatefilesbetweentheirworkspacesandtheAccuRevServer.
AndGitCentrickeepsthebranchesintheGitrepossynchronizedwithstreamsintheAccuRevservers.
GitCentricUsersAllGitCentricusers--whethertheyareGitdevelopersorGitCentricadministrators--useGitCentrictoself-registertheiraccountsandtheirSSHpublickeys,andtomaintaintheiraccountpreferences.
Ifcodereviewisconfigured,thenGitdeveloperswillalsoaccessGerritCodeReviewthroughGitCentric.
However,manyGitCentricfeaturesaregearedtowardadministratorssothattheyconfigureAccuRevserversandtheirmappingstoGitrepositorybranches.
GitCentricAdministratorsandMappingBranchestoStreamsAGitCentricadministratorusestheGitCentricGUI(andoptionallytheGitCentricCLIcommands)toconfigurethemappingbetweenGitbranchesandAccuRevstreams.
AGitrepository("repo")isassociatedwithasingleAccuRevserver,andwithanAccuRevusername(the"serviceaccount")forperformingGitCentricadministrativetasks.
Oncethisassociationisdefined,aGitCentricadministratorcanproceedtomapGitrepobranchestoAccuRevstreamsonthatserver.
ThedirectorywithinastreamthatismappedtoaGitbranchiscalledthe"mountpoint".
Afterthemappinghasbeendone,theGitCentricbridgewebappusestriggerstoautomaticallykeeptheGitrepoandtheAccuRevdepotinsync,whiletheGitCentricGUIgivesyoutheabilitytocreaterepos,mapbranchestostreams,setACLs,etc.
NotethatyoucanhavemultipleGitCentricAccuRevuseraccounts:administrativeuserswhointeractivelylogintotheGitCentricGUI(andanyrelatedAccuRevservers),formanualadministrativetasks"serviceaccount"users,accessedinternallybytheGitCentricbridge,forautomaticallysyncingtheGitreposandtheirmappedAccuRevstreamsServiceaccountusersmustbedefined(eitherasanindividualuser,orasagroup)intheAccuRevserveracserver.
cnffile(s),usingtheASSIGN_USER_PRIVILEGEsettinginAccuRev5.
4orlater.
Note:Bestpracticeistoassignthistoagroup,sodifferentmembersofthegroupcanhavedifferentaccessrights.
Forexample,onememberofthegroupmightbefromanoff-shoreorganization,withdifferentaccessrightsthananothermemberofthegroup.
Thesyntaxfortheentryinacserver.
cnfisASSIGN_USER_PRIVILEGE=IfyouspecifymultipleASSIGN_USER_PRIVILEGEsettings,onlythefirstoneishonored.
GitCentricUser'sHelp5BasicRulesRegardlessofhowmanyGitrepositoriesorAccuRevserversyouconfigure,whenyouassociatearepowithaserver,youmapthematthebranchandstreamlevel:aGitbranchismappedtoanAccuRevstream.
YoucanmapmultipleGitbranches(andmultipleGitrepositories)toasingleAccuRevstream.
YoucanmapaGitbranchtoanydirectorywithinanAccuRevstreamYoucannotmapaGitbranchtomultipleAccuRevstreams.
YoucannotmapaGitbranchtotherootstreaminanAccuRevdepot.
(Ifyouneedtodothis,simplycreateanewstreamofftheroot,andthenmaptothat.
)MappedBehaviorIfyoupushafiletotherepositoryanditwouldrequiremergingwiththeversionofthefileonthemappedAccuRevstream,GitCentriccancelsthepushandinformstheuserthatheorshemustpullthelatestchanges,mergeandretrythepush,thesamewayGitalwayshandlesthesesituations.
WhenyoufirstmapaGitbranchtoanAccuRevstream,youcanspecifywhetherthefilesinGitoronAccuRevtakeprecedence.
SinceAccuRevstreamsinheritversionsfromtheirbackingstreams,itisimportanttorememberthatifanyelementispromotedtoabackingstreamaboveastreamthatismappedtoarepo,thatelementwillautomaticallybepushedtotherepofromAccuRev.
BestPracticesWhenPlanningYourInstallationGitCentricreflectstheflexibilityofboththeGitandAccuRevenvironments,anditispossibletoconfigureyourrepositoriesandstreamsincountlessways.
However,AccuRevrecommendskeepingthefollowingthoughtsinmind:Gitrepositoriesaresmaller,coherentgroupsoffunctionality.
Youdonotmergefiles,youmergethewholerepository.
AccuRevdepotstendtobelargesetsoffilesrelatedtoentireproducts,ormultipleproducts.
Therefore,youprobablydonotwanttocreatearepositorythatmapstoanentiredepot.
YouwantyourGitbranchestomaptodirectorieswithinAccuRevstreamsthatcontainsmaller,independentsectionsoffunctionality.
Aswithanynewtool,itisimportantthatyoufirstunderstandwhatyourcurrentprocessis.
IfyouareanexistingGitshop,makesurethatyouhaveaclearpictureofhowyourrepositoriesandbranchesareconfigured,andwhatyourworkflowis.
Inevaluatingthis,youmayfindthatyouneedtobetterdefineyourcurrentenvironment.
Ifyouhavenevergonethroughthisexercise,considersearchingforthefollowingtermsontheweb:"git","workflow",and"model".
ThiswillpointyoutosomegooddiscussionsaboutsuccessfulGitimplementations.
Oncethisisdone,thenyouwillbeinabetterpositiontodecidehowtomapyourbranchestoAccuRevstreams.
Also,rememberthatbothGitandAccuRevbringdifferentstrengthstoyourorganization.
Gitprovidesaconvenient,distributedversioncontrolsystemtoyourdevelopmentendusers.
AccuRevprovidespowerful,centralizedversioncontrolforuserssuchasbuildadministrators,releaseengineers,productmanagers,etc.
Gitbranchescanbesomewhattransient--ifyoustarttodevelopsomethingonabranchandthenchangeyourmind,youcandeletethebranch.
AccuRevisTimeSafe--allversionsandtransactionsarecapturedpermanentlyintheAccuRevdatabase.
Whencarefullyplanned,mappingbetweentheseenvironmentsmeansthatGitCentricprovidesthebestofbothworldstoyourorganization.
6GitCentricUser'sHelpKeepingGitMergesandAccuRevPromotesinSyncWhenyouconfigureaGitrepositorytoworkwithAccuRevthroughGitCentric,youmapaGitbranchtoanAccuRevstream.
IfyouwishtotakeadvantageofAccuRevpromoteoperations,youmaptheparentAccuRevStreamtoonebranch,andthechildAccuRevstreamtoanotherbranch.
Figure2.
GitMergesandAccuRevPromotesIfyouconfigurethingscorrectlyandfollowafewbasicrules,then:MergesbetweenthemappedbranchesinGitwillresultinanAccuRev"promote"betweenthecorrespondingstreams.
PromotesfromthechildstreamtotheparentstreaminAccuRevwillresultinamergebetweenthecorrespondingbranchesintheGitrepositoryifthecontentunderthemountpointisemptyinthechildstream.
(Thatis,themergewillhappenifthechildstreamiscompletelyinheritedsothatitisthesameastheparentatthemountpoint).
Notethatthedesiredconditionwhentheseoperationsarecompletedisforthe"defaultgroup"inAccuRevstream"C"tobeempty.
(The"defaultgroup"isthesetofelementsorfilesinastreamthatareundercurrentdevelopment.
Afileisremovedfromastream'sdefaultgroupwhenthatfileiseitherpromotedor"reverttoback"ed(orpurged).
SeetheAccuRevdocumentationformoredetails.
)Toensurethatthishappensreliablyandpredictably,configureyoursystemsothat:1.
Onestreamistheparentofanotherstream,andeachofthesestreamsaremappedtobranchesintheGitrepository.
Inthisexample,theparentstreamiscalled"P"andthechildstreamiscalled"C"2.
ThereisnotimestamponAccuRevstream"C".
(Atimestampwillpreventastreamdefaultgroupfrombeingcleared.
)3.
ThemountpointmustbethesameineachAccuRevstreamforthebranchesthataremappedtothem.
(Ifonebranchismappedtoonemountpointinonestream,andtheotherbranchismappedtoadifferentmountpointintheotherstream,thefileswillneverlineup.
)GitCentricUser'sHelp74.
AnyAccuRevrulesthatareappliedtotheCstreamarealsoappliedtothePstream.
(Forexample,avoidinclude/excluderulesonestreamthatcausethatcauseitscontentstodifferrelativetotheotherstream.
Anddonotusecross-linksonwritableelements.
)FromaGitviewpoint,thisensuresthatthebranchespointtothesamecommitgraphswhentheircontentsareidentical.
FromanAccuRevviewpoint,thisensuresthatthedefaultgroupsinthestreamsgetclearedoutwhenappropriate,anddonotkeepgrowingtoinclude(potentially)allfilesinthesystem.
BestPracticeforKeepingMergesandPromotesinSyncAccuRevrecommendsthatyoumergeintothechildbranchfirst,andthenfastforwardmergetheparentbranch.
Ifyoumergeintothechildbranchfirst,AccuRevwillreflectthisbyperformingapromotefromthechildstreamtotheparentstream.
However,ifyoumergeintotheparentbranchfirst,AccuRevwillachievethedesired"zerodefaultgroup"statebyperforminganAccurevpurgeonthechildstream.
TheGitcommandsformergingintothechildbranchare:1.
gitcheckoutC2.
gitmergeP3.
gitcheckoutP4.
gitmergeC(Thiswillbeafast-forwardmerge.
Existingmergecommitwillbereused.
)5.
gitpushScenariosforMappingMultipleRepositoriestoaSingleStreamTherearetwocommonreasonsformappingtwodifferentGitrepositoriestothesameAccuRevstream:Project-basedSecurity-basedProject-basedFigure3.
Project-based(samestream,differentmountpoints)8GitCentricUser'sHelpInthiscase,youmighthavetwodifferentpartsofaproductintwodifferentdirectorystructuresinthesamestream,suchasaGUIdevelopmenttreeandadatabasedevelopmenttree.
IntheGitenvironment,youcouldhavetheGUIworkbeingdoneinonerepositoryandthedatabaseworkbeingdoneinanother.
Bymappingthebranchesintheserepositoriestothecorrectmountpointsinthesamestream,youcankeeptheworkseparate.
(Keepingthebranchnamesconsistentacrossreposwillbehelpfulifyouneedtomakebranch-mappingchangesenmasseusingthechildren-ofoptionintheSSHconfig-branchCLIcommand.
)Security-basedFigure4.
Security-based(samestream,samemountpoint,differentserviceaccount)Inthiscase,youcouldhavetwodifferentsetsofuserswithdifferentaccessprivilegesaccessingthesamefiles.
PrivilegedGitdevelopersincorporateheadquarterscouldhaveonerepomappedtothemountpointwithoneserviceaccounthaving"lenient"AccuRevACLs(seebelow).
Lessprivilegedoff-shorecontractdeveloperscouldhaveadifferentrepomappedtothesamemountpointwithadifferentserviceaccounthavingmuchmorerestrictiveAccuRevACLs.
SeeConfiguringforSecurityonpage9formoreinformationaboutACLsandsecurity.
Also,bymappingbranchesfromdifferentrepostoasingleAccuRevstream,youcanautomatetheprocessofupdatingreposwithchanges:whenachangegetspushedtoarepothatismappedtoanAccuRevstream,thatchangegetspropagatedtoallotherbranchesthataremappedtothatstream(assumingthattheAccuRevACLsallowarepoto"see"thechangedfile).
MultipleReposandMultipleServersFigure1aboveillustratesasimplecaseofasingleGitrepositorybeingassociatedwithasingleAccuRevserverthroughGitCentric.
Figure3andFigure4aboveillustratemultiplerepositoriesbeingmappedtoasingleAccuRevserver.
However,GitCentriccanalsoconfiguremultipleGitrepositorieswithmultipleAccuRevservers.
Forexample,youcouldhaveonerepoassociatedwithoneAccuRevserver,andtwootherreposassociatedwithadifferentAccuRevserver.
(However,asinglerepocannotbeassociatedwithmultipleAccuRevservers.
AndhavingmultipleGitCentricserversconfiguredwiththesameAccuRevserverisnotsupported.
)GitCentricUser'sHelp9IfyouchoosetoconfiguremultipleAccuRevservers,AccuRevstronglyrecommendsthatyouusethesameGitCentricadministratoruserandpasswordforallAccuRevserverstoavoidtheneedtoconstantlyloginandoutasyoumovebetweenservers.
Figure5.
MultipleAccuRevServersNotethatifyouchoose,youcanadministeryourGitreposwithGitCentricandnothavetheirbranchesmappedtoanyAccuRevstreamsatall.
YoudoneedtoassociateaGitrepositorywithanAccuRevserverforsecuritypurposes,butyoudonotneedtohaveitsbranchesmappedtouseGitCentric.
AccuRevReplicaServerRestrictionIfyourAccuRevinstallationhasoneormorereplicaservers,youshouldalwaystrytoassociateGitCentricwiththeAccuRevmaster(ifpossible),andNOTareplica.
EvenifyourGitCentricinstallationisphysicallylocatedincloseproximitytoareplicaserver,youshouldtrytoconfigureGitCentrictoworkwiththeremotemasterAccuRevserver,notthegeographicallycloserreplicaserver.
(ThismaynotbepossibleifyourinstallationhasimplementedfirewallsandVPNorsomeotherkindofsecuritythatpreventsyoufromcommunicatingdirectlywitharemotemasterserver.
)ConfiguringforSecurityAstoucheduponinFigure4onpage8,oneoftheadvantagesofusingAccuRevGitCentricinaGitenvironmentisthatyoucanusebothGitCentricandAccuRevsecurityfeaturestocontrolaccesstofiles,afeaturenotnativelyprovidedbyGit.
10GitCentricUser'sHelpGitCentricmakesuseoftwokindsofAccessControlLists("ACLs"):GitCentric"group-based"ACLs,whichdefineaccesstoGitrepositories.
AccuRevElementACLs,whichdefinepermissionsontheAccuRevserverdowntotheindividualelementlevel.
UsingthesetwotypesofACLs,youcanapproachGitCentricsecurityintwoways:UsingGitCentricgroup-basedACLstospecifyallowanddenyprivilegesonarepository("project")basis.
Mappingmultiplereposasdifferent"views"onAccuRev-controlledelements.
TheAccuRev-controlledelementsmayoptionallybesecuredwithAccuRevElementACLs(EACLs).
GitCentricGroup-BasedACLsOntheGitside,youdefinegroup-basedACLsandapplythemtorepositories,tocontrolwhatkindofaccessgroupmembershavetoGitCentric-controlledGitreposandbranches.
(GitCentricgroup-basedACLsaredifferentthan--andshouldnotbeconfusedwith--AccuRevElementACLsor"EACLs",whichcontrolaccesstofilesontheAccuRevserver.
)GitCentricprovidesfivesystemorpre-definedinternalorgroups:Administrators(internal)AnonymousUsers(system)Non-interactiveUsers(internal)Repository("Project")Owners(system)Registeredusers(system)Youcandefinemoregroupsasnecessary.
GitCentricisinstalledwithabasicsetofACLsonaspecial,system-definedprojectnamed"All-Projects",fromwhichallreposinherittheirbasesetofACLs.
ThesebasicACLsaresettobehighlysecure,soyouwillneedtocustomizethemforyoursitebeforeyouruserscanuseGitCentric.
Thegeneraltopicofgroup-basedACLsisbeyondthescopeofthisdocument,soyouwillneedtolearnaboutthemfromtheGerritCodeReviewdocumentationreferencedbelow,butataveryhighlevel:Everyuseraccountisamemberofoneormoregroups,andaccessandprivilegesaregrantedtothosegroups.
Youcannotgrantaccessrightstoindividualusers.
Accessrightsarethenassignedtothesegroupsperrepo(or"project").
Accessrightsgrantedtoparentreposareinheritedbychildrepos.
AccessrightsdefinedfortheAll-Projectsprojectareinheritedbyallotherprojects.
ForinformationaboutcreatingandconfiguringGitCentricgroupACLsfromtheGitCentricUI,seeConfigureAccessRights(ACLs)foraRepoonpage30.
BecauseGitCentricgroupACLsarederivedfromGerritCodeReview,theyaredocumentedindetailintheGerritCodeReviewdocumentation.
SeetheAccessControlstopicintheGerritCodeReviewdocumentationformoreinformation.
ConfiguringMultipleGitReposwithAccuRevandEACLsInAccuRev,itisafairlycommonpracticetoconfiguredepotsandfileswithACLssothatonlycertainuserscanaccessthem.
Forexample,assumethatyouhireanoff-shorecontractcompanytodevelopcodeGitCentricUser'sHelp11foranoptionalfeaturetoyourmainproductline.
Youmightwanttogivestaffincorporateheadquartersaccesstoallfilesanddirectories,whilerestrictingaccessoftheoff-shoreteamtojustthosefilesanddirectoriesthattheyneedtogetthejobdone.
BysettingupACLsintheAccuRevenvironment,andthenmappingGitrepositoriesandbranchestotheseAccuRevdepotsandstreams,youcangivetheoff-shoreteamaccesstojusttherepocontainingtheirfiles,whilegivingyourdomesticteamsaccesstotherepothatcontainsallyourfiles(seeFigure4onpage8).
ForinformationaboutsettingupACLsintheAccuRevenvironment,seethefollowingAccuRevdocumentation:On-LineHelpGuide:Chapter8,"Security"Administrator'sGuide:Chapter9,"AccuRevSecurityOverview"CLIUser'sGuide:eacl,setacl,lsacl,andmkusercommanddescriptionsinChapter2,"AccuRevCommandLineReference"GettingStartedOnceyouhavecompletedthischapter,andafteryouhaveinstalledGitCentricasdescribedintheAccuRevGitCentricInstallationandReleaseNotes,youshouldproceedtoGetStartedonpage13inChapter2Howto.
.
.
tolearnhowtoconfigureyourGitCentricenvironmentanduseitforthefirsttime.
12GitCentricUser'sHelpGitCentricUser'sHelp132.
Howto.
.
.
ThischapterdescribeshowtoperformbasictaskswiththeAccuRevGitCentricGUI.
(ForanexampleofperformingsomeofthesetaskswithCLIcommands,seeCLIExampleonpage85.
)Forproceduresthatapplytoallusers,proceedtothenextsection.
ForproceduresthatapplyonlytoAdministratorusers,seeProceduresforAdministratorsOnlyonpage19.
ProceduresforAllUsersTheprocedureswithinthissectionapplytobothregularusersandadministrators.
GetStartedThissectionassumesthatyouhavecompletedthebasicinstallationstepsdescribedintheAccuRevGitCentricInstallationandReleaseNotes.
NowyouwillperformsomeconfigurationstepsandactuallyusetheGitCentricGUIforthefirsttime.
Note:Note:Administrators--BeforeyoubegintoassociateGitrepositoriesandbrancheswithAccuRevdepotsandstreams,youmusthaveasolidunderstandingofyourcurrentGitandAccuRevprocesses.
PleasebesuretoreadthroughChapter1ConceptsandOverview,particularlyGitCentricAdministratorsandMappingBranchestoStreamsonpage4,MappedBehavioronpage5,andBestPracticesWhenPlanningYourInstallationonpage5.
CreateanSSHkeyThissectionappliestoallGitCentricusers,whetheryouareanadministratororanenduser.
Note:GeneralSSHdocumentationisbeyondthescopeofthisdocument.
Werecommendthatyouuseyourfavoritesearchenginetofindinformationaboutthetopic.
However,GitCentricadministratorsshouldknowthattheGitCentricinstallernowincludesanSSHDdaemon,andtheproductnowTable1.
SummaryofCommonGitCentricProceduresforALLUsersTo:Gotopage:GetStarted13CreateanSSHkey13LogIntoGitCentric14RegisterwithGitCentric15SetPreferences16CreateaCloneFromaGitCentricRepository17SwitchBetweenGerritCodeReviewandGitCentric1914GitCentricUser'sHelpincludesaself-registrationfeature.
ThismeansthatunliketheKando2012.
1release,younolongerneedtomanuallyinstallandconfigureanSSHserver,andyounolongerneedtocreateandregisterSSHkeysforyourusers.
1.
IfyouknowwhatanSSHpublickeyis,andyouknowthatyouhaveone,andyouknowwhereyourpublickeyfileis,youareallset!
Youcanskipaheadtothenextsection.
2.
Ifyouneedtogenerateakey,usethefollowingsyntax:ssh-keygen-trsa-C@Note:Ifyouareanend-useronaWindowsmachine,youshouldinstallaGitWindowsclientsuchasmsysGit,whichincludesssh-keygen.
Seehttp://msysgit.
github.
comformoreinformation.
Makenoteofwhereyourpublickeyisstored.
Typicallyitisin~/.
ssh/id_rsa.
pub(orC:\users\\.
ssh\id_rsa.
pubonWindows).
YouwillneeditwhenyoufirstlogintoGitCentric.
LogIntoGitCentricThefirststepinusingtheGitCentricwebGUIislogginginwithyourwebbrowser.
1.
PointyourbrowsertotheGitCentricwebserver.
Forexample:http://Youwillseethefollowinglog-inscreenandtheGitCentricmenuswillbedisplayed,althoughsomewillbedisableduntilyoulogin.
Note:TheveryfirstusertologintoGitCentric,whoshouldbetheadministratorthatinstalledit,willseeaslightlydifferentlog-inscreen,whichincludesafieldforspecifyinga"CLIPath".
ThisinitialloginscreenandprocedureisdescribedintheGitCentricInstallationandReleaseNotes.
2.
Herearethefieldsthatyoumayencounterwitheitherofthesedialogs.
Mostarerelativelyself-explanatorysolongasyouknowthattheUsernameandPasswordareyourcredentialsontheAccuRevserver.
GitCentricUser'sHelp15AccuRevServer:Fromthepull-downmenu,selectthehostnameoftheAccuRevserverthatyouwishtoassociatewithaGitbranch,andwhereyouhavealoginaccount.
Forexample:acserver2:5050,or:5050orlocalhost:5050.
ThismayormaynotbethesameAccuRevserverwheretheGitCentricdatabaseresides.
Inasimpleconfiguration,thisismaybethesamehostthatyoujustconnectedtowithyourwebbrowser,oritmaybearemoteserver.
Notethatiflocalhostappearsasanoption,itreferstoanAccuRevserveronthehostyouareconnectingto,notyourlocalmachinewhereyoustartedyourbrowser.
UserName:--TheAccuRevuseraccountonthisserverthatyouuse.
Ifyouareanadministrator,thiswouldbetheaccountthatyouuseforGitCentricconfiguration,andmightbeanaccountsuchas"acserver"ifyouhavelegacyAccuRevsystems.
SeetheGitCentricInstallationandReleaseNotesforadiscussionaboutuseraccounts.
Password:--ThepasswordforthespecifiedAccuRevuser.
ClickLoginwhendone.
IfthisisyourfirsttimeloggingintoGitCentric,youwillbetakenthroughtheself-registrationprocessdescribedinthenextsection.
Otherwise,youwillbetakentotheGitCentricUI.
RegisterwithGitCentricWhenyoulogintoGitCentricforthefirsttime,youarepromptedthroughaself-registrationprocess.
ThisisprovidedsothatuserswithvalidAccuRevaccountswillnotneedtoinvolveanadministratoringettingsetuponGitCentric:Enteryourinformationasfollows:1.
FullName:Yourrealname(unlessthisisanaccountforarolesuchas"GuestUser".
16GitCentricUser'sHelp2.
RegisterNewEmail.
.
.
:Youshouldenterthesameemailaddressherethatyouspecifiedwhenyouspecifiedyouruser.
emailconfigurationforyourGitclone(s).
YoucanspecifymultipleemailaddressesandswitchbetweenthemasnecessarywiththePreferredemailsetting.
Note:IfyourAccuRevuseraccountisassociatedwithanemailaddress,thataddresswillbeautomaticallyinsertedinthisfield.
3.
PreferredEmail:EnterthesameemailaddressherethatyouspecifyfortheGituser.
emailconfigurationforyourclones.
Ifthesedonotmatch,pushesfromyourclonewillfail.
Ifyouneedtomaintainmultipleemailaddresses,youcanaddthemlateratMyAccount->ContactInformation.
(SeeContactInformationonpage51.
)4.
SSHkey:ClicktheAddbuttonandcopythecontentsofyourSSHpublickeyfilehere(seeCreateanSSHkeyonpage13)andSaveit.
(Note:IfyourAccuRevuseraccountisassociatedwithanSSHpublickey,thatkeywillbeautomaticallyinsertedinthisfield.
)YourpublicSSHkeyfileistypically~/.
ssh/id_rsa.
pub.
YoucanchoosetodothislaterthroughMyAccount->PublicKeys(seePublicKeysonpage51),butuntilthisisset,youwillonlybeabletousethecodereviewfeaturesofGitCentric.
5.
ClickContinuewhendone.
SetPreferencesGitCentricprovidesadialogforcontrollingvariousaspectsofyourdisplay.
1.
ClickMyAccountintheupper-rightcornerofthewindow.
2.
IntheresultingMyAccountmenu,clickPreferences.
GitCentricUser'sHelp173.
Mostofthesesettingsareself-explanatory,andaresummarizedonthereferencepageatPreferencesonpage50.
However,theShowSiteHeadersettingisnon-obviousandrequiressomeset-uptomakeitwork.
Usethefollowingproceduretosetupasiteheader(andfooter)withinGerritCodeReview.
DefineandDisplayaSiteHeaderorFooterforGerritCodeReviewGerritCodeReviewprovidestheoptionofdisplayingaheaderand/orafooterinitswebUI:1.
Createanimagefileorfilesthatyouwantdisplayedfortheheaderand/orfooter.
Placethefileorfilesin/site/static2.
CreateanXML-compliantfilenamedGerritSiteHeader.
htmlin/site/etc.
Includeapointertotheimagefileorfilesin/site/staticthatyouwanttousefortheheader.
NotethatthisfilemustbevalidXHTML.
ItisnotsufficientforittobevalidHTML.
Forexample,thefollowingexamplewouldnotworkifyouleftoutthesuperfluous""closingtags.
Thisexamplecreatesasiteheaderfromtwoimagefilesdisplayedhorizontallyasatablerow,withalinktotheAccuRevwebsitefromthesplashimage.
Example:

Hostodo美国独立日优惠套餐年付13.99美元起,拉斯维加斯/迈阿密机房

Hostodo又发布了几款针对7月4日美国独立日的优惠套餐(Independence Day Super Sale),均为年付,基于KVM架构,采用NVMe硬盘,最低13.99美元起,可选拉斯维加斯或者迈阿密机房。这是一家成立于2014年的国外VPS主机商,主打低价VPS套餐且年付为主,基于OpenVZ和KVM架构,产品性能一般,支持使用PayPal或者支付宝等付款方式。商家客服响应也比较一般,推...

Fiberia.io:$2.9/月KVM-4GB/50GB/2TB/荷兰机房

Fiberia.io是个新站,跟ViridWeb.com同一家公司的,主要提供基于KVM架构的VPS主机,数据中心在荷兰Dronten。商家的主机价格不算贵,比如4GB内存套餐每月2.9美元起,采用SSD硬盘,1Gbps网络端口,提供IPv4+IPv6,支持PayPal付款,有7天退款承诺,感兴趣的可以试一试,年付有优惠但建议月付为宜。下面列出几款主机配置信息。CPU:1core内存:4GB硬盘:...

湖北22元/月(昔日数据)云服务器,国内湖北十堰云服务器,首月6折

昔日数据怎么样?昔日数据新上了湖北十堰云服务器,湖北十堰市IDC数据中心 母鸡采用e5 2651v2 SSD MLC企业硬盘 rdid5阵列为数据护航 100G高防 超出防御峰值空路由2小时 不限制流量。目前,国内湖北十堰云服务器,首月6折火热销售限量30台价格低至22元/月。(注意:之前有个xrhost.cn也叫昔日数据,已经打不开了,一看网站LOGO和名称为同一家,有一定风险,所以尽量不要选择...

statusmonitor为你推荐
急救知识纳入考试在中国急救员可以纳入医护人员吗?蓝色骨头手机宠物的一个蓝色骨头代表多少级,灰色又代表多少级,另外假如有骨头又代表多少级firetrap流言终结者 中的银幕神偷 和开保险柜 的流言是 取材与 那几部电影的西部妈妈网我爸妈在云南做非法集资了,钱肯定交了很多,我不恨她们。他们叫我明天去看,让我用心的看,,说是什么...百度关键词价格查询百度推广里怎么查指定的关键字参与竞价的价位呢www.7160.com电影网站有那些陈嘉垣电视剧《反黑》里面,雷太太女儿扮演者是谁?www.522av.com跪求 我的三个母亲高清在线观看地址 我的三个母亲高清QVOD下载播放地址 我的三个母亲高清迅雷高速下载地址51sese.com谁有免费电影网站www.5any.comwww.qbo5.com 这个网站要安装播放器
传奇服务器租用 花生壳域名贝锐 腾讯云盘 香港bgp机房 香港机房 2014年感恩节 20g硬盘 60g硬盘 shopex空间 unsplash 香港新世界电讯 天猫双十一抢红包 云图标 华为4核 空间出租 老左正传 idc是什么 百度云1t 宏讯 云营销系统 更多