Source Control Migration from Accurev to Git (.net) -


currently have big project, 10gb (including dlls), around 5gb without dlls, in accurev , slow / / promote etc...

we thinking of migrating git, biggest problem is big monolith plus way structured, have 1 depot projects. have library folder projects built to, instead of bin folder, libraries references shared. every library built library folder, , inter project references referencing dlls in library folder.

how can start chunk out project , migrate git? thinking of setting internal nuget server , nuget-ting current common libraries first, put them on git...then migrate others over, splitting projects per repo, not single repo (depot) now.

any suggestions?

you use script wrote, ac2git, convert repo git might take while.

after conversion use git filter-branch --subdirectory-filter separate converted monolith git repo per project git repos.

it should work slow.

alternatively, if you're it, modify script want. need make sure runs accurev pop command on directories you're interested in while converting repo make quicker per project same speed on all.

edit:

if decide want convert single folder @ time trivial hard code script want. need modify calls accurev.pop() (of there 1 in accurev2git.trypop() function) , add argument call specifying folder wish populate.

def trypop(self, streamname, transaction, overwrite=false):     in xrange(0, accurev2git.commandfailureretrycount):         # --- remove line --- #         #popresult = accurev.pop(verspec=streamname, location=self.gitrepo.path, isrecursive=true, isoverride=overwrite, timespec=transaction.id, elementlist='.')         # --- , add instead --- #         popresult = accurev.pop(verspec=streamname, location=self.gitrepo.path, isrecursive=true, isoverride=overwrite, timespec=transaction.id, elementlist='/./<your project folder>')         # --- end hardcoding hack --- #         if popresult:             break         else:             self.config.logger.error("accurev pop failed:")             message in popresult.messages:                 if message.error not none , message.error:                     self.config.logger.error("  {0}".format(message.text))                 else:                     self.config.logger.info("  {0}".format(message.text))      return popresult 

Comments

Popular posts from this blog

javascript - Google App Script ContentService downloadAsFile not working -

javascript - Function overwritting -

php - Find a regex to take part of Email -