Чтобы сравнить содержимое двух папок по некоторому приложению в OS X
1070
Léo Léopold Hertz 준영
Я улучшаю документ LaTeX моего друга в папке 1/2, в то время как он редактирует папку 1/1.
Исходное содержимое папок одинаковое.
Как вы можете объединить две папки в одну так, чтобы все файлы были объединены?
3 ответа на вопрос
9
Chealion
Вы хотите найти различия в файлах в двух папках и объединить изменения?
Если вы ищете утилиту с графическим интерфейсом, вы можете использовать FileMerge, который можно найти по адресу, /Developer/Applications/Utilities/если у вас установлены инструменты разработчика Apple. В нем есть некоторые странные ошибки - в основном, связанные с обработкой кодировки файлов.
Если вы хотите сделать это через командную строку, вы можете использовать, diffчтобы найти различия, а затем вручную объединить файлы, так как в нем будут перечислены все различия. (например. diff ~/Desktop/a ~/Desktop/b)
2
Axxmasterr
Поскольку на Mac установлена версия unix, вы можете использовать все проверенные, проверенные и проверенные команды из установленного наследия UNIX.
#!/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