Замечаю тенденцию последних лет, разработчики любят перекомичивать сделанное другими путем перемещения файлов или какого-нибудь форматирования.
В итоге не всегда понятно кто сделал данный функционал, как вы боретесь с этим явлением, запрещаете перемещение, в комментариях пишете автора или иначе ?
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Здравствуйте, okon, Вы писали:
O>Замечаю тенденцию последних лет, разработчики любят перекомичивать сделанное другими путем перемещения файлов или какого-нибудь форматирования. O>В итоге не всегда понятно кто сделал данный функционал, как вы боретесь с этим явлением, запрещаете перемещение, в комментариях пишете автора или иначе ?
Перемещение файла — это нормальная практика, если при этом структура проекта становится лучше. Если при этом ещё рефакторинг происходит (разделили класс на 2, вытащили не свойственную ему функциональность и т.д.), то вообще замечательно.
Про форматирование в целом тоже. Если это не война пробелов с табами, а кто-то заметил криво выглядящий код и улучшил форматирование, то молодец.
Если нет, то прописывать в код-стайл как надо писать.
А целом действует принцип — "кто последний, тот и папа". Переименовал метод, теперь его поддерживаешь, все вопросы к тебе.
Здравствуйте, alzt, Вы писали:
A>Здравствуйте, okon, Вы писали:
O>>Замечаю тенденцию последних лет, разработчики любят перекомичивать сделанное другими путем перемещения файлов или какого-нибудь форматирования. O>>В итоге не всегда понятно кто сделал данный функционал, как вы боретесь с этим явлением, запрещаете перемещение, в комментариях пишете автора или иначе ?
A>Перемещение файла — это нормальная практика, если при этом структура проекта становится лучше. Если при этом ещё рефакторинг происходит (разделили класс на 2, вытащили не свойственную ему функциональность и т.д.), то вообще замечательно.
Возможно, но мне например порой хочется узнать кто же придумал эту чудесную логику, как в хорошем, так и в плохом смысле.
И в итоге бардак что не разобрать и статистика сильно искажается. Особенно когда завлдится какой-нибудь энтузиаст который начниает много перемещать。
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Здравствуйте, okon, Вы писали:
O>В итоге не всегда понятно кто сделал данный функционал, как вы боретесь с этим явлением, запрещаете перемещение, в комментариях пишете автора или иначе ?
Никак не боремся. Не видим в этом проблемы.
Все изменения видны в истории системы контроля версий, если что. Вся история изменений легко видна.
Здравствуйте, okon, Вы писали:
O>Возможно, но мне например порой хочется узнать кто же придумал эту чудесную логику, как в хорошем, так и в плохом смысле.
В P4 был замечательный тул Timelapse, который мог очень просто а главное наглядно показать историю изменений, в новомодных говногитах его очень сильно не хватает.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, okon, Вы писали:
O>Замечаю тенденцию последних лет, разработчики любят перекомичивать сделанное другими путем перемещения файлов или какого-нибудь форматирования. O>В итоге не всегда понятно кто сделал данный функционал, как вы боретесь с этим явлением, запрещаете перемещение, в комментариях пишете автора или иначе ?
git log foo/bar.h
Здравствуйте, Skorodum, Вы писали:
S>Здравствуйте, okon, Вы писали:
O>>Замечаю тенденцию последних лет, разработчики любят перекомичивать сделанное другими путем перемещения файлов или какого-нибудь форматирования. O>>В итоге не всегда понятно кто сделал данный функционал, как вы боретесь с этим явлением, запрещаете перемещение, в комментариях пишете автора или иначе ? S>git log foo/bar.h
S>1234: Vasya: Reformat code with clang-format S>4321: Petay: Add functionality xyz
S>В чем проблема? S>Наверное, можно взять версию до форматирования и на ней посмотреть git blame.
petyacore/ppp.cpp
2222 Petya Add file New Functionality and reformat
Потом имеем файл petyacore/ppp.cpp, и понять что он Made in Vasya становится труднее.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Здравствуйте, Artem Korneev, Вы писали:
AK>Здравствуйте, okon, Вы писали:
O>>В итоге не всегда понятно кто сделал данный функционал, как вы боретесь с этим явлением, запрещаете перемещение, в комментариях пишете автора или иначе ?
AK>Никак не боремся. Не видим в этом проблемы. AK>Все изменения видны в истории системы контроля версий, если что. Вся история изменений легко видна.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Здравствуйте, okon, Вы писали:
O>не обычно такая история
O>vasyacore/vvv.cpp O>1111 Vasya Add file New Functionality O>... O>2111 Petya removed file
O>petyacore/ppp.cpp O>2222 Petya Add file New Functionality and reformat
O>Потом имеем файл petyacore/ppp.cpp, и понять что он Made in Vasya становится труднее.
Petya должен был использовать git mv
Здравствуйте, okon, Вы писали:
AK>>Никак не боремся. Не видим в этом проблемы. AK>>Все изменения видны в истории системы контроля версий, если что. Вся история изменений легко видна.
O>Вот тут пример, как такие кейсы
O>http://rsdn.org/forum/job/7612207.1
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, okon, Вы писали:
O>>Возможно, но мне например порой хочется узнать кто же придумал эту чудесную логику, как в хорошем, так и в плохом смысле. CC>В P4 был замечательный тул Timelapse, который мог очень просто а главное наглядно показать историю изменений, в новомодных говногитах его очень сильно не хватает.
Для Visual Studio есть плагин CodeLineage.
Не дотягивает по удобству, но лучше, чем ничего.
Здравствуйте, PM, Вы писали:
PM>Здравствуйте, okon, Вы писали:
AK>>>Никак не боремся. Не видим в этом проблемы. AK>>>Все изменения видны в истории системы контроля версий, если что. Вся история изменений легко видна.
O>>Вот тут пример, как такие кейсы
O>>http://rsdn.org/forum/job/7612207.1
Внимательно смотрел сообщение ? При создании нового файла данная информация пропадает
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Здравствуйте, std.denis, Вы писали:
O>>vasyacore/vvv.cpp O>>1111 Vasya Add file New Functionality O>>... O>>2111 Petya removed file
O>>petyacore/ppp.cpp O>>2222 Petya Add file New Functionality and reformat
SD>просто петя – дурак, и ему нужно навалять в курилке объяснить, чтобы он сделал хотя бы mv + reformat одним коммитом, а потом add new functionality
да вроде не дурак и думаю даже знает о этих функциях, поэтому я и написал “метить код”. подобные случаи возникают не однократно сложилось впечатление что это порой делают намеряно, мотив не совсем понятен кроме как иммитация бурной деятельности.
вопрос изначально как это все регулировать, интересно как это решают в других командах без потрясений и боли.
запрещают операции типа remove ? выглядит слишком не эффективно. Угрозой наказания/увольнений "не делай так, а то снег в башка попадет” — тоже как-то деструктивно.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Здравствуйте, Skorodum, Вы писали:
S>Здравствуйте, okon, Вы писали:
O>>не обычно такая история
O>>vasyacore/vvv.cpp O>>1111 Vasya Add file New Functionality O>>... O>>2111 Petya removed file
O>>petyacore/ppp.cpp O>>2222 Petya Add file New Functionality and reformat
O>>Потом имеем файл petyacore/ppp.cpp, и понять что он Made in Vasya становится труднее. S>Petya должен был использовать git mv
Это не обязательно, git определяет перемещения по хэшу, и сделали вы "mv" или "git mv"
не важно. Но нужно конечно использовать "git log --follow file"
Z>Это не обязательно, git определяет перемещения по хэшу, и сделали вы "mv" или "git mv" Z>не важно. Но нужно конечно использовать "git log --follow file"
Вот это интересная опция, а с переименованием файла она работает ?
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, okon, Вы писали:
O>>Возможно, но мне например порой хочется узнать кто же придумал эту чудесную логику, как в хорошем, так и в плохом смысле. CC>В P4 был замечательный тул Timelapse, который мог очень просто а главное наглядно показать историю изменений, в новомодных говногитах его очень сильно не хватает.
Хм, давно не работал с Гитом, но это ж базовый тул любой VCS, неужто нет нормального GUI на базе git blame? А то у нас контора как раз массово переходит с P4 на Гит в след году.... P4 Timelapse за секунды позволяет найти кто написал тот или иной код, рефакторинг и прочие чистки легко проматываются и смотришь на предыдущие версии. https://github.com/JonathanAquino/git-time-lapse-view, хотя бы что-то типа такого я б ожидал в любом нормальном GUI для Гита...
Здравствуйте, okon, Вы писали:
O>Замечаю тенденцию последних лет, разработчики любят перекомичивать сделанное другими путем перемещения файлов или какого-нибудь форматирования. O>В итоге не всегда понятно кто сделал данный функционал, как вы боретесь с этим явлением, запрещаете перемещение, в комментариях пишете автора или иначе ?
У меня в команде некоторые разработчики метят код путем переименования переменных в в венгерскую нотацию и вводят много временных переменных типа sTmp. Видя такой код, я сразу знаю, кто это написал
Здравствуйте, okon, Вы писали:
O>вопрос изначально как это все регулировать, интересно как это решают в других командах без потрясений и боли.
Одно логическое действие — один коммит
Все декоративные действия типа форматирования/переименования всегда в отдельные коммиты.