repository - Git LFS - fatal error different files missing on 2 different machines -


i migrating existing repository git lfs , seems somehow managed create perfect storm.

there 2 machines: , b.

machine missing contents of file x. error when calling git lfs fetch --all origin. machine b missing contents file y.

i try calling git lfs push --all origin on both. doesn't work on machine because doesn't have file x. doesn't work on machine b, because doesn't have file y.

how can possibly resolve situation. have no idea how happened or possibly happen.


output of git lfs push on 1 of machines:

git lfs: (0 of 982 files, 1300 skipped) 0 b / 1.73 gb, 1.09 gb skipped          d8d0edd8e03f523ab08de27e72a17272ddd24170764e0a9f836c8ba95cf73006 not  exist in .git/lfs/objects. tried  assets/weapons/models/at_mine/textures/1k/at_mine__normal_1k.bmp,  matches d8d0edd8e03f523ab08de27e72a17272ddd24170764e0a9f836c8ba95cf73006. 

output of git lfs fetch on 1 of machines:

git lfs fetch --all scanning objects ever referenced... * 2319 objects found fetching objects... git lfs: (207 of 207 files, 722 skipped) 524.01 mb / 524.51 mb, 870.82 mb  skipped [d8d0edd8e03f523ab08de27e72a17272ddd24170764e0a9f836c8ba95cf73006] object  not exist on server: [404] object not exist on server [df1dbb12f35f5392c157beebbc3613f70993c691a68f4cc65033ade528de3418] object  not exist on server: [404] object not exist on server [edaf4f6721fb14ce4d38d3adddc86aaaf6fbf0c7db11da451022a4f74af97f30] object not exist on server: [404] object not exist on server ... , on , on 

i performing migration lfs using bfg repo cleaner.

** edit **

the steps performed:

  1. git clone of entire repo in old form (from before conversion) machine a.
  2. i run bfg on machine rewrote history of master branch (no other branches kept remotely).
  3. i run git push origin master --force supposed replace old version of master new version of master.
  4. i run git fetch on machine b files.
  5. there commits on machine b, in master didn't sent server yet - because cause repo exceed quota. therefore run git rebase --onto origin/master head~3 head move unsent new commits new version of master.
  6. i run git push origin master on machine b.

this @ now.

so isn't related state of lfs objects, cause trouble clean-up attempt. rebase command show machine b leaves in awkward state. if you'd had

a --- b --- c --- d <--(master) 

and fetched results of rewrite, giving

a --- b --- c --- d <--(master)  a' --- b' <--(origin/master) 

the rebase command specified, because listed head ref rebase from, put in detached head state with

a --- b --- c --- d <--(master)  a' --- b' <--(origin/master)         \          c' --- d' <--(head) 

so pushing master should fail regardless of lfs troubles. if want keep track of d post-cleanup validation of sort, tag it; , head still @ d' run

git branch -f master 

to get

a --- b --- c --- d <--[old-master])  a' --- b' <--(origin/master)         \          c' --- d' <--(master) 

but said, if each machine missing lfs objects, not fix that. i'm assuming both machines configured git-lfs. i've seen rather odd behavior if lfs install hadn't been run when needed have been; unless doing obscure, it's unlikely lead are... so...

because lfs objects identified using sha-256, 2 files matching id same file ridiculously safe assumption. 1 thing can try find file missing machine b under .git/lfs/objects on machine a, , manually copy it. (or vice versa.) if, between two, have complete set of lfs objects, situation can fixed in way.

to find object id d8d0edd8e03f523ab08de27e72a17272ddd24170764e0a9f836c8ba95cf73006 in .git/lfs/objects/d8/d0/d8d0edd8e03f523ab08de27e72a17272ddd24170764e0a9f836c8ba95cf73006

if object missing on both machines, can try figure out corresponding file original repo , add 1 of local lfs caches manually.

git lfs clean <original.file 

Comments

Popular posts from this blog

Command prompt result in label. Python 2.7 -

javascript - How do I use URL parameters to change link href on page? -

amazon web services - AWS Route53 Trying To Get Site To Resolve To www -