Цитата(alpet @ 09.07.2014, 22:39)
свежие студии создают дополнительно файлы *.vcxproj,
файлы, согласен, создают студии, а вот инклюды прописывают люди, там было в любых студиях. и в данном случае не вижу проблемы в абсолютных путях к 3rd-party либам, диск X: и так везде задан как выходной для всех проектов.
Цитата(alpet @ 09.07.2014, 22:39)
В ранних студиях было проще, т.к. подобные настройки были глобальными для всех проектов пользователя.
это не проще, а неправильно в корне, с чем и столкнулся народ при использовании двух разных версий DXSDK.
впрочем, использование настроек родительского проекта плюс *.props до сих пор заменяет "убранные" глобальные настройки.
Цитата(alpet @ 09.07.2014, 22:39)
выглядит компактнее
и кроме этого плюсов более не обнаруживается. по сути, на первоначальный вопрос (как за 20 секунд для всех проектов в VS2012 можно заменить все пути к инклудам и либам?) можно было ответить одной строчкой:
Код
find -type f -name \*.vcxproj -exec sed -i -r 's/старый_путь/новый_путь/g' {} \;
или, при отсутствии данных утилит воспользоваться
куцыми возможностями виндового команд-шелла
Код
rem запуск find_replace.cmd *.ext string_find string_replace
@echo off
setlocal enabledelayedexpansion
set mask=%1
set find=%2
set replace=%3
for /r %%f in (%mask%) do (
echo %%f
for /F "tokens=* delims=" %%l in (%%f) do (
set LINE=%%l
set TMPR=!LINE:%find%=%replace%!
echo !TMPR!>>tmp
)
copy %%f %%f.bak
move tmp %%f
)
:eof
я просто спросонья подумал, что речь идет об обычных путях к файлам.
Цитата(Tron @ 09.07.2014, 22:44)
Под возможностью bitbucket ,по сравнению с xpdev я имел ввиду...
... обычный холивар на предмет SVN vs Git vs Merurial, все понятно ;)