Как я клонирую подпапку репозитория в Подвижном?

В приведенном выше коде есть несколько незначительных заблуждений / ошибок, вот рабочая реализация:

Application.java:

component = DaggerComponentClass.builder().classModule(new ModuleClass()).build();

Сгенерированный класс будет назван DaggerComponentClass, а не DaggerCompClassComponent. Если вы не можете запустить свое приложение в Android Studio, чтобы его собрать, попробуйте в меню Build-> Clean project и Build-> Rebuild project. Если все в порядке, Dagger скомпилирует DaggerComponentClass, который будет находиться в том же пакете, что и ComponentClass.

ComponentClass.java:

@Component(modules = ModuleClass.class)
public interface ComponentClass {
    void inject(AClassThatShouldGetInstancesInjected instance);
}

Компонент в Dagger2 имеет методы с именем inject, которые получают экземпляр для вставки в него экземпляров, а не наоборот. В приведенном выше коде класс AClassThatShouldGetInstancesInjected обычно вызывает componentClass.inject(this);, чтобы получить экземпляры, внедренные в себя.

ModuleClass.java:

@Module
public class ModuleClass {
    @Provides
    @Singleton
    public Interceptor provideInterceptor() {/*code*/}

    //Your Providers...
}

Модуль корректен в вашем коде, убедитесь, что он аннотирован.

61
задан Martin Geisler 20 January 2012 в 08:31
поделиться

4 ответа

Вам нужен узкий или частичный клон , но, к сожалению, он еще не поддерживается.

Если у вас уже есть большой репозиторий, и вы понимаете, что имеет смысл разделить его на несколько меньших репозиториев, тогда вы можете использовать расширение convert для преобразования Mercurial в Mercurial . Обратите внимание, что при этом создается новый репозиторий foo , и вы не можете перемещать / тянуть между your-big-repo и foo .

Расширение преобразования не включено по умолчанию, поэтому добавьте следующее в файл hgrc вашего репозитория или файл mercurial.ini :

[extensions]
hgext.convert=

Затем создайте ]карта. txt файл с

include "libs/foo"
rename "libs/foo" .

(обратите внимание, что косые черты можно использовать даже в Windows) и запустить

$ hg convert --filemap map.txt your-big-repo foo

. Это сделает foo репозиторием с полной историей libs / foo из your-big-repo .

Если вы хотите удалить все свидетельства foo из your-big-repo , вы можете выполнить другое преобразование, используя exclude libs / foo , чтобы получить избавиться от каталога.

Если у вас есть несколько подобных репозиториев и вы хотите использовать их как единое целое, вам следует посмотреть на подхранилища . Эта функция позволяет вам включать в проверку другие репозитории - аналогично тому, как работает svn: externals . Следуйте рекомендациям на этой вики-странице.

Если вы хотите удалить все свидетельства foo из your-big-repo , вы можете выполнить другое преобразование, используя exclude libs / foo , чтобы получить избавиться от каталога.

Если у вас есть несколько подобных репозиториев и вы хотите использовать их как единое целое, вам следует посмотреть на подхранилища . Эта функция позволяет вам включать в проверку другие репозитории - аналогично тому, как работает svn: externals . Следуйте рекомендациям на этой вики-странице.

Если вы хотите удалить все свидетельства foo из your-big-repo , вы можете выполнить другое преобразование, используя exclude libs / foo , чтобы получить избавиться от каталога.

Если у вас есть несколько подобных репозиториев и вы хотите использовать их как единое целое, вам следует посмотреть на подхранилища . Эта функция позволяет вам включать в проверку другие репозитории - аналогично тому, как работает svn: externals . Следуйте рекомендациям на этой вики-странице.

Эта функция позволяет вам включать в проверку другие репозитории - аналогично тому, как работает svn: externals . Следуйте рекомендациям на этой вики-странице.

Эта функция позволяет вам включать в проверку другие репозитории - аналогично тому, как работает svn: externals . Следуйте рекомендациям на этой вики-странице.

53
ответ дан 24 November 2019 в 17:22
поделиться

Невозможно, hg clone клонирует весь репозиторий.

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

3
ответ дан 24 November 2019 в 17:22
поделиться

Вместо частичного клонирования вы можете использовать Convert Extension для разделения ваше репо в несколько репозиториев по дополнительным репозиториям.

В частности, см. раздел Преобразование из Mercurial :

Также полезно фильтровать репозитории Mercurial, чтобы получить подмножества существующего. Например, чтобы преобразовать подкаталог subfoo репозитория foo в репозиторий с его собственной жизнью (с сохранением полной истории), выполните следующие действия:

 $ echo include subfoo> / tmp / myfilemap
$ echo переименовать subfoo. >> / tmp / myfilemap
$ hg convert --filemap / tmp / myfilemap / path / to / repo / foo / tmp / mysubfoo-repo
12
ответ дан 24 November 2019 в 17:22
поделиться

Это просто с расширением Convert .

2
ответ дан 24 November 2019 в 17:22
поделиться
Другие вопросы по тегам:

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