[Rendszermodellezés] [Git] Miért mindig "modified" a model.qeax fájl státusza?

0 votes
asked Mar 7 in Rendszertervezés by illmatah (22 points)  
recategorized Mar 7 by illmatah

Friss telepítésű Windows 10-en, a repo klónozása után a model.qeax fájl státusza modified. A változtatások elvetése után (discard) ez nem változik, sem SmartGit, sem Github Desktop kliens használatakor. Stashelés után ugyanez a tünet. Mivel nem lehet a fájlt nem módosított állapotba hozni, nem lehet branchet váltani sem. Az Enterprise Architect nem fut, nem az változtatja a fájlt. A csapat tagjai közül egy kivétellel mindnekinek ugyanez a problémája.

Az a megérzésem, hogy a git-lfs zavar be valahogy a dologba, találtam a neten hasonló panaszt, ahol az okozta a problémát, de az ott leírt megoldás nem segített (ott a git-lfs-sel kezelt fájl törlését, majd újra hozzáadását javasolták a git-lfs init futtatása után).

Mit lehet tenni a probléma megoldása érdekében?

Csapatnév: Beeblebrox & Co

commented Mar 7 by arminzavada (20 points)  
Tudsz kicsit többet leírni a csapat tagainak infrastruktúrájáról? Pl akinél ez nem probléma: nála milyen oprendszer fut?
commented Mar 7 by arminzavada (20 points)  
Tudsz kicsit többet leírni a csapat tagainak infrastruktúrájáról? Pl akinél ez nem probléma: nála milyen oprendszer fut?
commented Mar 7 by illmatah (22 points)  
Amennyire le tudjuk követni, nincs különbség az ő rendszere és a miénk között. Ő is Windowst használ, és ugyanazt a github.io leírást követtük a programok setupolására, licenszestül, mindenestül.
commented Mar 7 by illmatah (22 points)  
Ha a .gitattributes fájl tartalmát törlöm (vagyis az lfs-t kikapcsolom), akkor a rejtélyes change eltűnik, de ez gondolom szükséges lesz ahhoz, hogy a továbbiakban működőképes maradjon a repo. Más change-ek nincsenek rá hatással.
commented Mar 7 by illmatah (22 points)  
Közben eljutottunk odáig, hogy a model fájlt az egyik csapattag git bashből pusholta (saját branchre), valúszínűleg itt maradt el a git lfs inicializálása. Sajnos továbbra sem nagyon tudjuk megoldani a problémát, sikerült ugyan kreálni egy branchet, amin működni látszik minden, de a run-validator job failel (404 Not found státusszal??), ezért nem tudjuk bemerge-elni.

1 Answer

0 votes
answered Mar 12 by levente (123 points)  

Sziasztok! Teams-en is válaszoltam, de itt is megteszem (és köszönjük, hogy itt írtatok először, elnézést a késlekedésért!):

A hiba oka valószínűleg az, hogy a main branchre egy nem-lfs változata felkerült a fájlnak, a branchen viszont lfs-objektumként jelenik meg. Erről meggyőződni a legkényelmesebben GitHub-on lehet, ahol a fájl megnyitásakor látszik (vagy éppen nem látszik) a következő szöveg: "Stored with GitHub LFS"

A legegyszerűbb azt csinálni, hogy nem-lfs fájlként verziókezelitek innentől a modellt (ez nagy hátrányokkal nem jár, nagyobb projekteknél esetleg már gond lehetne). Ehhez ebből az állapotból a legegyszerűbb egy új branchet létrehozni main-ről, a .gitattributes fájlt törölni, és a modellt felülírni az újabb verzióval (vagy itt dolgozni), majd mergelni.

Ha a check-ek nem futnak le, valamilyen "file is not a database" vagy hasonló kritpikus hibával, akkor valószínűleg nem-lfs fájlként van egy lfs-pointer kezelve. Erről úgy lehet meggyőződni, hogy a model.qeax fájl a GitHub felületén szövegfájlként látszik.

Tehát összefoglalva, aki abban a helyzetben találja magát, hogy mindig változásokat jelez a GitHub:
1. ellenőrizze le a main és source branchen, hogy LFS fájl-e a model.qeax
2. Ha a main-en nem, de a source-on igen, akkor egy új branchet hozzatok létre a main-ről, másoljátok át az új modellfájlt, és töröljétek a gitattributes fájlt.

Elvileg aki csak a SmartGit-et használja verziókezelésre, annak ez nem fog problémát okozni.

...