SVN оперативный импорт и контроль

Если struct device *hwdev указывает на ваше оборудование struct device (например, если hwdev указывает на элемент dev элемента struct platform_device), то этот фрагмент кода иллюстрирует, как получить доступ к узлу дерева устройств зарезервированного область памяти и преобразовать это в struct resource.

        struct device_node *memnp;
        struct resource mem_res;
        int rc;

        /* Get pointer to memory region device node from "memory-region" phandle. */
        memnp = of_parse_phandle(hwdev->of_node, "memory-region", 0);
        if (!memnp) {
                dev_err(hwdev, "no memory-region node\n");
                rc = -ENXIO;
                goto err1;
        }
        /* Convert memory region to a struct resource */
        rc = of_address_to_resource(memnp, 0, &mem_res);
        /* finished with memnp */
        of_node_put(memnp);
        if (rc) {
                dev_err(hwdev, "failed to translate memory-region to a resource\n");
                goto err1;
        }

Начальный адрес заканчивается на mem_res.start, а длина задается как resource_size(&mem_res);.

28
задан 2 revs, 2 users 75% 1 November 2015 в 19:01
поделиться

2 ответа

Скажем, Вы использовали svnadmin для создания репозитория в/svn/foo/mydirname, и Вы хотите к управлению версиями/home/user/mydirname (это, что Вы имеете в виду?).

Затем сделайте следующее:

cd /home/user/mydirname
svn co file:///svn/foo/mydirname . #This only creates the ".svn" folder for version control
svn add ./*                        #Tell svn you want to version control all files in this dir
svn ci                             #Check the files in

Ваш каталог является теперь версией, которой управляют!

39
ответ дан 3 revs, 2 users 73% 28 November 2019 в 03:17
поделиться

Да, можно импортировать существующий каталог (с содержанием) в репозиторий SVN и использовать текущее местоположение в качестве управляемой версией рабочей копии. Пойдите в нем следующим образом:

Предположим, что Ваши (неимеющие версию) источники проекта находятся в/home/user/projectx, и Ваш репозиторий готов по file:///svnrepo

  1. Во-первых, создайте пустой каталог где-нибудь за пределами Вашего дерева проекта, скажем, /tmp/empty. Импорт, что пустой каталог в Вашем репозитории Подверсии:

    cd /tmp/empty
    
    svn import . file:///svnrepo/projectx
    
  2. Войдите в свой заполненный каталог проекта. Теперь проверьте местоположение хранилища, которое Вы создали на шаге 1:

    cd /home/user/projectx
    
    svn checkout file:///svnrepo/projectx .
    

Это добавит .svn файлы к Вашему заполненному каталогу проекта, но он не сделает ничего больше, таким образом, Ваши существующие файлы будут безопасны.

  1. Затем, добавьте каталог со своими файлами в репозиторий:

    svn add *
    
    svn commit -m 'initial commit'
    

Готово.

10
ответ дан 3 revs, 2 users 80% 28 November 2019 в 03:17
поделиться
Другие вопросы по тегам:

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