Единственное решение (без полного переосмысления всего вашего проекта - который FWIW мог бы рассмотреть, см. Мои комментарии по вашему вопросу) - это иметь список имен атрибутов (в том порядке, в котором вы хотите, чтобы они были в окончательном списке). ) и используйте getattr
class MonstruousGodClass(object):
_fields_list = ["name", "title", "value", ] #etc...
def as_list(self):
return [getattr(self, fieldname) for fieldname in self._fields_list]
Теперь, поскольку, как я упомянул в комментарии, list
НЕ является правильным типом данных (по крайней мере, из семантического POV), вы можете использовать dict
вместо этого - что делает код намного проще:
import copy
def as_dict(self):
# we return a deepcopy to avoid unexpected side-effects
return copy.deepcopy(self.__dict__)
Как только вы настроите свойства svn: ignore (либо используя TortoiseSVN, либо из командной строки), вы должны зафиксировать эти изменения.
Как только члены вашей команды обновят свои рабочие копии, им также будут заданы свойства svn: ignore, и файлы / папки, перечисленные в свойствах, будут исключены из коммитов.
Подробности см. На этой странице: TortoiseSVN - Игнорирование файлов и каталогов
Примечание:
Если вы уже зафиксировали какой-то файл, который следует игнорировать, то сначала вам нужно удалить их из репозитория , прежде чем вы сможете их игнорировать (см. комментарий rmeador)
Альтернативный подход, который я использую, потому что я предпочитаю не засорять свои репозитории svn: ignore свойствами для некоторых файлов (таких как файлы IDE, файлы ОС, файлы для игнорировать в нескольких проектах и т. д.), чтобы сохранить файл конфигурации в другом хранилище. В этом файле я установил определенные шаблоны в списке глобальных игнорирований. Затем я проверяю этот файл конфигурации на ~ / .subversion и заставляю членов моей команды делать то же самое.
Таким образом, у нас у всех один и тот же глобальный файл конфигурации, и это может быть svn update
d on по мере необходимости. Я считаю этот способ полезным, когда у меня есть несколько проектов (что почти всегда), и у них много одинаковых стратегий.
Подготовьте правильную чистую структуру в SVN, а затем попросите всех пользователей оформить заказ заново.