Как я должен избавиться от Ответвлений TFS правильно?

Библиотека difflib полезна для этого и входит в стандартную библиотеку. Мне нравится унифицированный формат diff.

http://docs.python.org/2/library/difflib.html#difflib.unified_diff

import difflib
import sys

with open('/tmp/hosts0', 'r') as hosts0:
    with open('/tmp/hosts1', 'r') as hosts1:
        diff = difflib.unified_diff(
            hosts0.readlines(),
            hosts1.readlines(),
            fromfile='hosts0',
            tofile='hosts1',
        )
        for line in diff:
            sys.stdout.write(line)

Выходы:

--- hosts0
+++ hosts1
@@ -1,5 +1,4 @@
 one
 two
-dogs
 three

И вот хитроумная версия, которая игнорирует определенные строки. Там могут быть крайние случаи, которые не работают, и, конечно, есть более эффективные способы сделать это, но, возможно, это будет достаточно для ваших целей.

import difflib
import sys

with open('/tmp/hosts0', 'r') as hosts0:
    with open('/tmp/hosts1', 'r') as hosts1:
        diff = difflib.unified_diff(
            hosts0.readlines(),
            hosts1.readlines(),
            fromfile='hosts0',
            tofile='hosts1',
            n=0,
        )
        for line in diff:
            for prefix in ('---', '+++', '@@'):
                if line.startswith(prefix):
                    break
            else:
                sys.stdout.write(line[1:])

33
задан Fadeproof 27 November 2008 в 13:57
поделиться

1 ответ

Удаленное ответвление только отмечено, как удалено в момент вовремя, и возможно все еще добраться до кода, если Вы синхронизируете к changeset или время, прежде чем это удалит операцию.

, Если Вы не хотите иметь файл в ответвлении в базе данных вообще, можно использовать tf destroy командная строка:

http://msdn.microsoft.com/en-us/library/bb386005.aspx

Как Ваше ответвление уже удален, необходимо будет использовать tf dir /deleted для нахождения количества удаления того ответвления для уничтожения файлов.

13
ответ дан 27 November 2019 в 19:28
поделиться
Другие вопросы по тегам:

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