Size: a a a

2020 October 26

Prikolist Начрэл... in pro.git::next
Ofee
После одновременного переименования файла и изменения его содержимого, git status считает, что это новый файл

Однако, с git status -M45% он правильно определяет, что файл переименован, а не создан/удалён. Есть ли возможность закоммитить изменение так, чтобы git навсегда запомнил, что этот файл в этом коммите был именно переименован, чтобы в будущем, история при просмотре корректно отображала переименование без   -M45%?
Попробуй использовать git-move, что бы объяснить что ты переименовываешь
источник

LB

Let Eat Bee in pro.git::next
есть ли какая-нибудь магия как git blame, но что б показывало merge  коммиты вместо коммита с изменением?
источник

O

Ofee in pro.git::next
Prikolist Начрэл
Попробуй использовать git-move, что бы объяснить что ты переименовываешь
Нет, он всё ещё не сохраняет никаких метаданных о переименовании, результат ничем не будет отличаться от обычного mv. По крайней мере, у меня git 2.28.0 и результат идентичен в обоих случаях
источник

LB

Let Eat Bee in pro.git::next
Ofee
После одновременного переименования файла и изменения его содержимого, git status считает, что это новый файл

Однако, с git status -M45% он правильно определяет, что файл переименован, а не создан/удалён. Есть ли возможность закоммитить изменение так, чтобы git навсегда запомнил, что этот файл в этом коммите был именно переименован, чтобы в будущем, история при просмотре корректно отображала переименование без   -M45%?
хм, интересно а где -M ключ задокументирован ? в хелпе нет
источник

O

Ofee in pro.git::next
Let Eat Bee
хм, интересно а где -M ключ задокументирован ? в хелпе нет
Он задокументирован для git diff
источник

RU

Roman Usherenko in pro.git::next
Ofee
После одновременного переименования файла и изменения его содержимого, git status считает, что это новый файл

Однако, с git status -M45% он правильно определяет, что файл переименован, а не создан/удалён. Есть ли возможность закоммитить изменение так, чтобы git навсегда запомнил, что этот файл в этом коммите был именно переименован, чтобы в будущем, история при просмотре корректно отображала переименование без   -M45%?
нет такого способа. это дефолтное поведение, которое ты можешь поменять для конкретного вызова конкретной команды
источник

Prikolist Начрэл... in pro.git::next
Ну кстати это имеет смысл. Если эти изменения вычислимы, то не нужно их хранить
источник

O

Ofee in pro.git::next
Roman Usherenko
нет такого способа. это дефолтное поведение, которое ты можешь поменять для конкретного вызова конкретной команды
Хотелось бы, чтобы условный GitHub в истории всегда отображал переименование как переименование, дабы не заставлять пользователя выкачивать проект и смотреть историю локально с нужным процентом схожести файла. Просто потому что на этапе коммита достоверно известно, что произошло именно переименование
источник

RU

Roman Usherenko in pro.git::next
Ofee
Хотелось бы, чтобы условный GitHub в истории всегда отображал переименование как переименование, дабы не заставлять пользователя выкачивать проект и смотреть историю локально с нужным процентом схожести файла. Просто потому что на этапе коммита достоверно известно, что произошло именно переименование
я так понимаю, сложность в том, что нужно задать какое-то дефолтное поведение. иначе тебе каждый раз придется говорить гиту, что "это просто изменение, а не мув"
источник

RU

Roman Usherenko in pro.git::next
ну в смысле 50% - это разумный дефолт
источник

RU

Roman Usherenko in pro.git::next
если поставишь слишком мало - у тебя будет каша
источник

O

Ofee in pro.git::next
Roman Usherenko
я так понимаю, сложность в том, что нужно задать какое-то дефолтное поведение. иначе тебе каждый раз придется говорить гиту, что "это просто изменение, а не мув"
Достаточно было бы по дефолту ничего не хранить и продолжать вычисление как и раньше. А для специфических случаев, где мы взывали git mv можно было бы и добавить метаданные, указывающие на переименование
источник

RU

Roman Usherenko in pro.git::next
для этого надо добавить метаданные)
источник

RU

Roman Usherenko in pro.git::next
которые не были заложены в изначальной архитектуре
источник

RU

Roman Usherenko in pro.git::next
возможно для этого были причины, хз
источник

RU

Roman Usherenko in pro.git::next
а может просто проеб 🙂
источник

O

Ofee in pro.git::next
Roman Usherenko
для этого надо добавить метаданные)
Да, я так понял, что это основная трудность, в закладках уже лежит пара статей с описанием проблемы и причин, чуть позже планирую вникнуть в детали
источник

Prikolist Начрэл... in pro.git::next
Кстати, на сколько сложно внедрить в git фичи?
Вот например как мы обсуждали гит сервисы с шифрованием, если бы мне понадобилось условно скачать блоб и расшифровать его, перед тем как считывать что это репозиторий и перед пушем зашифровать обратно, есть ли для этого какие-то хуки и если нет, то на сколько сложно было бы внести такую фичу?

Кто-нибудь пробовал контрибутить в git? Там наверное сидят консервативнейшие деды, которые готовы прогибаться только под BLM замашки своих детишек?
источник

Prikolist Начрэл... in pro.git::next
Если бы я делал такое прямо сейчас, я бы конечно просто прокси поставил, которое занималось бы преобразованием данных
источник

Prikolist Начрэл... in pro.git::next
Но мой вопрос о вашем опыте контрибута в гит и отзывах
источник