Tworzę narzędzie, które pozwoli ludziom przechowywać "rozwiązania" w testach. Ponieważ nie chcę wymyślać kontroli wersji, postanowiłem użyć plików git/blob/object - moim pomysłem jest utworzenie obiektu drzewa git poza bieżącym katalogiem roboczym.Utwórz drzewo git z drzewa roboczego bez dotykania indeksu?
Problem polega na tym, że chcę, aby to narzędzie nie dotykało stanu repozytorium użytkownika, z wyjątkiem szukania skrótów do istniejących obiektów.
Sprawdziłem zarówno mktree
i write-tree
, a pierwszy potrzebuje ls-tree
wyników, a drugi musi zbadać indeks. Żadne z tych nie jest tym, czego chcę.
Cieszę się, że mogę zanurkować głębiej i napisać analogi tych poleceń do drzewa roboczego, ale mam problem z wymyśleniem jakichkolwiek narzędzi git na niższym poziomie do manipulowania drzewami, obiektami i obiektami.
Idealnie, użytkownik będzie mógł uruchomić:
$ git create-tree .
i będzie git wypluć hash nowo utworzonego obiektu drzewa.
Nie rozumiem, co dokładnie chcesz zrobić. Chcesz "nie dotykać stanu repozytorium użytkownika", ale jednocześnie tworzyć drzewo w tym samym repozytorium? Jak zamierzasz używać tego drzewa? – svick
Nie używam go jako "historii", używam go tylko jako migawki części repozytorium. To niekonwencjonalne. –
Dobra, ale co zrobisz z tą migawką? Jak zamierzasz go wydostać z repozytorium? – svick