Example #1
0
int 
main (int argc, char **argv)
{
	GiggleGit        *git;
	GiggleRevision   *rev1, *rev2;
	GiggleJob        *diff;

	g_type_init ();

	main_loop = g_main_loop_new (NULL, FALSE);

	git = giggle_git_get ();
	giggle_git_set_directory (git, "/home/micke/Source/giggle", NULL);

	rev1 = giggle_revision_new ("4c7b72b6dc089db58d25d2a2a07de6a4d15f3560");
	giggle_revision_set_author (rev1, "Richard Hult <*****@*****.**>");
	giggle_revision_set_short_log (rev1, "Make the patch view use a monospace font");
	giggle_revision_set_date (rev1, "2007-01-12");

	rev2 = giggle_revision_new ("883a8b6ed7f068d01e70e3e516164f497f9babd9");
	giggle_revision_set_author (rev2, "Richard Hult <*****@*****.**>");
	giggle_revision_set_short_log (rev2, "Make the patch view use a monospace font");
	giggle_revision_set_date (rev2, "2007-01-12");

	diff = giggle_git_diff_new ();
	giggle_git_diff_set_revisions (GIGGLE_GIT_DIFF (diff), rev1, rev2);
	giggle_git_run_job (git, diff, job_done_cb, NULL);
	g_object_unref (diff);

	g_main_loop_run (main_loop);

	g_object_unref (git);

	return 0;
}
Example #2
0
static void
clone_repository (GiggleCloneDialog *dialog, GtkButton *button)
{
	GiggleJob *job;
	GtkFileChooser *chooser;
	const gchar  *repo, *name;
	gchar *base;

	if (input_is_valid (dialog) == FALSE) {
		warning_dialog (GTK_WINDOW (dialog));
		return;
	}

	gtk_widget_set_sensitive (GTK_WIDGET (button), FALSE);
	gtk_widget_set_sensitive (dialog->priv->remote_entry, FALSE);
	gtk_widget_set_sensitive (dialog->priv->local_entry, FALSE);
	gtk_widget_set_sensitive (dialog->priv->folder_button, FALSE);

	dialog->priv->pulse_timeout_id = g_timeout_add (100,
	                                                update_progress_bar,
	                                                dialog);

	chooser = GTK_FILE_CHOOSER (dialog->priv->folder_button);
	base = gtk_file_chooser_get_filename (chooser);

	name = gtk_entry_get_text (GTK_ENTRY (dialog->priv->local_entry));
	repo = gtk_entry_get_text (GTK_ENTRY (dialog->priv->remote_entry));

	dialog->priv->git_directory = g_build_filename (base, name, NULL);
	g_free (base);

	job = giggle_git_clone_new (repo, dialog->priv->git_directory);

	giggle_git_run_job (dialog->priv->git, job,
	                    clone_repository_finished, dialog);
}