SF.net SVN: geany-plugins:[920] trunk/geanyvc
frlan at users.sourceforge.net
frlan at xxxxx
Mon Sep 7 19:01:24 UTC 2009
Revision: 920
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=920&view=rev
Author: frlan
Date: 2009-09-07 19:01:24 +0000 (Mon, 07 Sep 2009)
Log Message:
-----------
Remove geanyVC as single project from repository as it will be developed from inside geany-plugins combined project
Removed Paths:
-------------
trunk/geanyvc/.gitignore
trunk/geanyvc/COPYING
trunk/geanyvc/ChangeLog
trunk/geanyvc/INSTALL
trunk/geanyvc/Makefile.am
trunk/geanyvc/README
trunk/geanyvc/THANKS
trunk/geanyvc/TODO
trunk/geanyvc/autogen.sh
trunk/geanyvc/commit.glade
trunk/geanyvc/configure.in
trunk/geanyvc/depcomp
trunk/geanyvc/dist/.gitignore
trunk/geanyvc/dist/PKGBUILD.in
trunk/geanyvc/dist/ebuild.in
trunk/geanyvc/dist/geninst.sh
trunk/geanyvc/dist/setup.nsi.in
trunk/geanyvc/externdiff.c
trunk/geanyvc/geanyvc.c
trunk/geanyvc/geanyvc.h
trunk/geanyvc/indent-all.sh
trunk/geanyvc/install-sh
trunk/geanyvc/makefile.win32
trunk/geanyvc/missing
trunk/geanyvc/po/.gitignore
trunk/geanyvc/po/ChangeLog
trunk/geanyvc/po/LINGUAS
trunk/geanyvc/po/POTFILES.in
trunk/geanyvc/po/POTFILES.skip
trunk/geanyvc/po/de.po
trunk/geanyvc/tests/Makefile.am
trunk/geanyvc/tests/unittests.c
trunk/geanyvc/update_web.sh
trunk/geanyvc/utils.c
trunk/geanyvc/vc_bzr.c
trunk/geanyvc/vc_cvs.c
trunk/geanyvc/vc_git.c
trunk/geanyvc/vc_hg.c
trunk/geanyvc/vc_svk.c
trunk/geanyvc/vc_svn.c
Deleted: trunk/geanyvc/.gitignore
===================================================================
--- trunk/geanyvc/.gitignore 2009-09-07 19:00:22 UTC (rev 919)
+++ trunk/geanyvc/.gitignore 2009-09-07 19:01:24 UTC (rev 920)
@@ -1,22 +0,0 @@
-autom4te.cache
-Makefile
-Makefile.in
-aclocal.m4
-config.log
-config.status
-config.guess
-config.sub
-configure
-.deps
-.libs
-*.o
-*.la
-*.lo
-libtool
-*.tar.gz
-stamp-h1
-config.h
-config.h.in
-intltool-*
-mkinstalldirs
-ltmain.sh
Deleted: trunk/geanyvc/COPYING
===================================================================
--- trunk/geanyvc/COPYING 2009-09-07 19:00:22 UTC (rev 919)
+++ trunk/geanyvc/COPYING 2009-09-07 19:01:24 UTC (rev 920)
@@ -1,340 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- 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 St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
Deleted: trunk/geanyvc/INSTALL
===================================================================
--- trunk/geanyvc/INSTALL 2009-09-07 19:00:22 UTC (rev 919)
+++ trunk/geanyvc/INSTALL 2009-09-07 19:01:24 UTC (rev 920)
@@ -1,13 +0,0 @@
-These installation instructions are written for a GNU/Linux system.
-
-At the time of this writing, building the plugin requires a recent SVN geany (r2411+)
-installed.
-
- % configure
- % make
- % make install
-
-There is no "make uninstall" target, so if you want to remove the plugin,
-just delete the "geanyvc.so" from geany plugins directory (usually: /usr/lib/geany).
-
-
Deleted: trunk/geanyvc/Makefile.am
===================================================================
--- trunk/geanyvc/Makefile.am 2009-09-07 19:00:22 UTC (rev 919)
+++ trunk/geanyvc/Makefile.am 2009-09-07 19:01:24 UTC (rev 920)
@@ -1,23 +0,0 @@
-## Makefile.am -- Process this file with automake to produce Makefile.in
-SUBDIRS = po tests
-
-EXTRA_DIST = \
- autogen.sh \
- makefile.win32 \
- intltool-extract.in \
- intltool-merge.in \
- intltool-update.in \
- indent-all.sh \
- THANKS \
- commit.glade
-
-dist_noinst_SCRIPTS = indent-all.sh
-
-noinst_HEADERS = geanyvc.h
-
-lib_LTLIBRARIES = geanyvc.la
-geanyvc_la_SOURCES = geanyvc.c externdiff.c utils.c vc_git.c vc_cvs.c vc_svn.c vc_svk.c vc_bzr.c vc_hg.c
-geanyvc_la_LDFLAGS = -module -avoid-version
-geanyvc_la_LIBADD = @GEANY_LIBS@
-
-AM_CPPFLAGS = @GEANY_CFLAGS@ -DGEANY_DISABLE_DEPRECATED -DLOCALEDIR=\""$(localedir)"\"
Deleted: trunk/geanyvc/README
===================================================================
--- trunk/geanyvc/README 2009-09-07 19:00:22 UTC (rev 919)
+++ trunk/geanyvc/README 2009-09-07 19:01:24 UTC (rev 920)
@@ -1,199 +0,0 @@
-.. |(version)| replace:: 0.6
-
-=======
-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.6 http://users.cosmostv.by/yurand/geanyvc/geanyvc-0.6.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.5 http://users.cosmostv.by/yurand/geanyvc/geanyvc-0.5.tar.gz
-
-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.5_setup.exe
-
---
-2007-2008 by Yura Siamashka and Frank Lanitz
-yurand2(at)gmail(dot)com
-frank(at)frank(dot)uvena(dot)de
Deleted: trunk/geanyvc/THANKS
===================================================================
--- trunk/geanyvc/THANKS 2009-09-07 19:00:22 UTC (rev 919)
+++ trunk/geanyvc/THANKS 2009-09-07 19:01:24 UTC (rev 920)
@@ -1,15 +0,0 @@
-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
Deleted: trunk/geanyvc/TODO
===================================================================
--- trunk/geanyvc/TODO 2009-09-07 19:00:22 UTC (rev 919)
+++ trunk/geanyvc/TODO 2009-09-07 19:01:24 UTC (rev 920)
@@ -1,11 +0,0 @@
-* 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)
Deleted: trunk/geanyvc/autogen.sh
===================================================================
--- trunk/geanyvc/autogen.sh 2009-09-07 19:00:22 UTC (rev 919)
+++ trunk/geanyvc/autogen.sh 2009-09-07 19:01:24 UTC (rev 920)
@@ -1,159 +0,0 @@
-#!/bin/sh
-# Run this to generate all the initial makefiles, etc.
-
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-
-DIE=0
-
-if [ -n "$GNOME2_DIR" ]; then
- ACLOCAL_FLAGS="-I $GNOME2_DIR/share/aclocal $ACLOCAL_FLAGS"
- LD_LIBRARY_PATH="$GNOME2_DIR/lib:$LD_LIBRARY_PATH"
- PATH="$GNOME2_DIR/bin:$PATH"
- export PATH
- export LD_LIBRARY_PATH
-fi
-
-(test -f $srcdir/configure.in) || {
- echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
- echo " top-level package directory"
- exit 1
-}
-
-(autoconf --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: You must have \`autoconf' installed."
- echo "Download the appropriate package for your distribution,"
- echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
- DIE=1
-}
-
-(grep "^AC_PROG_INTLTOOL" $srcdir/configure.in >/dev/null) && {
- (intltoolize --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: You must have \`intltool' installed."
- echo "You can get it from:"
- echo " ftp://ftp.gnome.org/pub/GNOME/"
- DIE=1
- }
-}
-
-(grep "^AM_PROG_XML_I18N_TOOLS" $srcdir/configure.in >/dev/null) && {
- (xml-i18n-toolize --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: You must have \`xml-i18n-toolize' installed."
- echo "You can get it from:"
- echo " ftp://ftp.gnome.org/pub/GNOME/"
- DIE=1
- }
-}
-
-(grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && {
- (libtool --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: You must have \`libtool' installed."
- echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/"
- DIE=1
- }
-}
-
-(grep "^AM_GLIB_GNU_GETTEXT" $srcdir/configure.in >/dev/null) && {
- (grep "sed.*POTFILES" $srcdir/configure.in) > /dev/null || \
- (glib-gettextize --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: You must have \`glib' installed."
- echo "You can get it from: ftp://ftp.gtk.org/pub/gtk"
- DIE=1
- }
-}
-
-(automake --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: You must have \`automake' installed."
- echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/"
- DIE=1
- NO_AUTOMAKE=yes
-}
-
-
-# if no automake, don't bother testing for aclocal
-test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: Missing \`aclocal'. The version of \`automake'"
- echo "installed doesn't appear recent enough."
- echo "You can get automake from ftp://ftp.gnu.org/pub/gnu/"
- DIE=1
-}
-
-if test "$DIE" -eq 1; then
- exit 1
-fi
-
-if test -z "$*"; then
- echo "**Warning**: I am going to run \`configure' with no arguments."
- echo "If you wish to pass any to it, please specify them on the"
- echo \`$0\'" command line."
- echo
-fi
-
-case $CC in
-xlc )
- am_opt=--include-deps;;
-esac
-
-for coin in `find $srcdir -path $srcdir/CVS -prune -o -name configure.in -print`
-do
- dr=`dirname $coin`
- if test -f $dr/NO-AUTO-GEN; then
- echo skipping $dr -- flagged as no auto-gen
- else
- echo processing $dr
- ( cd $dr
-
- aclocalinclude="$ACLOCAL_FLAGS"
-
- if grep "^AM_GLIB_GNU_GETTEXT" configure.in >/dev/null; then
- echo "Creating $dr/aclocal.m4 ..."
- test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
- echo "Running glib-gettextize... Ignore non-fatal messages."
- echo "no" | glib-gettextize --force --copy
- echo "Making $dr/aclocal.m4 writable ..."
- test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
- fi
- if grep "^AC_PROG_INTLTOOL" configure.in >/dev/null; then
- echo "Running intltoolize..."
- intltoolize --copy --force --automake
- fi
- if grep "^AM_PROG_XML_I18N_TOOLS" configure.in >/dev/null; then
- echo "Running xml-i18n-toolize..."
- xml-i18n-toolize --copy --force --automake
- fi
- if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then
- if test -z "$NO_LIBTOOLIZE" ; then
- echo "Running libtoolize..."
- libtoolize --force --copy
- fi
- fi
- echo "Running aclocal $aclocalinclude ..."
- aclocal $aclocalinclude
- if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then
- echo "Running autoheader..."
- autoheader
- fi
- echo "Running automake --gnu $am_opt ..."
- automake --add-missing --gnu $am_opt
- echo "Running autoconf ..."
- autoconf
- )
- fi
-done
-
-conf_flags="--enable-maintainer-mode"
-
-if test x$NOCONFIGURE = x; then
- echo Running $srcdir/configure $conf_flags "$@" ...
- $srcdir/configure $conf_flags "$@" \
- && echo Now type \`make\' to compile. || exit 1
-else
- echo Skipping configure process.
-fi
Deleted: trunk/geanyvc/commit.glade
===================================================================
--- trunk/geanyvc/commit.glade 2009-09-07 19:00:22 UTC (rev 919)
+++ trunk/geanyvc/commit.glade 2009-09-07 19:01:24 UTC (rev 920)
@@ -1,168 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.2.2 on Thu Nov 29 23:29:48 2007 by yura at localhost-->
-<glade-interface>
- <widget class="GtkDialog" id="commitDialog">
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="border_width">5</property>
- <property name="title" translatable="yes">Commit</property>
- <property name="modal">True</property>
- <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
- <property name="destroy_with_parent">True</property>
- <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
- <property name="has_separator">False</property>
- <child internal-child="vbox">
- <widget class="GtkVBox" id="dialog-vbox1">
- <property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="spacing">2</property>
- <child>
- <widget class="GtkVPaned" id="vpaned1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <child>
- <widget class="GtkTreeView" id="treeSelect">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="headers_clickable">True</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="resize">False</property>
- <property name="shrink">True</property>
- </packing>
- </child>
- <child>
- <widget class="GtkVPaned" id="vpaned2">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow2">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <child>
- <widget class="GtkTextView" id="textDiff">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="editable">False</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="resize">True</property>
- <property name="shrink">True</property>
- </packing>
- </child>
- <child>
- <widget class="GtkFrame" id="frame1">
- <property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
- <child>
- <widget class="GtkAlignment" id="alignment1">
- <property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="left_padding">12</property>
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow3">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <child>
- <widget class="GtkTextView" id="textCommitMessage">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- </widget>
- </child>
- </widget>
- </child>
- </widget>
- </child>
- <child>
- <widget class="GtkLabel" id="label1">
- <property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes"><b>Commit message:</b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="resize">True</property>
- <property name="shrink">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="resize">True</property>
- <property name="shrink">True</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- <child internal-child="action_area">
- <widget class="GtkHButtonBox" id="dialog-action_area1">
- <property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="layout_style">GTK_BUTTONBOX_END</property>
- <child>
- <widget class="GtkButton" id="btnCancel">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">gtk-cancel</property>
- <property name="use_stock">True</property>
- <property name="response_id">-6</property>
- </widget>
- </child>
- <child>
- <widget class="GtkButton" id="btnCommit">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">_Commit</property>
- <property name="response_id">-10</property>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="pack_type">GTK_PACK_END</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
-</glade-interface>
Deleted: trunk/geanyvc/configure.in
===================================================================
--- trunk/geanyvc/configure.in 2009-09-07 19:00:22 UTC (rev 919)
+++ trunk/geanyvc/configure.in 2009-09-07 19:01:24 UTC (rev 920)
@@ -1,94 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-
-AC_INIT([geanyvc], [0.6], [yurand2 at gmail.com])
-AM_INIT_AUTOMAKE([1.9 foreign])
-
-AM_CONFIG_HEADER(config.h)
-
-AC_PROG_CC
-
-AC_DISABLE_STATIC
-AM_PROG_LIBTOOL
-LIBTOOL="$LIBTOOL --silent"
-
-AC_PROG_INSTALL
-AC_PROG_INTLTOOL
-
-
-# checking for Geany
-PKG_CHECK_MODULES(GEANY, [geany >= 0.18])
-AC_SUBST(GTK_CFLAGS)
-AC_SUBST(GTK_LIBS)
-
-GEANY_VERSION=`$PKG_CONFIG --modversion geany`
-GTK_VERSION=`$PKG_CONFIG --modversion gtk+-2.0`
-
-
-dnl Check for GtkSpell support
-AC_MSG_CHECKING([whether to use GtkSpell])
-AC_ARG_ENABLE(gtkspell,
- [ --disable-gtkspell Do not use GtkSpell in editor],
- [ac_cv_enable_gtkspell=$enableval], [ac_cv_enable_gtkspell=yes])
-if test "$ac_cv_enable_gtkspell" = yes; then
- AC_MSG_RESULT(yes)
- AC_MSG_CHECKING([whether GtkSpell is available])
- if $PKG_CONFIG gtkspell-2.0 ; then
- AC_MSG_RESULT(yes)
- CFLAGS="$CFLAGS `$PKG_CONFIG --cflags gtkspell-2.0`"
- LIBS="$LIBS `$PKG_CONFIG --libs gtkspell-2.0`"
- AC_DEFINE(USE_GTKSPELL, 1, Use GtkSpell in editor)
- else
- AC_MSG_RESULT(no)
- ac_cv_enable_gtkspell=no
- fi
-else
- AC_MSG_RESULT(no)
-fi
-
-# i18n
-GETTEXT_PACKAGE=geanyvc
-AC_SUBST(GETTEXT_PACKAGE)
-AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])
-
-ALL_LINGUAS="`sed -e '/^#/d' $srcdir/po/LINGUAS`" # take all languages found in file po/LINGUAS
-
-AM_GLIB_GNU_GETTEXT
-# workaround for intltool bug (http://bugzilla.gnome.org/show_bug.cgi?id=490845)
-if test "x$MSGFMT" = "xno"; then
- AC_MSG_ERROR([msgfmt not found. Please install the gettext package.])
-fi
-
-# intltool hack to define install_sh on Debian/Ubuntu systems
-if test "x$install_sh" = "x"; then
- install_sh="`pwd`/install-sh"
- AC_SUBST(install_sh)
-fi
-
-# get the plugin installed at the correct location for Geany
-# TODO find a way to NOT override --libdir command line option if given
-libdir="`$PKG_CONFIG --variable=libdir geany`/geany"
-
-dnl unittests
-PKG_CHECK_MODULES([CHECK], [check >= 0.9.4], [
-AC_SUBST(CHECK_CFLAGS)
-AC_SUBST(CHECK_LIBS)
-AM_CONDITIONAL(UNITTESTS, true)
-], [
-AM_CONDITIONAL(UNITTESTS, false)
-])
-
-
-AC_OUTPUT([
-Makefile
-po/Makefile.in
-tests/Makefile
-])
-
-echo "----------------------------------------"
-echo "Install geanyvc in : ${libdir}"
-echo "Using Geany version : ${GEANY_VERSION}"
-echo "Using GTK version : ${GTK_VERSION}"
-echo "Building with GtkSpell support : ${ac_cv_enable_gtkspell}"
-echo ""
-echo "Configuration is done OK."
-echo ""
Deleted: trunk/geanyvc/depcomp
===================================================================
--- trunk/geanyvc/depcomp 2009-09-07 19:00:22 UTC (rev 919)
+++ trunk/geanyvc/depcomp 2009-09-07 19:01:24 UTC (rev 920)
@@ -1,584 +0,0 @@
-#! /bin/sh
-# depcomp - compile a program generating dependencies as side-effects
-
-scriptversion=2006-10-15.18
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software
-# Foundation, Inc.
-
-# 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, 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.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Alexandre Oliva <oliva at dcc.unicamp.br>.
-
-case $1 in
- '')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
- exit 1;
- ;;
- -h | --h*)
- cat <<\EOF
-Usage: depcomp [--help] [--version] PROGRAM [ARGS]
-
-Run PROGRAMS ARGS to compile a file, generating dependencies
-as side-effects.
-
-Environment variables:
- depmode Dependency tracking mode.
- source Source file read by `PROGRAMS ARGS'.
- object Object file output by `PROGRAMS ARGS'.
- DEPDIR directory where to store dependencies.
- depfile Dependency file to output.
- tmpdepfile Temporary file to use when outputing dependencies.
- libtool Whether libtool is used (yes/no).
-
-Report bugs to <bug-automake at gnu.org>.
-EOF
- exit $?
- ;;
- -v | --v*)
- echo "depcomp $scriptversion"
- exit $?
- ;;
-esac
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
- echo "depcomp: Variables source, object and depmode must be set" 1>&2
- exit 1
-fi
-
-# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
-depfile=${depfile-`echo "$object" |
- sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Some modes work just like other modes, but use different flags. We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write. Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-if test "$depmode" = hp; then
- # HP compiler uses -M and no extra arg.
- gccflag=-M
- depmode=gcc
-fi
-
-if test "$depmode" = dashXmstdout; then
- # This is just like dashmstdout with a different argument.
- dashmflag=-xM
- depmode=dashmstdout
-fi
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want. Yay! Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff. Hmm.
-## Unfortunately, FreeBSD c89 acceptance of flags depends upon
-## the command line argument order; so add the flags where they
-## appear in depend2.am. Note that the slowdown incurred here
-## affects only configure: in makefiles, %FASTDEP% shortcuts this.
- for arg
- do
- case $arg in
- -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
- *) set fnord "$@" "$arg" ;;
- esac
- shift # fnord
- shift # $arg
- done
- "$@"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- mv "$tmpdepfile" "$depfile"
- ;;
-
-gcc)
-## There are various ways to get dependency output from gcc. Here's
-## why we pick this rather obscure method:
-## - Don't want to use -MD because we'd like the dependencies to end
-## up in a subdir. Having to rename by hand is ugly.
-## (We might end up doing this anyway to support other compilers.)
-## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-## -MM, not -M (despite what the docs say).
-## - Using -M directly means running the compiler twice (even worse
-## than renaming).
- if test -z "$gccflag"; then
- gccflag=-MD,
- fi
- "$@" -Wp,"$gccflag$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
- sed -e 's/^[^:]*: / /' \
- -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
-## The problem is that when a header file which appears in a .P file
-## is deleted, the dependency causes make to die (because there is
-## typically no way to rebuild the header). We avoid this by adding
-## dummy dependencies for each header file. Too bad gcc doesn't do
-## this for us directly.
- tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'. On the theory
-## that the space means something, we add a space to the output as
-## well.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-hp)
- # This case exists only to let depend.m4 do its work. It works by
- # looking at the text of this script. This case will never be run,
- # since it is checked for above.
- exit 1
- ;;
-
-sgi)
- if test "$libtool" = yes; then
- "$@" "-Wp,-MDupdate,$tmpdepfile"
- else
- "$@" -MDupdate "$tmpdepfile"
- fi
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
-
- if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
- echo "$object : \\" > "$depfile"
-
- # Clip off the initial element (the dependent). Don't try to be
- # clever and replace this with sed code, as IRIX sed won't handle
- # lines with more than a fixed number of characters (4096 in
- # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
- # the IRIX cc adds comments like `#:fec' to the end of the
- # dependency line.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
- tr '
-' ' ' >> $depfile
- echo >> $depfile
-
- # The second pass generates a dummy entry for each header file.
- tr ' ' '
-' < "$tmpdepfile" \
- | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
- >> $depfile
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-aix)
- # The C for AIX Compiler uses -M and outputs the dependencies
- # in a .u file. In older versions, this file always lives in the
- # current directory. Also, the AIX compiler puts `$object:' at the
- # start of each line; $object doesn't have directory information.
- # Version 6 uses the directory in both cases.
- stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
- tmpdepfile="$stripped.u"
- if test "$libtool" = yes; then
- "$@" -Wc,-M
- else
- "$@" -M
- fi
- stat=$?
-
- if test -f "$tmpdepfile"; then :
- else
- stripped=`echo "$stripped" | sed 's,^.*/,,'`
- tmpdepfile="$stripped.u"
- fi
-
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
-
- if test -f "$tmpdepfile"; then
- outname="$stripped.o"
- # Each line is of the form `foo.o: dependent.h'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
- sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
- else
- # The sourcefile does not contain any dependencies, so just
- # store a dummy comment line, to avoid errors with the Makefile
- # "include basename.Plo" scheme.
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-icc)
- # Intel's C compiler understands `-MD -MF file'. However on
- # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
- # ICC 7.0 will fill foo.d with something like
- # foo.o: sub/foo.c
- # foo.o: sub/foo.h
- # which is wrong. We want:
- # sub/foo.o: sub/foo.c
- # sub/foo.o: sub/foo.h
- # sub/foo.c:
- # sub/foo.h:
- # ICC 7.1 will output
- # foo.o: sub/foo.c sub/foo.h
- # and will wrap long lines using \ :
- # foo.o: sub/foo.c ... \
- # sub/foo.h ... \
- # ...
-
- "$@" -MD -MF "$tmpdepfile"
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile"
- exit $stat
- fi
- rm -f "$depfile"
- # Each line is of the form `foo.o: dependent.h',
- # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
- # Do two passes, one to just change these to
- # `$object: dependent.h' and one to simply `dependent.h:'.
- sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
- # Some versions of the HPUX 10.20 sed can't process this invocation
- # correctly. Breaking it into two sed invocations is a workaround.
- sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
- sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-hp2)
- # The "hp" stanza above does not work with aCC (C++) and HP's ia64
- # compilers, which have integrated preprocessors. The correct option
- # to use with these is +Maked; it writes dependencies to a file named
- # 'foo.d', which lands next to the object file, wherever that
- # happens to be.
- # Much of this is similar to the tru64 case; see comments there.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
- if test "$libtool" = yes; then
- tmpdepfile1=$dir$base.d
- tmpdepfile2=$dir.libs/$base.d
- "$@" -Wc,+Maked
- else
- tmpdepfile1=$dir$base.d
- tmpdepfile2=$dir$base.d
- "$@" +Maked
- fi
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2"
- exit $stat
- fi
-
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
- do
- test -f "$tmpdepfile" && break
- done
- if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
- # Add `dependent.h:' lines.
- sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
- else
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile" "$tmpdepfile2"
- ;;
-
-tru64)
- # The Tru64 compiler uses -MD to generate dependencies as a side
- # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
- # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
- # dependencies in `foo.d' instead, so we check for that too.
- # Subdirectories are respected.
- dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
- test "x$dir" = "x$object" && dir=
- base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
- if test "$libtool" = yes; then
- # With Tru64 cc, shared objects can also be used to make a
- # static library. This mechanism is used in libtool 1.4 series to
- # handle both shared and static libraries in a single compilation.
- # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
- #
- # With libtool 1.5 this exception was removed, and libtool now
- # generates 2 separate objects for the 2 libraries. These two
- # compilations output dependencies in $dir.libs/$base.o.d and
- # in $dir$base.o.d. We have to check for both files, because
- # one of the two compilations can be disabled. We should prefer
- # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
- # automatically cleaned when .libs/ is deleted, while ignoring
- # the former would cause a distcleancheck panic.
- tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
- tmpdepfile2=$dir$base.o.d # libtool 1.5
- tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
- tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
- "$@" -Wc,-MD
- else
- tmpdepfile1=$dir$base.o.d
- tmpdepfile2=$dir$base.d
- tmpdepfile3=$dir$base.d
- tmpdepfile4=$dir$base.d
- "$@" -MD
- fi
-
- stat=$?
- if test $stat -eq 0; then :
- else
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- exit $stat
- fi
-
- for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
- do
- test -f "$tmpdepfile" && break
- done
- if test -f "$tmpdepfile"; then
- sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
- # That's a tab and a space in the [].
- sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
- else
- echo "#dummy" > "$depfile"
- fi
- rm -f "$tmpdepfile"
- ;;
-
-#nosideeffect)
- # This comment above is used by automake to tell side-effect
- # dependency tracking mechanisms from slower ones.
-
-dashmstdout)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout, regardless of -o.
- "$@" || exit $?
-
- # Remove the call to Libtool.
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
-
- # Remove `-o $object'.
- IFS=" "
- for arg
- do
- case $arg in
- -o)
- shift
- ;;
- $object)
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift # fnord
- shift # $arg
- ;;
- esac
- done
-
- test -z "$dashmflag" && dashmflag=-M
- # Require at least two characters before searching for `:'
- # in the target name. This is to cope with DOS-style filenames:
- # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
- "$@" $dashmflag |
- sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
- rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-dashXmstdout)
- # This case only exists to satisfy depend.m4. It is never actually
- # run, as this mode is specially recognized in the preamble.
- exit 1
- ;;
-
-makedepend)
- "$@" || exit $?
- # Remove any Libtool call
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
- # X makedepend
- shift
- cleared=no
- for arg in "$@"; do
- case $cleared in
- no)
- set ""; shift
- cleared=yes ;;
- esac
- case "$arg" in
- -D*|-I*)
- set fnord "$@" "$arg"; shift ;;
- # Strip any option that makedepend may not understand. Remove
- # the object too, otherwise makedepend will parse it as a source file.
- -*|$object)
- ;;
- *)
- set fnord "$@" "$arg"; shift ;;
- esac
- done
- obj_suffix="`echo $object | sed 's/^.*\././'`"
- touch "$tmpdepfile"
- ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
- rm -f "$depfile"
- cat < "$tmpdepfile" > "$depfile"
- sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile" "$tmpdepfile".bak
- ;;
-
-cpp)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout.
- "$@" || exit $?
-
- # Remove the call to Libtool.
- if test "$libtool" = yes; then
- while test $1 != '--mode=compile'; do
- shift
- done
- shift
- fi
-
- # Remove `-o $object'.
- IFS=" "
- for arg
- do
- case $arg in
- -o)
- shift
- ;;
- $object)
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift # fnord
- shift # $arg
- ;;
- esac
- done
-
- "$@" -E |
- sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
- -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
- sed '$ s: \\$::' > "$tmpdepfile"
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- cat < "$tmpdepfile" >> "$depfile"
- sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-msvisualcpp)
- # Important note: in order to support this mode, a compiler *must*
- # always write the preprocessed file to stdout, regardless of -o,
- # because we must use -o when running libtool.
- "$@" || exit $?
- IFS=" "
- for arg
- do
- case "$arg" in
- "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
- set fnord "$@"
- shift
- shift
- ;;
- *)
- set fnord "$@" "$arg"
- shift
- shift
- ;;
- esac
- done
- "$@" -E |
- sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
- rm -f "$depfile"
- echo "$object : \\" > "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
- echo " " >> "$depfile"
- . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
- rm -f "$tmpdepfile"
- ;;
-
-none)
- exec "$@"
- ;;
-
-*)
- echo "Unknown depmode $depmode" 1>&2
- exit 1
- ;;
-esac
-
-exit 0
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
Deleted: trunk/geanyvc/dist/.gitignore
===================================================================
--- trunk/geanyvc/dist/.gitignore 2009-09-07 19:00:22 UTC (rev 919)
+++ trunk/geanyvc/dist/.gitignore 2009-09-07 19:01:24 UTC (rev 920)
@@ -1,3 +0,0 @@
-PKGBUILD
-*.ebuild
-*.nsi
Deleted: trunk/geanyvc/dist/PKGBUILD.in
===================================================================
--- trunk/geanyvc/dist/PKGBUILD.in 2009-09-07 19:00:22 UTC (rev 919)
+++ trunk/geanyvc/dist/PKGBUILD.in 2009-09-07 19:01:24 UTC (rev 920)
@@ -1,22 +0,0 @@
-# Contributor: Yura Siamashka <yurand2 at gmail.com>
-pkgname=geanyvc
-pkgver=VERSION
-pkgrel=1
-pkgdesc="Version control systems plugin for Geany IDE"
-arch=(i686 x86_64)
-url="http://geany-plugins.sourceforge.net/geanyvc/"
-license=("GPL")
-depends=('geany>=0.16')
-makedepends=('intltool')
-conflicts=()
-replaces=()
-backup=()
-install=
-source=(http://users.cosmostv.by/yurand/$pkgname/$pkgname-$pkgver.tar.gz)
-
-build() {
- cd $startdir/src/$pkgname-$pkgver
- ./configure --prefix=/usr || return 1
- make || return 1
- make install DESTDIR=$startdir/pkg || return 1
-}
Deleted: trunk/geanyvc/dist/ebuild.in
===================================================================
--- trunk/geanyvc/dist/ebuild.in 2009-09-07 19:00:22 UTC (rev 919)
+++ trunk/geanyvc/dist/ebuild.in 2009-09-07 19:01:24 UTC (rev 920)
@@ -1,26 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-DESCRIPTION="Version control systems plugin for Geany IDE"
-HOMEPAGE="http://geany-plugins.sourceforge.net/geanyvc/"
-SRC_URI="http://users.cosmostv.by/yurand/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE=""
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND=">=dev-util/geany-0.16"
-
-DEPEND="${RDEPEND}"
-
-src_compile() {
- econf || die "econf failed."
- emake || die "emake failed."
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "emake install failed."
-}
-
Deleted: trunk/geanyvc/dist/geninst.sh
===================================================================
--- trunk/geanyvc/dist/geninst.sh 2009-09-07 19:00:22 UTC (rev 919)
+++ trunk/geanyvc/dist/geninst.sh 2009-09-07 19:01:24 UTC (rev 920)
@@ -1,21 +0,0 @@
-#!/bin/sh
-#
-# Generate PKGBUILD, spec and ebuild files
-#
-
-PKGNAME=`cat ../configure.in | awk '/AC_INIT/ {split($0, a, "["); v = a[2]; sub("\\\], ", "", v);print v;}'`
-VERSION=`cat ../configure.in | awk '/AC_INIT/ {split($0, a, "["); v = a[3]; sub("\\\], ", "", v);print v;}'`
-
-MD5SUM=`md5sum ../${PKGNAME}-${VERSION}.tar.gz | awk '// {print $1}'`
-
-if [ -f PKGBUILD.in ]; then
- awk -v md5=$MD5SUM -v ver=$VERSION '/VERSION/ {gsub("VERSION",ver,$0);} // {print} /^source=/ {printf("md5sums=(%s)\n", md5)}' < PKGBUILD.in > PKGBUILD
-fi
-
-if [ -f ebuild.in ]; then
- cp ebuild.in ${PKGNAME}-${VERSION}.ebuild
-fi
-
-if [ -f setup.nsi.in ]; then
- cat setup.nsi.in | sed s/VERSION/${VERSION}/g | sed s/PKGNAME/${PKGNAME}/g > ${PKGNAME}.nsi
-fi
Deleted: trunk/geanyvc/dist/setup.nsi.in
===================================================================
--- trunk/geanyvc/dist/setup.nsi.in 2009-09-07 19:00:22 UTC (rev 919)
+++ trunk/geanyvc/dist/setup.nsi.in 2009-09-07 19:01:24 UTC (rev 920)
@@ -1,43 +0,0 @@
-!include "StrFunc.nsh"
-
-${StrRep}
-
-; The name of the installer
-Name "PKGNAME"
-
-; The file to write
-OutFile "PKGNAME-VERSION_setup.exe"
-
-SetCompressor /SOLID lzma
-
-; Request application privileges for Windows Vista
-RequestExecutionLevel user
-
-LicenseData ../COPYING
-
-;;;;;;;;;;;;;;;;
-; Init code ;
-;;;;;;;;;;;;;;;;
-Function .onInit
- ReadRegStr $R0 "HKLM" "Software\Microsoft\Windows\CurrentVersion\Uninstall\Geany" "UninstallString"
- StrCmp $R0 "" warning
- ${StrRep} $INSTDIR $R0 "uninst.exe" "lib"
- goto done
- warning:
- MessageBox MB_OK|MB_ICONEXCLAMATION "You need install geany first."
- done:
-FunctionEnd
-
-
-; Pages
-Page license
-Page directory
-Page instfiles
-
-Section ""
- ; Set output path to the installation directory.
- SetOutPath $INSTDIR
-
- ; Put file there
- File ..\PKGNAME.dll
-SectionEnd
Deleted: trunk/geanyvc/externdiff.c
===================================================================
--- trunk/geanyvc/externdiff.c 2009-09-07 19:00:22 UTC (rev 919)
+++ trunk/geanyvc/externdiff.c 2009-09-07 19:01:24 UTC (rev 920)
@@ -1,76 +0,0 @@
-/*
- * externdiff.h - Plugin to geany light IDE to work with vc
- *
- * Copyright 2008 Yura Siamashka <yurand2 at 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 "geanyplugin.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);
-}
Deleted: trunk/geanyvc/geanyvc.c
===================================================================
--- trunk/geanyvc/geanyvc.c 2009-09-07 19:00:22 UTC (rev 919)
+++ trunk/geanyvc/geanyvc.c 2009-09-07 19:01:24 UTC (rev 920)
@@ -1,2285 +0,0 @@
-/*
- * geanyvc.c - Plugin to geany light IDE to work with vc
- *
- * Copyright 2007-2009 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
- * Copyright 2007-2009 Enrico Tröger <enrico.troeger at uvena.de>
- * Copyright 2007 Nick Treleaven <nick.treleaven at btinternet.com>
- * Copyright 2007-2009 Yura Siamashka <yurand2 at 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.
- */
-
-/* VC plugin */
-/* This plugin allow to works with cvs/svn/git inside geany light IDE. */
-
-#include <string.h>
-#include <glib.h>
-#include <glib/gstdio.h>
-#include <unistd.h>
-
-#ifdef HAVE_LOCALE_H
-# include <locale.h>
-#endif
-
-#include "geanyvc.h"
-#include "geanyplugin.h"
-#include "SciLexer.h"
-
-#include <config.h>
-
-#ifdef USE_GTKSPELL
-#include <gtkspell/gtkspell.h>
-#endif
-
-
-
-PluginFields *plugin_fields;
-GeanyData *geany_data;
-GeanyFunctions *geany_functions;
-
-PLUGIN_VERSION_CHECK(115);
-PLUGIN_SET_INFO(_("VC"), _("Interface to different Version Control systems."), VERSION,
- _("Yura Siamashka <yurand2 at gmail.com>,\nFrank Lanitz <frank at frank.uvena.de>"));
-
-/* Some global variables */
-static gboolean set_changed_flag;
-static gboolean set_add_confirmation;
-static gboolean set_maximize_commit_dialog;
-static gboolean set_external_diff;
-static gboolean set_editor_menu_entries;
-
-static gchar *config_file;
-
-static gboolean enable_cvs;
-static gboolean enable_git;
-static gboolean enable_svn;
-static gboolean enable_svk;
-static gboolean enable_bzr;
-static gboolean enable_hg;
-
-#ifdef USE_GTKSPELL
-static gchar *lang;
-#endif
-
-static GSList *VC = NULL;
-
-/* The addresses of these strings act as enums, their contents are not used. */
-/* absolute path dirname of file */
-const gchar ABS_DIRNAME[] = "*ABS_DIRNAME*";
-/* absolute path filename of file */
-const gchar ABS_FILENAME[] = "*ABS_FILENAME*";;
-
-/* path to directory from base vc directory */
-const gchar BASE_DIRNAME[] = "*BASE_DIRNAME*";
-/* path to file from base vc directory */
-const gchar BASE_FILENAME[] = "*BASE_FILENAME*";
-
-/* basename of file */
-const gchar BASENAME[] = "*BASENAME*";
-/* list with absolute file names*/
-const gchar FILE_LIST[] = "*FILE_LIST*";
-/* message */
-const gchar MESSAGE[] = "*MESSAGE*";
-
-
-/* this string is used when action require to run several commands */
-const gchar CMD_SEPARATOR[] = "*CMD-SEPARATOR*";
-const gchar CMD_FUNCTION[] = "*CUSTOM_FUNCTION*";
-
-/* commit status */
-const gchar FILE_STATUS_MODIFIED[] = "Modified";
-const gchar FILE_STATUS_ADDED[] = "Added";
-const gchar FILE_STATUS_DELETED[] = "Deleted";
-const gchar FILE_STATUS_UNKNOWN[] = "Unknown";
-
-static GtkWidget *editor_menu_vc = NULL;
-static GtkWidget *editor_menu_commit = NULL;
-static GtkWidget *menu_item_sep = NULL;
-
-static void registrate();
-static void add_menuitems_to_editor_menu();
-static void remove_menuitems_from_editor_menu();
-
-
-/* Doing some basic keybinding stuff */
-enum
-{
- VC_DIFF_FILE,
- VC_DIFF_DIR,
- VC_DIFF_BASEDIR,
- VC_COMMIT,
- VC_STATUS,
- VC_UPDATE,
- VC_REVERT_FILE,
- VC_REVERT_DIR,
- VC_REVERT_BASEDIR,
- COUNT_KB
-};
-
-PLUGIN_KEY_GROUP(geanyvc, COUNT_KB)
- GSList *get_commit_files_null(G_GNUC_UNUSED const gchar * dir)
-{
- return NULL;
-}
-
-static void
-free_text_list(GSList * lst)
-{
- GSList *tmp;
- if (!lst)
- return;
- for (tmp = lst; tmp != NULL; tmp = g_slist_next(tmp))
- {
- g_free((CommitItem *) (tmp->data));
- }
- g_slist_free(lst);
-}
-
-static void
-free_commit_list(GSList * lst)
-{
- GSList *tmp;
- if (!lst)
- return;
- for (tmp = lst; tmp != NULL; tmp = g_slist_next(tmp))
- {
- g_free(((CommitItem *) (tmp->data))->path);
- g_free((CommitItem *) (tmp->data));
- }
- g_slist_free(lst);
-}
-
-gchar *
-find_subdir_path(const gchar * filename, const gchar * subdir)
-{
- gboolean ret = FALSE;
- gchar *base;
- gchar *gitdir;
- gchar *base_prev = g_strdup(":");
-
- if (g_file_test(filename, G_FILE_TEST_IS_DIR))
- base = g_strdup(filename);
- else
- base = g_path_get_dirname(filename);
-
- while (strcmp(base, base_prev) != 0)
- {
- gitdir = g_build_filename(base, subdir, NULL);
- ret = g_file_test(gitdir, G_FILE_TEST_IS_DIR);
- g_free(gitdir);
- if (ret)
- break;
- g_free(base_prev);
- base_prev = base;
- base = g_path_get_dirname(base);
- }
-
- g_free(base_prev);
- if (ret)
- return base;
- g_free(base);
- return NULL;
-}
-
-static gboolean
-find_subdir(const gchar * filename, const gchar * subdir)
-{
- gchar *basedir;
- basedir = find_subdir_path(filename, subdir);
- if (basedir)
- {
- g_free(basedir);
- return TRUE;
- }
- return FALSE;
-}
-
-gboolean
-find_dir(const gchar * filename, const char *find, gboolean recursive)
-{
- gboolean ret;
- gchar *base;
- gchar *dir;
-
- if (!filename)
- return FALSE;
-
- if (recursive)
- {
- ret = find_subdir(filename, find);
- }
- else
- {
- if (g_file_test(filename, G_FILE_TEST_IS_DIR))
- base = g_strdup(filename);
- else
- base = g_path_get_dirname(filename);
- dir = g_build_filename(base, find, NULL);
-
- ret = g_file_test(dir, G_FILE_TEST_IS_DIR);
-
- g_free(base);
- g_free(dir);
- }
- return ret;
-}
-
-
-static const VC_RECORD *
-find_vc(const char *filename)
-{
- GSList *tmp;
-
- for (tmp = VC; tmp != NULL; tmp = g_slist_next(tmp))
- {
- if (((VC_RECORD *) tmp->data)->in_vc(filename))
- {
- return (VC_RECORD *) tmp->data;
- }
- }
- return NULL;
-}
-
-static void *
-find_cmd_env(gint cmd_type, gboolean cmd, const gchar * filename)
-{
- const VC_RECORD *vc;
- vc = find_vc(filename);
- if (vc)
- {
- if (cmd)
- return vc->commands[cmd_type].command;
- else
- return vc->commands[cmd_type].env;
- }
- return NULL;
-}
-
-/* Get list of commands for given command spec*/
-static GSList *
-get_cmd(const gchar ** argv, const gchar * dir, const gchar * filename, GSList * filelist,
- const gchar * message)
-{
- gint i, j;
- gint len = 0;
- gchar **ret;
- gchar *abs_dir;
- gchar *base_filename;
- gchar *base_dirname;
- gchar *basename;
- GSList *head = NULL;
- GSList *tmp;
- GString *repl;
-
- if (g_file_test(filename, G_FILE_TEST_IS_DIR))
- abs_dir = g_strdup(filename);
- else
- abs_dir = g_path_get_dirname(filename);
- basename = g_path_get_basename(filename);
- base_filename = get_relative_path(dir, filename);
- base_dirname = get_relative_path(dir, abs_dir);
-
- while (1)
- {
- if (argv[len] == NULL)
- break;
- len++;
- }
- if (filelist)
- ret = g_malloc0(sizeof(gchar *) * (len * g_slist_length(filelist) + 1));
- else
- ret = g_malloc0(sizeof(gchar *) * (len + 1));
-
- head = g_slist_alloc();
- head->data = ret;
-
- for (i = 0, j = 0; i < len; i++, j++)
- {
- if (argv[i] == CMD_SEPARATOR)
- {
- if (filelist)
- ret = g_malloc0(sizeof(gchar *) *
- (len * g_slist_length(filelist) + 1));
- else
- ret = g_malloc0(sizeof(gchar *) * (len + 1));
- j = -1;
- head = g_slist_append(head, ret);
- }
- else if (argv[i] == ABS_DIRNAME)
- {
- ret[j] = utils_get_locale_from_utf8(abs_dir);
- }
- else if (argv[i] == ABS_FILENAME)
- {
- ret[j] = utils_get_locale_from_utf8(filename);
- }
- else if (argv[i] == BASE_DIRNAME)
- {
- ret[j] = utils_get_locale_from_utf8(base_dirname);
- }
- else if (argv[i] == BASE_FILENAME)
- {
- ret[j] = utils_get_locale_from_utf8(base_filename);
- }
- else if (argv[i] == BASENAME)
- {
- ret[j] = utils_get_locale_from_utf8(basename);
- }
- else if (argv[i] == FILE_LIST)
- {
- for (tmp = filelist; tmp != NULL; tmp = g_slist_next(tmp))
- {
- ret[j] = utils_get_locale_from_utf8((gchar *) tmp->data);
- j++;
- }
- j--;
- }
- else if (argv[i] == MESSAGE)
- {
- ret[j] = utils_get_locale_from_utf8(message);
- }
- else
- {
- repl = g_string_new(argv[i]);
- utils_string_replace_all(repl, P_ABS_DIRNAME, abs_dir);
- utils_string_replace_all(repl, P_ABS_FILENAME, filename);
- utils_string_replace_all(repl, P_BASENAME, basename);
- ret[j] = g_string_free(repl, FALSE);
- setptr(ret[j], utils_get_locale_from_utf8(ret[j]));
- }
- }
- g_free(abs_dir);
- g_free(base_dirname);
- g_free(base_filename);
- g_free(basename);
- return head;
-}
-
-
-/* name should be in UTF-8, and can have a path. */
-static void
-show_output(const gchar * std_output, const gchar * name,
- const gchar * force_encoding, GeanyFiletype * ftype)
-{
- gint page;
- GtkNotebook *book;
- GeanyDocument *doc, *cur_doc;
-
- if (std_output)
- {
- cur_doc = document_get_current();
- doc = document_find_by_filename(name);
- if (doc == NULL)
- {
- doc = document_new_file(name, ftype, std_output);
- }
- else
- {
- sci_set_text(doc->editor->sci, std_output);
- if (ftype)
- document_set_filetype(doc, ftype);
- book = GTK_NOTEBOOK(geany->main_widgets->notebook);
- page = gtk_notebook_page_num(book, GTK_WIDGET(doc->editor->sci));
- gtk_notebook_set_current_page(book, page);
- }
- document_set_text_changed(doc, set_changed_flag);
- document_set_encoding(doc, (force_encoding ? force_encoding : "UTF-8"));
- navqueue_goto_line(cur_doc, doc, 1);
- }
- else
- {
- ui_set_statusbar(FALSE, _("Could not parse the output of command"));
- }
-}
-
-/*
- * Execute command by command spec, return std_out std_err
- *
- * @dir - start directory of command
- * @argv - command spec
- * @env - envirounment
- * @std_out - if not NULL here will be returned standard output converted to utf8 of last command in spec
- * @std_err - if not NULL here will be returned standard error converted to utf8 of last command in spec
- * @filename - filename for spec, commands will be running in it's basedir . Used to replace FILENAME, BASE_FILENAME in spec
- * @list - used to replace FILE_LIST in spec
- * @message - used to replace MESSAGE in spec
- *
- * @return - exit code of last command in spec
- */
-gint
-execute_custom_command(const gchar * dir, const gchar ** argv, const gchar ** env, gchar ** std_out,
- gchar ** std_err, const gchar * filename, GSList * list,
- const gchar * message)
-{
- gint exit_code;
- GString *tmp;
- GSList *cur;
- GSList *largv = get_cmd(argv, dir, filename, list, message);
- GError *error = NULL;
-
- if (std_out)
- *std_out = NULL;
- if (std_err)
- *std_err = NULL;
-
- if (!largv)
- {
- return 0;
- }
- for (cur = largv; cur != NULL; cur = g_slist_next(cur))
- {
- argv = cur->data;
- if (cur != g_slist_last(largv))
- {
- utils_spawn_sync(dir, cur->data, (gchar **) env,
- G_SPAWN_SEARCH_PATH | G_SPAWN_STDOUT_TO_DEV_NULL |
- G_SPAWN_STDERR_TO_DEV_NULL, NULL, NULL, NULL, NULL,
- &exit_code, &error);
- }
- else
- {
- utils_spawn_sync(dir, cur->data, (gchar **) env,
- G_SPAWN_SEARCH_PATH | (std_out ? 0 :
- G_SPAWN_STDOUT_TO_DEV_NULL) |
- (std_err ? 0 : G_SPAWN_STDERR_TO_DEV_NULL), NULL, NULL,
- std_out, std_err, &exit_code, &error);
- }
- if (error)
- {
- g_warning("geanyvc: s_spawn_sync error: %s", error->message);
- ui_set_statusbar(FALSE, _("geanyvc: s_spawn_sync error: %s"),
- error->message);
- g_error_free(error);
- }
-
- // need to convert output text from the encoding of the original file into
- // UTF-8 because internally Geany always needs UTF-8
- if (std_out && *std_out)
- {
- tmp = g_string_new(*std_out);
- utils_string_replace_all(tmp, "\r\n", "\n");
- utils_string_replace_all(tmp, "\r", "\n");
- setptr(*std_out, g_string_free(tmp, FALSE));
-
- if (!g_utf8_validate(*std_out, -1, NULL))
- {
- setptr(*std_out, encodings_convert_to_utf8(*std_out,
- strlen(*std_out), NULL));
- }
- if (!NZV(*std_out))
- {
- g_free(*std_out);
- *std_out = NULL;
- }
- }
- if (std_err && *std_err)
- {
- tmp = g_string_new(*std_err);
- utils_string_replace_all(tmp, "\r\n", "\n");
- utils_string_replace_all(tmp, "\r", "\n");
- setptr(*std_err, g_string_free(tmp, FALSE));
-
- if (!g_utf8_validate(*std_err, -1, NULL))
- {
- setptr(*std_err, encodings_convert_to_utf8(*std_err,
- strlen(*std_err), NULL));
- }
- if (!NZV(*std_err))
- {
- g_free(*std_err);
- *std_err = NULL;
- }
- }
- g_strfreev(cur->data);
- }
- g_slist_free(largv);
- return exit_code;
-}
-
-static gint
-execute_command(const VC_RECORD * vc, gchar ** std_out, gchar ** std_err, const gchar * filename,
- gint cmd, GSList * list, const gchar * message)
-{
- gchar *dir;
- gint ret;
-
- if (std_out)
- *std_out = NULL;
- if (std_err)
- *std_err = NULL;
-
- if (vc->commands[cmd].function)
- {
- return vc->commands[cmd].function(std_out, std_err, filename, list, message);
- }
-
- if (vc->commands[cmd].startdir == VC_COMMAND_STARTDIR_FILE)
- {
- if (g_file_test(filename, G_FILE_TEST_IS_DIR))
- dir = g_strdup(filename);
- else
- dir = g_path_get_dirname(filename);
- }
- else if (vc->commands[cmd].startdir == VC_COMMAND_STARTDIR_BASE)
- {
- dir = vc->get_base_dir(filename);
- }
- else
- {
- g_warning("geanyvc: unknown startdir type: %d", vc->commands[cmd].startdir);
- }
-
- ret = execute_custom_command(dir, vc->commands[cmd].command, vc->commands[cmd].env, std_out,
- std_err, filename, list, message);
- g_free(dir);
- return ret;
-}
-
-/* Callback if menu item for a single file was activated */
-static void
-vcdiff_file_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gdata)
-{
- gchar *text = NULL;
- gchar *new, *old;
- gchar *name;
- gchar *localename;
- const VC_RECORD *vc;
- GeanyDocument *doc;
-
- doc = document_get_current();
- g_return_if_fail(doc != NULL && doc->file_name != NULL);
-
- if (doc->changed)
- {
- document_save_file(doc, FALSE);
- }
-
- vc = find_vc(doc->file_name);
- g_return_if_fail(vc);
-
- execute_command(vc, &text, NULL, doc->file_name, VC_COMMAND_DIFF_FILE, NULL, NULL);
- if (text)
- {
- if (set_external_diff && get_external_diff_viewer())
- {
- g_free(text);
-
- /* 1) rename file to file.geany.~NEW~
- 2) revert file
- 3) rename file to file.geanyvc.~BASE~
- 4) rename file.geany.~NEW~ to origin file
- 5) show diff
- */
- localename = utils_get_locale_from_utf8(doc->file_name);
-
- new = g_strconcat(doc->file_name, ".geanyvc.~NEW~", NULL);
- setptr(new, utils_get_locale_from_utf8(new));
-
- old = g_strconcat(doc->file_name, ".geanyvc.~BASE~", NULL);
- setptr(old, utils_get_locale_from_utf8(old));
-
- if (g_rename(localename, new) != 0)
- {
- g_warning(_
- ("geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"),
- localename, new);
- goto end;
- }
-
- execute_command(vc, NULL, NULL, doc->file_name,
- VC_COMMAND_REVERT_FILE, NULL, NULL);
-
- if (g_rename(localename, old) != 0)
- {
- g_warning(_
- ("geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"),
- localename, old);
- g_rename(new, localename);
- goto end;
- }
- g_rename(new, localename);
-
- vc_external_diff(old, localename);
- g_unlink(old);
- end:
- g_free(old);
- g_free(new);
- g_free(localename);
- return;
- }
- else
- {
- name = g_strconcat(doc->file_name, ".vc.diff", NULL);
- show_output(text, name, doc->encoding, NULL);
- g_free(text);
- g_free(name);
- }
-
- }
- else
- {
- ui_set_statusbar(FALSE, _("No changes were made."));
- }
-}
-
-
-
-/* Callback if menu item for the base directory was activated */
-static void
-vcdiff_dir_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, gpointer data)
-{
- gchar *text = NULL;
- gchar *dir;
- gint flags = GPOINTER_TO_INT(data);
- const VC_RECORD *vc;
- GeanyDocument *doc;
-
- doc = document_get_current();
- g_return_if_fail(doc != NULL && doc->file_name != NULL);
-
- if (doc && doc->changed && doc->file_name != NULL)
- {
- document_save_file(doc, FALSE);
- }
-
- vc = find_vc(doc->file_name);
- g_return_if_fail(vc);
-
- if (flags & FLAG_BASEDIR)
- {
- dir = vc->get_base_dir(doc->file_name);
- }
- else if (flags & FLAG_DIR)
- {
- dir = g_path_get_dirname(doc->file_name);
- }
- else
- return;
- g_return_if_fail(dir);
-
- execute_command(vc, &text, NULL, dir, VC_COMMAND_DIFF_DIR, NULL, NULL);
- if (text)
- {
- gchar *name;
- name = g_strconcat(dir, ".vc.diff", NULL);
- show_output(text, name, doc->encoding, NULL);
- g_free(text);
- g_free(name);
- }
- else
- {
- ui_set_statusbar(FALSE, _("No changes were made."));
- }
- g_free(dir);
-}
-
-static void
-vcblame_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gdata)
-{
- gchar *text = NULL;
- const VC_RECORD *vc;
- GeanyDocument *doc;
-
- doc = document_get_current();
- g_return_if_fail(doc != NULL && doc->file_name != NULL);
-
- vc = find_vc(doc->file_name);
- g_return_if_fail(vc);
-
- execute_command(vc, &text, NULL, doc->file_name, VC_COMMAND_BLAME, NULL, NULL);
- if (text)
- {
- show_output(text, "*VC-BLAME*", NULL, doc->file_type);
- g_free(text);
- }
- else
- {
- ui_set_statusbar(FALSE, _("No history avaible"));
- }
-}
-
-
-static void
-vclog_file_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gdata)
-{
- gchar *output = NULL;
- const VC_RECORD *vc;
- GeanyDocument *doc;
-
- doc = document_get_current();
- g_return_if_fail(doc != NULL && doc->file_name != NULL);
-
- vc = find_vc(doc->file_name);
- g_return_if_fail(vc);
-
- execute_command(vc, &output, NULL, doc->file_name, VC_COMMAND_LOG_FILE, NULL, NULL);
- if (output)
- {
- show_output(output, "*VC-LOG*", NULL, NULL);
- g_free(output);
- }
-}
-
-static void
-vclog_dir_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gdata)
-{
- gchar *base_name = NULL;
- gchar *text = NULL;
- const VC_RECORD *vc;
- GeanyDocument *doc;
-
- doc = document_get_current();
- g_return_if_fail(doc != NULL && doc->file_name != NULL);
-
- base_name = g_path_get_dirname(doc->file_name);
-
- vc = find_vc(base_name);
- g_return_if_fail(vc);
-
- execute_command(vc, &text, NULL, base_name, VC_COMMAND_LOG_DIR, NULL, NULL);
- if (text)
- {
- show_output(text, "*VC-LOG*", NULL, NULL);
- g_free(text);
- }
-
- g_free(base_name);
-}
-
-static void
-vclog_basedir_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gdata)
-{
- gchar *text = NULL;
- const VC_RECORD *vc;
- GeanyDocument *doc;
- gchar *basedir;
-
- doc = document_get_current();
- g_return_if_fail(doc != NULL && doc->file_name != NULL);
-
- vc = find_vc(doc->file_name);
- g_return_if_fail(vc);
-
- basedir = vc->get_base_dir(doc->file_name);
- g_return_if_fail(basedir);
-
- execute_command(vc, &text, NULL, basedir, VC_COMMAND_LOG_DIR, NULL, NULL);
- if (text)
- {
- show_output(text, "*VC-LOG*", NULL, NULL);
- g_free(text);
- }
- g_free(basedir);
-}
-
-/* Show status from the current directory */
-static void
-vcstatus_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gdata)
-{
- gchar *base_name = NULL;
- gchar *text = NULL;
- const VC_RECORD *vc;
- GeanyDocument *doc;
-
- doc = document_get_current();
- g_return_if_fail(doc != NULL && doc->file_name != NULL);
-
- if (doc->changed)
- {
- document_save_file(doc, FALSE);
- }
-
- base_name = g_path_get_dirname(doc->file_name);
-
- vc = find_vc(base_name);
- g_return_if_fail(vc);
-
- execute_command(vc, &text, NULL, base_name, VC_COMMAND_STATUS, NULL, NULL);
- if (text)
- {
- show_output(text, "*VC-STATUS*", NULL, NULL);
- g_free(text);
- }
-
- g_free(base_name);
-}
-
-static void
-vcshow_file_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gdata)
-{
- gchar *output = NULL;
- const VC_RECORD *vc;
- GeanyDocument *doc;
-
- doc = document_get_current();
- g_return_if_fail(doc != NULL && doc->file_name != NULL);
-
- vc = find_vc(doc->file_name);
- g_return_if_fail(vc);
-
- execute_command(vc, &output, NULL, doc->file_name, VC_COMMAND_SHOW, NULL, NULL);
- if (output)
- {
- gchar *name;
- name = g_strconcat(doc->file_name, ".vc.orig", NULL);
- show_output(output, name, doc->encoding, doc->file_type);
- g_free(name);
- g_free(output);
- }
-}
-
-static gboolean
-command_with_question_activated(gchar ** text, gint cmd, const gchar * question, gint flags)
-{
- GtkWidget *dialog;
- gint result;
- gchar *dir;
- const VC_RECORD *vc;
- GeanyDocument *doc;
-
- doc = document_get_current();
- g_return_val_if_fail(doc != NULL && doc->file_name != NULL, FALSE);
-
- dir = g_path_get_dirname(doc->file_name);
- vc = find_vc(dir);
- g_return_val_if_fail(vc, FALSE);
-
- if (flags & FLAG_BASEDIR)
- {
- dir = vc->get_base_dir(dir);
- }
-
- if (doc->changed)
- {
- document_save_file(doc, FALSE);
- }
-
- if ((flags & FLAG_FORCE_ASK) || set_add_confirmation)
- {
- dialog = gtk_message_dialog_new(GTK_WINDOW(geany->main_widgets->window),
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_QUESTION,
- GTK_BUTTONS_YES_NO, question,
- (flags & (FLAG_DIR | FLAG_BASEDIR) ? dir :
- doc->file_name));
- result = gtk_dialog_run(GTK_DIALOG(dialog));
- gtk_widget_destroy(dialog);
- }
- else
- {
- result = GTK_RESPONSE_YES;
- }
-
- if (result == GTK_RESPONSE_YES)
- {
- if (flags & FLAG_FILE)
- execute_command(vc, text, NULL, doc->file_name, cmd, NULL, NULL);
- if (flags & (FLAG_DIR | FLAG_BASEDIR))
- execute_command(vc, text, NULL, dir, cmd, NULL, NULL);
- if (flags & FLAG_RELOAD)
- document_reload_file(doc, NULL);
- }
- g_free(dir);
- return (result == GTK_RESPONSE_YES);
-}
-
-static void
-vcrevert_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gdata)
-{
- command_with_question_activated(NULL, VC_COMMAND_REVERT_FILE,
- _("Do you really want to revert: %s?"),
- FLAG_RELOAD | FLAG_FILE | FLAG_FORCE_ASK);
-}
-
-static void
-vcrevert_dir_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, gint flags)
-{
- command_with_question_activated(NULL, VC_COMMAND_REVERT_DIR,
- _("Do you really want to revert: %s?"),
- FLAG_RELOAD | flags | FLAG_FORCE_ASK);
-}
-
-static void
-vcadd_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gdata)
-{
- command_with_question_activated(NULL, VC_COMMAND_ADD,
- _("Do you really want to add: %s?"), FLAG_FILE);
-}
-
-static void
-vcremove_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gdata)
-{
- if (command_with_question_activated(NULL, VC_COMMAND_REMOVE,
- _("Do you really want to remove: %s?"),
- FLAG_FORCE_ASK | FLAG_FILE))
- {
- document_remove_page(gtk_notebook_get_current_page
- (GTK_NOTEBOOK(geany->main_widgets->notebook)));
- }
-}
-
-static void
-vcupdate_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gdata)
-{
- gchar *text = NULL;
- GeanyDocument *doc;
-
- doc = document_get_current();
- g_return_if_fail(doc != NULL && doc->file_name != NULL);
-
- if (doc->changed)
- {
- document_save_file(doc, FALSE);
- }
-
- if (command_with_question_activated(&text, VC_COMMAND_UPDATE,
- _("Do you really want to update?"), FLAG_BASEDIR))
- {
- document_reload_file(doc, NULL);
-
- if (NZV(text))
- show_output(text, "*VC-UPDATE*", NULL, NULL);
- g_free(text);
- }
-}
-
-enum
-{
- COLUMN_COMMIT,
- COLUMN_STATUS,
- COLUMN_PATH,
- NUM_COLUMNS
-};
-
-static GtkTreeModel *
-create_commit_model(const GSList * commit)
-{
- GtkListStore *store;
- GtkTreeIter iter;
- const GSList *cur;
-
- /* create list store */
- store = gtk_list_store_new(NUM_COLUMNS, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_STRING);
-
- /* add data to the list store */
-
- for (cur = commit; cur != NULL; cur = g_slist_next(cur))
- {
- gtk_list_store_append(store, &iter);
- gtk_list_store_set(store, &iter,
- COLUMN_COMMIT, TRUE,
- COLUMN_STATUS, ((CommitItem *) (cur->data))->status,
- COLUMN_PATH, ((CommitItem *) (cur->data))->path, -1);
- }
-
- return GTK_TREE_MODEL(store);
-}
-
-static gboolean
-get_commit_files_foreach(GtkTreeModel * model, G_GNUC_UNUSED GtkTreePath * path, GtkTreeIter * iter,
- gpointer data)
-{
- GSList **files = (GSList **) data;
- gboolean commit;
- gchar *filename;
-
- gtk_tree_model_get(model, iter, COLUMN_COMMIT, &commit, -1);
- if (!commit)
- return FALSE;
-
- gtk_tree_model_get(model, iter, COLUMN_PATH, &filename, -1);
- *files = g_slist_prepend(*files, filename);
- return FALSE;
-}
-
-static gboolean
-get_commit_diff_foreach(GtkTreeModel * model, G_GNUC_UNUSED GtkTreePath * path, GtkTreeIter * iter,
- gpointer data)
-{
- GString *diff = data;
- gboolean commit;
- gchar *filename;
- gchar *tmp = NULL;
- gchar *status;
- const VC_RECORD *vc;
-
- gtk_tree_model_get(model, iter, COLUMN_COMMIT, &commit, -1);
- if (!commit)
- return FALSE;
-
- gtk_tree_model_get(model, iter, COLUMN_STATUS, &status, -1);
-
- if (! utils_str_equal(status, FILE_STATUS_MODIFIED))
- {
- g_free(status);
- return FALSE;
- }
-
- gtk_tree_model_get(model, iter, COLUMN_PATH, &filename, -1);
-
- vc = find_vc(filename);
- g_return_val_if_fail(vc, FALSE);
-
- execute_command(vc, &tmp, NULL, filename, VC_COMMAND_DIFF_FILE, NULL, NULL);
- if (tmp)
- {
- /* We temporarily add the filename to the diff output for parsing the diff output later,
- * after we have finished parsing, we apply the tag "invisible" which hides the text. */
- g_string_append_printf(diff, "VC_DIFF%s\n", filename);
- g_string_append(diff, tmp);
- g_free(tmp);
- }
- else
- {
- g_warning("error: geanyvc: get_commit_diff_foreach: empty diff output");
- }
- g_free(filename);
- return FALSE;
-}
-
-static gchar *
-get_commit_diff(GtkTreeView * treeview)
-{
- GtkTreeModel *model = gtk_tree_view_get_model(treeview);
- GString *ret = g_string_new(NULL);
-
- gtk_tree_model_foreach(model, get_commit_diff_foreach, ret);
-
- return g_string_free(ret, FALSE);
-}
-
-static void
-set_diff_buff(GtkTextBuffer * buffer, const gchar * txt)
-{
- GtkTextIter start, end;
- GtkTextMark *mark;
- gchar *filename;
- const gchar *tagname = "";
- const gchar *c, *p = txt;
-
- gtk_text_buffer_set_text(buffer, txt, -1);
-
- gtk_text_buffer_get_start_iter(buffer, &start);
- gtk_text_buffer_get_end_iter(buffer, &end);
-
- gtk_text_buffer_remove_all_tags(buffer, &start, &end);
-
- while (p)
- {
- c = NULL;
- if (*p == '-')
- {
- tagname = "deleted";
- }
- else if (*p == '+')
- {
- tagname = "added";
- }
- else if (*p == ' ')
- {
- tagname = "";
- }
- else if (strncmp(p, "VC_DIFF", 7) == 0)
- { /* Lines starting with VC_DIFF are special and were added by our code to tell about
- * filename to which the following diff lines belong. We use this file to create
- * text marks which we then later use to scroll to if the corresponding file has been
- * selected in the commit dialog's files list. */
- tagname = "invisible";
- c = strchr(p + 7, '\n');
- }
- else
- {
- tagname = "default";
- }
- gtk_text_buffer_get_iter_at_offset(buffer, &start,
- g_utf8_pointer_to_offset(txt, p));
-
- if (c)
- { /* create the mark *after* the start iter has been updated */
- filename = g_strndup(p + 7, c - p - 7);
- /* delete old text marks */
- mark = gtk_text_buffer_get_mark(buffer, filename);
- if (mark)
- gtk_text_buffer_delete_mark(buffer, mark);
- /* create a new one */
- gtk_text_buffer_create_mark(buffer, filename, &start, TRUE);
- g_free(filename);
- }
-
- p = strchr(p, '\n');
- if (p)
- {
- if (*tagname)
- {
- gtk_text_buffer_get_iter_at_offset(buffer, &end,
- g_utf8_pointer_to_offset(txt, p + 1));
- gtk_text_buffer_apply_tag_by_name(buffer, tagname, &start, &end);
- }
- p++;
- }
- }
-}
-
-static void
-refresh_diff_view(GtkTreeView *treeview)
-{
- gchar *diff;
- GtkWidget *diffView = ui_lookup_widget(GTK_WIDGET(treeview), "textDiff");
- diff = get_commit_diff(GTK_TREE_VIEW(treeview));
- set_diff_buff(gtk_text_view_get_buffer(GTK_TEXT_VIEW(diffView)), diff);
- g_free(diff);
-}
-
-static void
-commit_toggled(G_GNUC_UNUSED GtkCellRendererToggle * cell, gchar * path_str, gpointer data)
-{
- GtkTreeView *treeview = GTK_TREE_VIEW(data);
- GtkTreeModel *model = gtk_tree_view_get_model(treeview);
- GtkTreeIter iter;
- GtkTreePath *path = gtk_tree_path_new_from_string(path_str);
- gboolean fixed;
- gchar *filename;
- GtkTextView *diffView = GTK_TEXT_VIEW(ui_lookup_widget(GTK_WIDGET(treeview), "textDiff"));
- GtkTextMark *mark;
-
- /* get toggled iter */
- gtk_tree_model_get_iter(model, &iter, path);
- gtk_tree_model_get(model, &iter, COLUMN_COMMIT, &fixed, COLUMN_PATH, &filename, -1);
-
- /* do something with the value */
- fixed ^= 1;
-
- /* set new value */
- gtk_list_store_set(GTK_LIST_STORE(model), &iter, COLUMN_COMMIT, fixed, -1);
-
- if (! fixed)
- {
- mark = gtk_text_buffer_get_mark(gtk_text_view_get_buffer(diffView), filename);
- if (mark)
- gtk_text_buffer_delete_mark(gtk_text_view_get_buffer(diffView), mark);
- }
-
- refresh_diff_view(treeview);
-
- /* clean up */
- gtk_tree_path_free(path);
- g_free(filename);
-}
-
-static gboolean
-toggle_all_commit_files (GtkTreeModel *model, GtkTreePath *path,
- GtkTreeIter *iter, gpointer data)
-{
- (void)path;
- gtk_list_store_set(GTK_LIST_STORE(model), iter, COLUMN_COMMIT, *(gint*)data, -1);
- return FALSE;
-}
-
-static void
-commit_all_toggled_cb(GtkToggleButton *check_box, gpointer treeview)
-{
- GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview));
- gint toggled = gtk_toggle_button_get_active(check_box);
-
- gtk_tree_model_foreach(model, toggle_all_commit_files, &toggled);
-
- refresh_diff_view(treeview);
-}
-
-static void
-add_commit_columns(GtkTreeView * treeview)
-{
- GtkCellRenderer *renderer;
- GtkTreeViewColumn *column;
-
- /* column for fixed toggles */
- renderer = gtk_cell_renderer_toggle_new();
- g_signal_connect(renderer, "toggled", G_CALLBACK(commit_toggled), treeview);
-
- column = gtk_tree_view_column_new_with_attributes(_("Commit Y/N"),
- renderer, "active", COLUMN_COMMIT, NULL);
-
- /* set this column to a fixed sizing (of 80 pixels) */
- gtk_tree_view_column_set_sizing(GTK_TREE_VIEW_COLUMN(column), GTK_TREE_VIEW_COLUMN_FIXED);
- gtk_tree_view_column_set_fixed_width(GTK_TREE_VIEW_COLUMN(column), 80);
- gtk_tree_view_append_column(treeview, column);
-
- /* column for status */
- renderer = gtk_cell_renderer_text_new();
- column = gtk_tree_view_column_new_with_attributes(_("Status"),
- renderer, "text", COLUMN_STATUS, NULL);
- gtk_tree_view_column_set_sort_column_id(column, COLUMN_STATUS);
- gtk_tree_view_append_column(treeview, column);
-
- /* column for path of file to commit */
- renderer = gtk_cell_renderer_text_new();
- column = gtk_tree_view_column_new_with_attributes(_("Path"),
- renderer, "text", COLUMN_PATH, NULL);
@@ Diff output truncated at 100000 characters. @@
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Plugins-Commits
mailing list