Git-Svn: сохранить временную метку коммита - PullRequest
8 голосов
/ 19 января 2010

Я использую Git & Git-Svn уже год или около того и почему-то просто заметил, что после dcommit моя история коммитов сохраняется, а метки времени - нет. Другими словами, каждая запись git commit сохраняется, но в Svn каждый коммит имеет одну и ту же метку времени (более или менее).

Для меня нет ничего необычного в том, чтобы работать удаленно в течение дня или около того, делая любое количество коммитов в течение этого времени. В идеале я хотел бы, чтобы в моем журнале SVN отражалось время, когда я делал эти коммиты для git, а не время, когда коммит (вместе с любыми другими коммитами) составлял dcommitted для SVN. Это возможно?

Спасибо.

Ответы [ 3 ]

8 голосов
/ 19 января 2010

Когда git-svn создает коммит Subversion, он делает примерно то же самое, что вы обычно делаете с Subversion для создания коммита. Это означает, что отметка времени Subversion будет временем выполнения операции git svn dcommit.

Даже если вы можете изменить отметку времени коммита, это может быть не то, что вы хотите сделать. Обычно люди ожидают, что временные метки коммитов в Subversion следуют в хронологически возрастающей последовательности, и может быть непонятно видеть «задним числом» временные метки в хранилище.

1 голос
/ 13 мая 2012

Это возможно, если вы используете SubGit на сервере. Он пытается сохранить даты фиксации Git, насколько это возможно (к сожалению, SVN-репозиторий имеет внутреннее ограничение, согласно которому даты должны идти в хронологическом порядке, иначе некоторые алгоритмы двоичного поиска не будут работать правильно). Я не знаю другого решения, которое изменило бы svn: date в рамках той же транзакции фиксации . Git-svn использует движок libsvn SVN, который, как я знаю, не допускает такую ​​модификацию svn: date (только после транзакции, когда ревизия создается и вы знаете ее номер).

0 голосов
/ 19 января 2010

Это определенно возможно, если изменить свойство svn: date , но я не думаю, что git-svn реализует это.

git-svn-replay действительно реализует это , но это имеет совсем другое назначение, чем git-svn.

...