Эта библиотека синтаксического анализа веса должна решить все подобные проблемы. Мне нравится библиотека, потому что ее довольно легко расширить.
Пример синтаксического анализа:
var caseOne = Date.parseDate("Jul 8, 2005", "M d, Y");
var caseTwo = Date.parseDate("2005-07-08", "Y-m-d");
И форматирование обратно в строку (вы заметите, что оба случая дают точно такой же результат):
console.log( caseOne.dateFormat("M d, Y") );
console.log( caseTwo.dateFormat("M d, Y") );
console.log( caseOne.dateFormat("Y-m-d") );
console.log( caseTwo.dateFormat("Y-m-d") );
Попытайтесь смотреть на несколько инструментов, что я думаю, мог получить Вас большая часть того, в чем Вы нуждаетесь:
1) сценарий p4pr Perl Bob Sidebotham и Jonathan Kamens.
2) интерфейс Emacs Perforce имеет команду 'p4-print-with-rev-history' (связанный с 'C-x p V').
Я не чрезмерно знаком с командой вины, но я предполагаю, что Вы ищете, кто изменяет конкретную строку кода. Самый легкий путь состоит в том, чтобы использовать 'представление промежутка времени Perforce', доступное и от p4win и от p4v.
Этот инструмент использование аннотируют и некоторые другие команды для предоставления Вам мнения строки кода со временем. Вы видите, кто изменил, какой код, когда он был вставлен или удален из строки кода, и т.д.
, Это не командная строка все же. Я проверил кратко в справку и там,' кажется, не способ запустить представление промежутка времени непосредственно от p4win или p4v вызова. Мог бы быть то, хотя... Я буду проверять далее...
Редактирование: Я сверился с поддержкой, и можно запустить представление таймлапса через p4v следующим образом:
p4v.exe -cmd "annotate //<path/to/file>"
HTH.
@alanw123: p4pr близко к тому, что я ищу, но он не пересекает границы ответвления:
last if $type eq 'branch';
, Который был основной проблемой, которую я имел, когда я пытался писать свою собственную утилиту - Вы не можете (легко) сказать, как строки отображаются назад на файл, который перешелся от.