Фиксация двоичных файлов к SVN

Есть кое-что, что вы должны заметить в своем коде:

Во-первых, как оценить возвращаемое значение GetAsyncKeyState ()

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

blockquote>

тип возвращаемого значения - SHORT, то есть 2 байта. Так что попробуйте GetAsyncKeyState(VK_LBUTTON) & 0x8000 вместо этого.

Во-вторых, как использовать SendInput() для отправки другого состояния мыши. Вы должны создать новые INPUT данные, чтобы сохранить различные действия, а не просто объединить их все.

Пример кода:

do {
        if (GetAsyncKeyState(VK_LBUTTON) & 0x8000)
        {
            enabled = true;
            while (GetAsyncKeyState(VK_LBUTTON) & 0x8000) 
            {
                INPUT input[2];
                input[0].type = input[1].type = INPUT_MOUSE;
                input[0].mi.dx = 0;
                input[0].mi.dy = 0;
                input[0].mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN;
                input[1].mi.dx = 0;
                input[1].mi.dy = 0;
                input[1].mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTUP;
                SendInput(2, input, sizeof(INPUT) * 2);
            }
        }


    } while (true);

9
задан Orion Edwards 13 October 2008 в 23:11
поделиться

5 ответов

Нет ничего странного о Вашей установке (я делаю подобные вещи и с инструментами сборки и с артефактами сборки, когда я должен сохранить точные биты.) Расположение, которое Вы хотите, определенно возможно - "включать" определенные версии других ответвлений или тегов в Вашем tags/project1/release2, все, что необходимо сделать, установлен svn:externals свойства на tags/project1/release2 ссылка на URL источников и изменений, которые Вы хотите втянуть, и Вы установлены.

9
ответ дан 4 December 2019 в 13:06
поделиться

В то время как я не могу непосредственно ответить на Ваш вопрос, я скажу об альтернативном подходе.

У нас есть отдельный файловый сервер для двоичных выпусков со стратегией резервного копирования, подобной той для сервера SVN, и существует каталог для каждого проекта с чем-либо принадлежащим проекту, который не находится в SVN, включая каталог выпуска. Вся история двоичных выпусков хранится в этом каталоге, таким образом, можно получить двоичный файл отовсюду (хорошо, из нашей сети) без потребности в SVN, т.е. скопировать его в некоторый рабочий сервер, отправьте его клиенту или загрузите для тестирования в VM. Никакая потребность к контролю или восстановить.

Я нашел эту установку легче справиться, чем фиксация двоичных файлов к SVN. При необходимости в точном двоичном файле с определенной версией это просто там, при условии, что версия была выделена клиенту (но затем, почему Вам будет нужен двоичный файл, который никогда не видел солнечного света?).

4
ответ дан 4 December 2019 в 13:06
поделиться

Я полагаю, что это обработало при помощи "внешнего облика". Существуют ловушки, тем не менее, и я должен все же найти что-то, в чем я чувствую себя довольным. Я делаю то, что Вы предлагаете с моими исходными библиотеками, но я все еще делаю это вручную.

2
ответ дан 4 December 2019 в 13:06
поделиться

В то время как технически, что подход будет работать просто великолепно, я лично не использовал бы SVN для хранения двоичных файлов как этот.

У меня есть 2 причины почему дело обстоит так. Первоначально я думал, что SVN, сопровождаемый в связи с CVS и, не сохранил двоичный файл diffs, который оказывается, что я был неправ относительно. Во всяком случае:

0) "Технически" Вы не должны хранить сгенерированные файлы, поскольку они могут быть восстановлены, если необходимо. Очевидно, это не практично в реальной жизни, но по моему скромному мнению все еще необходимо ли думать, 'как я могу создать кэш для сгенерированного материала'.
SVN действительно не соответствует той модели использования. Это не действительно точка на своем собственном, но что я пытаюсь передать, "помещает что-то в SVN, подразумевает, что Вы заботитесь об этом и хотите заархивировать его" - если Вы не делаете, Вы не должны, по моему скромному мнению, передавать это сообщение, неявно или иначе

1) Это является раздражающим. Если кто-то проверит вершину Вашего repo, то они получат все двоичные файлы также. Если у Вас есть больше, чем meg или два, это собирается сделать людей, должны ожидать того материала (и израсходовать их дисковое пространство) ни на каком серьезном основании. Это может быть решено путем установки отдельного репозитория, но после того как Вы делаете это, по моему скромному мнению, Вы могли бы также просто настроить отдельный веб-сервер вместо этого.

2) SVN разработан для хранения всех файлов навсегда. Это является очень болезненным и трудоемким для завершенного удаления вещей из репозитория, который делает сомнительным сохранить вещи, которые Вы не должны хранить.

Я рекомендовал бы вместо этого просто использовать веб-сервер для хранения двоичных файлов на. (SVN является веб-сервером, в конце концов, **). Сохраните как много старых двоичных файлов на сервере как Вам угодно и создайте резервную копию его, но можно затем удалить старые бесполезные двоичные файлы, после того как Вам больше не нужны они.

** Да я знаю, что это использует DAV, и это - поэтому не действительно просто простой веб-сервер, но с точки зрения развертывания на производственной машине, процесс, 'Я загружаю некоторые файлы с помощью http из http://blah', таким образом, это могло бы также быть то.

1
ответ дан 4 December 2019 в 13:06
поделиться

Не уверенный, почему Вы не хотите подвергать двоичные файлы trunk/project1/binaries дереву? Тем не менее ничто не должно мешать Вам иметь дерево, похожи на это:

  • соединительная линия
    • project1
    • project2
  • созданный
    • project1
    • project2
  • теги
    • project1
    • <tag id>
      • <code as usual>
      • двоичные файлы
0
ответ дан 4 December 2019 в 13:06
поделиться
Другие вопросы по тегам:

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