Permalink
Browse files

Merge last stable version of geanyvc into new geany-plugins project. …

…Autotools still missing

git-svn-id: https://geany-plugins.svn.sourceforge.net/svnroot/geany-plugins/trunk/geany-plugins@761 e8383189-8249-0410-b506-acc975200cbd
  • Loading branch information...
1 parent 0f9e269 commit f546dc47bea2d2731cd6fee57a63da4fc7486e32 @frlan frlan committed Jun 21, 2009
View
No changes.
View

Large diffs are not rendered by default.

Oops, something went wrong.
View
No changes.
View
@@ -0,0 +1,197 @@
+.. |(version)| replace:: 0.5
+
+=======
+geanyvc
+=======
+
+.. contents::
+
+About
+=====
+
+geanyvc is plugin that provides a uniform way of accessing the different
+version-control systems inside Geany IDE. Only small subset of vc is
+implemented, but, hey, you don't need anything besides diff, log, status,
+revert and commit most time.
+
+In order to use it you need Geany 0.16.
+
+Features
+========
+
+geanyvc currently support the following version control systems:
+
+Bazaar, GIT, Mercurial, Subversion, SVK::
+
+ * diff file
+ * diff directory
+ * diff base directory
+ * blame
+ * log file
+ * log directory
+ * log base directory
+ * status
+ * revert file
+ * revert directory
+ * revert base directory
+ * show unmodified original file
+ * add file
+ * remove file
+ * update
+ * commit
+
+CVS::
+
+ * diff file
+ * diff directory
+ * diff base directory
+ * log file
+ * log directory
+ * log base directory
+ * status
+ * revert file
+ * revert directory
+ * revert base directory
+ * update
+
+Requirements
+============
+
+For compiling the plugin yourself, you will need the GTK (>= 2.6.0) libraries
+and header files. You will also need its dependency libraries and header
+files, such as Pango, Glib and ATK. All these files are available at
+http://www.gtk.org.
+If you like to use spellchecking for your commit
+messages you will also need gtkspell (>=2.0), but this is only optional.
+
+And obviously, you will need have Geany installed. If you have Geany installed
+from the sources, you should be ready to go.
+If you used a prepared package e.g. from your distribution you probably need
+to install an additional package, this might be called geany-dev or geany-devel.
+Please note that in order to compile and use this plugin, you need Geany 0.15
+or later.
+
+Furthermore you need, of course, a C compiler and the Make tool.
+The GNU versions of these tools are recommended.
+
+Usage
+=====
+
+After compiling and/or installing geanyvc, start Geany and go to menu
+Tools->Plugin Manager and set checkbox at VC plugin.
+
+You can configure the following options:
+
+* Set Change flag for document tabs created with pluging.
+
+If this option is activated, every new by the VC-plugin created document tab
+will be marked as changed. Even thus this option is useful in some cases, it
+could cause a big number of sometimes annoying "Do you want to save"-dialogs.
+
+* Confirm adding new files to a VCS
+
+Shows a confirmation dialog on adding a new (created) file to VCS. If not set
+you will not see dialog "Do you want to add <file>?"
+
+* Maximize commit dialog
+
+If this option is activated, commit dialog will fit the full size of your
+monitor. If it is not set commit dialog size will be 700x500.
+
+* Use external diff viewer
+
+If this option is activated and you have **meld**, **kompare**, **kdiff3**,
+**diffuse** or **tkdiff** available from command line, one of these program
+will be used to show differences for "Diff From Current File" command.
+
+* Enable CVS/GIT/SVN/SVK/Bazaar/Mercurial
+
+geanyvc detect if opened file is in version control by checking directories
+and executing commands from version control systems toolchain. These options
+disable checking for particular version control system. Disabling not
+required ones can speed up things. So it is recommended to activate svk only
+if you want to use it, since it is quiet slow.
+
+License
+=======
+
+geanyvc is distributed under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version. A copy of this license
+can be found in the file COPYING included with the source code of this
+program.
+
+Ideas, questions, patches and bug reports
+=========================================
+
+If you add something, or fix a bug, please send a patch (in 'diff -u'
+format) to the geany mailing list or to one of the authors listed bellow.
+
+Coding
+======
+
+Use static functions where possible.
+Try to use GLib types and functions - e.g. g_free instead of free and
+try to use only GLib 2.6 and GTK 2.6 functions. At least for the moment,
+we want to keep the minimum requirement for GTK at 2.6.
+
+Style
+=====
+
+The file indent-all.sh contains information about
+the current code style. Run this script before commit.
+
+Download
+========
+
+The current version is:
+
+============= =============== ==========================================================
+Geany Version Geanyvc Version Download
+============= =============== ==========================================================
+0.16 0.5 http://users.cosmostv.by/yurand/geanyvc/geanyvc-0.5.tar.gz
+============= =============== ==========================================================
+
+Up to date source code can be downloaded here::
+
+ svn checkout http://geany-plugins.svn.sourceforge.net/svnroot/geany-plugins/trunk/geanyvc
+
+If you have old version of Geany installed you need old version of plugin as well. These versions of plugin
+are no longer supported and if you find bug in one of them, it won't be fixed unless you do it yourself.
+
+============= =============== ==========================================================
+Geany Version Geanyvc Version Download
+============= =============== ==========================================================
+0.15 0.4 http://users.cosmostv.by/yurand/geanyvc/geanyvc-0.4.tar.gz
+
+0.14 0.3 http://users.cosmostv.by/yurand/geanyvc/geanyvc-0.3.tar.gz
+
+0.13 0.2 http://users.cosmostv.by/yurand/geanyvc/geanyvc-0.2.tar.gz
+============= =============== ==========================================================
+
+Gentoo
+------
+
+Gentoo ebuild is available here: http://bugs.gentoo.org/show_bug.cgi?id=218522
+
+Arch linux
+----------
+
+A package for Arch Linux is available here: http://aur.archlinux.org/packages.php?ID=16484
+
+Source Mage
+-----------
+
+To install geanyvc, just run the following command::
+
+ cast geanyvc
+
+Windows
+-------
+
+A windows installer is available here: http://users.cosmostv.by/yurand/geanyvc/geanyvc-0.4_setup.exe
+
+--
+2007-2008 by Yura Siamashka and Frank Lanitz
+yurand2(at)gmail(dot)com
+frank(at)frank(dot)uvena(dot)de
View
@@ -0,0 +1,15 @@
+What's this file about?
+-----------------------
+This file lists all external people that have contributed to this project.
+
+Testers and contributors:
+-------------------------
+Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com> - some patches
+Enrico Troeger <enrico(dot)troeger(at)uvena(dot)de> - Geany IDE author, some patches and testing
+Jeff Pohlmeyer <yetanothergeek(at)gmail(dot)com> - INSTALL instructions stolen from him.
+Karel Kolman <kolmis(at)gmail(dot)com> - Bazaar support.
+David Kalnischkies <kalnischkies(at)gmail(dot)com> - Mercurial support
+
+Projects
+--------
+Sylpheed
View
@@ -0,0 +1,11 @@
+* fix mess with local and utf8 encodings.
+* implement in_vc_cvs function.
+* implement cvs commit command.
+* implement cvs blame(?) command.
+* option external diff program.
+* check windows build for problems with stdout/stderr output
+* (add spellchecking to commit dialog)
+* (add function to change branches for VCS that support it)
+* (add auto wrapping long line at commit dialog)
+* (add commit function for a single file)
+* (add git bisec support)
View
@@ -0,0 +1,87 @@
+/*
+ * externdiff.h - Plugin to geany light IDE to work with vc
+ *
+ * Copyright 2008 Yura Siamashka <yurand2@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include <string.h>
+
+#include "geany.h"
+#include "support.h"
+#include "plugindata.h"
+#include "document.h"
+#include "filetypes.h"
+#include "utils.h"
+#include "ui_utils.h"
+#include "project.h"
+#include "prefs.h"
+#include "geanyfunctions.h"
+
+
+#include "geanyvc.h"
+
+extern GeanyFunctions *geany_functions;
+
+enum
+{
+ EXTERNAL_DIFF_MELD,
+ EXTERNAL_DIFF_KOMPARE,
+ EXTERNAL_DIFF_KDIFF3,
+ EXTERNAL_DIFF_DIFFUSE,
+ EXTERNAL_DIFF_TKDIFF,
+ EXTERNAL_DIFF_COUNT
+};
+
+static gchar *viewers[EXTERNAL_DIFF_COUNT] = { "meld", "kompare", "kdiff3", "diffuse", "tkdiff" };
+
+static gchar *extern_diff_viewer = NULL;
+const gchar *
+get_external_diff_viewer()
+{
+ gint i;
+
+ if (extern_diff_viewer)
+ return extern_diff_viewer;
+
+ for (i = 0; i < EXTERNAL_DIFF_COUNT; i++)
+ {
+ if (g_find_program_in_path(viewers[i]))
+ {
+ extern_diff_viewer = viewers[i];
+ return extern_diff_viewer;
+ }
+ }
+ return NULL;
+}
+
+void
+vc_external_diff(const gchar * src, const gchar * dest)
+{
+ gchar *argv[4] = { NULL, NULL, NULL, NULL };
+
+ const gchar *diff = get_external_diff_viewer();
+ if (!diff)
+ return;
+
+ argv[0] = (gchar *) diff;
+ argv[1] = (gchar *) src;
+ argv[2] = (gchar *) dest;
+
+ utils_spawn_sync(NULL, argv, NULL,
+ G_SPAWN_SEARCH_PATH | G_SPAWN_STDOUT_TO_DEV_NULL |
+ G_SPAWN_STDERR_TO_DEV_NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+}
Oops, something went wrong.

0 comments on commit f546dc4

Please sign in to comment.