Goffi's cp, a fancy file copier
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
4.3 KiB

  1. gcp v0.1.3
  2. ====
  3. (c) Jérôme Poisson aka Goffi 2010, 2011
  4. gcp (Goffi's cp) is a files copier.
  5. ### LICENSE
  6. gcp is free software: you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation, either version 3 of the License, or
  9. (at your option) any later version.
  10. gcp is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. GNU General Public License for more details.
  14. You should have received a copy of the GNU General Public License
  15. along with gcp. If not, see <http://www.gnu.org/licenses/>.
  16. ### WTF ?
  17. gcp is a file copier, loosely inspired from cp, but with high level functionalities like:
  18. - progression indicator
  19. - gcp continue copying even when there is an issue: he just skip the file with problem, and go on
  20. - journalization: gcp write what he is doing, this allow to know which files were effectively copied
  21. - fixing names to be compatible with the target filesystem (e.g. removing incompatible chars like "?" or "*" on vfat)
  22. - if you launch a copy when an other is already running, the files are added to the first queue, this avoid your hard drive to move its read/write head all the time
  23. - files saving: you can keep track of files you have copied, and re-copy them later (useful when, for example, you always copy some free music to all your friends).
  24. - gcp will be approximately option-compatible with cp (approximately because the behaviour is not exactly the same, see below)
  25. **WARNING**
  26. gcp is at an early stage of development, and really experimental: use at your own risks !
  27. ### How to use it ?
  28. Pretty much like cp (see gcp --help).
  29. Please note that the behaviour is not exactly the same as cp, even if gcp want to be option-compatible. Mainly, the destination filenames can be changed (by default, can be deactivated).
  30. gcp doesn't implement yet all the options from cp, but it's planed.
  31. ### Journalizaion
  32. The journal is planed to be used by gcp itself, buts remains human-readable. It is located in ~/.gcp/journal
  33. 3 states are used:
  34. - OK means the file is copied and all operation were successful
  35. - PARTIAL means the file is copied, but something went wrong (e.g. changing the permissions of the file)
  36. - FAILED: the file is *not* copied
  37. after the state, a list of things which went wront are show, separated by ", "
  38. ### What's next ?
  39. Several improvment are already planed
  40. - copy queue management (moving copy order)
  41. - advanced console interface
  42. - notification (xmpp and maybe mail) when a long copy is finished
  43. - retry for files which were not correctly copied
  44. - badly encoded unicode filenames fix
  45. - file copy integrity check
  46. ... and other are with a "maybe"
  47. - graphic interface
  48. - desktop (Kde, Gnome, XFCE, ...) integration
  49. - distant copy (ftp)
  50. - basic server mode, for copying files on network without the need of nfs or other heavy stuff
  51. ### Credits
  52. A big big thank to the authors/contributors of...
  53. * progressbar:
  54. gcp use ProgressBar (http://pypi.python.org/pypi/progressbar/2.2), a class coded by Nilton Volpato which allow the textual representation of progression.
  55. * GLib:
  56. This heavily used library is used here for the main loop, event catching, and for DBus. Get it at http://library.gnome.org/devel/glib/
  57. * DBus:
  58. This excellent IPC is in the heart of gcp. Get more information at www.freedesktop.org/wiki/Software/dbus
  59. * python and its amazing standard library:
  60. gcp was coded quickly for my own need thanks to this excellent and efficient language and its really huge standard library. Python can be download at www.python.org
  61. If I forgot any credit, please contact me (mail below) to fix it.
  62. Big thanks to contributors and package mainteners
  63. ### Contributions
  64. 2011: Thomas Preud'homme <robotux@celest.fr>: manpage, stat resolution fix
  65. ### Contact
  66. You can contact me at goffi@goffi.org .
  67. You'll find the latest version on my ftp: ftp://ftp.goffi.org/gcp, or check the wiki ( http://wiki.goffi.org/wiki/Gcp )
  68. Please report any bug on http://bugs.goffi.org
  69. You can also have a look to my other main projects (and maybe to the smaller ones too ;) ):
  70. - lm (list movie): a tool to list movies using IMdB data, loosely inspired from ls
  71. - SàT: my main project, a jabber/XMPP client, which is a brick to many others things I have in mind
  72. Don't hesitate to give feedback :)