Как мерзавцу-svn клонируют последние n изменения из репозитория Подверсии?

Идея заключается в преобразовании имен столбцов date в DatetimeIndex и split из . в MultiIndex:

dfs = [] 
for subdirname in glob.iglob('C:/Users/stacey/WorkDocs/tradeopt/'+filename+'//BBG*/tradeopt.is-pnl*.lzma', recursive=True): 
    out = []
    with lzma.open(subdirname, mode='rt') as file:
        print(subdirname)
        for line in file:
            items = line.strip().split(",")
            out.append(items)
    if len(out) > 0:
        a = pd.DataFrame(out[1:], columns=out[0]).set_index('date')
        a.index = pd.to_datetime(a.index)  
        dfs.append(a)

, а затем используйте concat и sum по именам столбцов:

df = pd.concat(dfs, axis=1).sum(level=0, axis=1)

310
задан Lernkurve 5 February 2018 в 01:45
поделиться

2 ответа

Вы уже обнаружили самый простой способ указать мелкий клон в Git-SVN, указав номер ревизии SVN что вы хотите начать свой клон с ( -r $ REV: HEAD ).

Например: git svn clone -s -r1450: HEAD some / svn / repo

Структура данных Git основана на указателях в ориентированном ациклическом графе (DAG), что делает его тривиальным возвращаться назад n фиксирует. Но в SVN (и, следовательно, в Git-SVN) вам придется найти номер ревизии самостоятельно.

233
ответ дан TamaMcGlinn 23 November 2019 в 01:12
поделиться

Я часто использую следующее, чтобы получить ограниченное количество ревизий из нашего огромного дерева подверсий (скоро мы дойдем до svn revision 35000).

# checkout a specific revision
git svn clone -r N svn://some/repo/branch/some-branch
# enter it and get all commits since revision 'N'
cd some-branch
git svn rebase

И хороший способ узнать, где началась ветка, - это сделать svn log и найти первый в ветке (последний в списке при выполнении):

svn log --stop-on-copy svn://some/repo/branch/some-branch

Пока что я на самом деле не сочли нужным отслеживать все ветки. На клонирование уходит слишком много времени, а svn и git не работают вместе так хорошо, как хотелось бы. Я обычно создаю файлы патчей и применяю их к клону git другой ветки svn.

90
ответ дан 23 November 2019 в 01:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: