void git_revert_to_internal_repository(const ustring & project) // This reverts the repository to the internal one, if that is not yet the case. { // Set in the configuration that we're using a local repository only. extern Settings *settings; ProjectConfiguration *projectconfig = settings->projectconfig(project); projectconfig->git_use_remote_repository_set(false); }
void RemoteRepositoryAssistant::on_assistant_apply () { // Configurations. extern Settings *settings; ProjectConfiguration *projectconfig = settings->projectconfig(bible); // Whether to use the remote repository. bool use_remote_repository = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkbutton_use_repository)); if (bible_notes_selector_bible ()) projectconfig->git_use_remote_repository_set(use_remote_repository); else settings->genconfig.consultation_notes_git_use_remote_repository_set(use_remote_repository); // The remote repository URL. if (bible_notes_selector_bible ()) projectconfig->git_remote_repository_url_set(repository_url_get()); else settings->genconfig.consultation_notes_git_remote_repository_url_set(repository_url_get()); // If the repository was cloned, move it into place. if (repository_was_cloned()) { ustring destination_data_directory; if (bible_notes_selector_bible ()) destination_data_directory = project_data_directory_project(bible); else destination_data_directory = notes_shared_storage_folder (); unix_rmdir(destination_data_directory); unix_mv(persistent_clone_directory, destination_data_directory); // Switch rename detection off. // This is necessary for the consultation notes, since git has been seen to cause spurious renames. GwSpawn spawn ("git"); spawn.workingdirectory (destination_data_directory); spawn.arg ("config"); spawn.arg ("--global"); spawn.arg ("diff.renamelimit"); spawn.arg ("0"); spawn.run (); } if (bible_notes_selector_bible ()) { // Take a snapshot of the whole project. snapshots_shoot_project (bible); } else{ // Create the index for the consultation notes. notes_create_index (); } // Show summary. gtk_assistant_set_current_page (GTK_ASSISTANT (assistant), summary_page_number); }