Я вдосконалюю документ LaTeX мого друга в папці 1/2, коли він редагує папку 1/1.
Початковий вміст папок однаковий.
Як можна об'єднати дві папки з такою, щоб всі файли були об'єднані?
Я вдосконалюю документ LaTeX мого друга в папці 1/2, коли він редагує папку 1/1.
Початковий вміст папок однаковий.
Як можна об'єднати дві папки з такою, щоб всі файли були об'єднані?
Відповіді:
Ви хочете знайти відмінності у файлах у двох папках і об'єднати зміни?
Якщо ви шукаєте утиліту GUI, ви можете використовувати FileMerge, який можна знайти за адресою /Developer/Applications/Utilities/
якщо у вас встановлені інструменти розробника Apple. Вона має деякі незвичайні помилки - в основному, для обробки кодування файлів.
Якщо ви шукаєте щось швидше і краще перевірити Changes.app - Це не дешево, але варто було кілька разів потрапити до мене.
Якщо ви хочете зробити це за допомогою командного рядка, ви можете використовувати його diff
Щоб знайти відмінності, а потім вручну об'єднати файли разом, як це буде перераховувати всі відмінності. (напр. diff ~/Desktop/a ~/Desktop/b
)
Оскільки Mac працює з версією unix, ви можете використовувати всі випробувані, перевірені та справжні команди з створеного UNIX-спадщини.
Наступний код зроблено Git-спільнота
#!/bin/sh
#
# Filemerge.app must not already be open before running
# this script, or opendiff below will return immediately,
# and the TMPDIRs deleted before it gets the chance to read
# them.
[ \$# -eq 7 ] && opendiff "\$2" "\$5"
EOF
chmod +x merge.sh
GIT_EXTERNAL_DIFF=./merge.sh git-diff
if test $# = 0; then
OLD=`git-write-tree`
elif test "$1" = --cached; then
OLD=HEAD
NEW=`git-write-tree`
shift
fi
if test $# -gt 0; then
OLD="$1"; shift
fi
test $# -gt 0 && test -z "$CACHED" && NEW="$1"
TMPDIR1=`mktemp -d`
git-archive --format=tar $OLD | (cd $TMPDIR1; tar xf -)
if test -z "$NEW"; then
TMPDIR2=$(git rev-parse --show-cdup)
test -z "$cdup" && TMPDIR2=.
else
TMPDIR2=`mktemp -d`
git-archive --format=tar $NEW | (cd $TMPDIR2; tar xf -)
fi
opendiff $TMPDIR1 $TMPDIR2 | cat
rm -rf $TMPDIR1
test ! -z "$NEW" && rm -rf $TMPDIR2
Потім можна запустити
opendiff folder1 folder2
щоб досягти того, чого я хочу.