annotate README @ 24:154fe67bae72

Journal double-entry check + unicode source_path fix + typo - journal now fail assertion when trying to write log whitout entry created, or when trying to create 2 entries without closing the first one - unicode source_path are now fixed: there was a decoding error when trying to add an unicode source_path from a second instance of gcp - small typo in --help page
author Goffi <goffi@goffi.org>
date Thu, 30 Sep 2010 15:49:16 +0800
parents 30104ca340e2
children 1912ace37f32
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
1 gcp v0.1
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
2 (c) Jérôme Poisson aka Goffi 2010
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
3
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
4 gcp (Goffi's cp) is a files copier.
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
5
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
6
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
7 ** LICENSE **
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
8
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
9 gcp is free software: you can redistribute it and/or modify
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
10 it under the terms of the GNU General Public License as published by
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
11 the Free Software Foundation, either version 3 of the License, or
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
12 (at your option) any later version.
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
13
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
14 gcp is distributed in the hope that it will be useful,
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
17 GNU General Public License for more details.
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
18
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
19 You should have received a copy of the GNU General Public License
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
20 along with gcp. If not, see <http://www.gnu.org/licenses/>.
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
21
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
22
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
23
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
24 ** WTF ? **
21
8603fcb8615a --no-unicode-fix commented, and README update
Goffi <goffi@goffi.org>
parents: 19
diff changeset
25 gcp is a file copier, loosely inspired from cp, but with high level functionalities like:
22
30104ca340e2 README update
Goffi <goffi@goffi.org>
parents: 21
diff changeset
26 - progression indicator
30104ca340e2 README update
Goffi <goffi@goffi.org>
parents: 21
diff changeset
27 - gcp continue copying even when there is an issue: he just skip the file with problem, and go on
24
154fe67bae72 Journal double-entry check + unicode source_path fix + typo
Goffi <goffi@goffi.org>
parents: 22
diff changeset
28 - journalization: gcp write what he is doing, this allow to know which files were effectively copied
22
30104ca340e2 README update
Goffi <goffi@goffi.org>
parents: 21
diff changeset
29 - fixing names to be compatible with the target filesystem (e.g. removing incompatible chars like "?" or "*" on vfat)
30104ca340e2 README update
Goffi <goffi@goffi.org>
parents: 21
diff changeset
30 - 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
30104ca340e2 README update
Goffi <goffi@goffi.org>
parents: 21
diff changeset
31 - 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).
30104ca340e2 README update
Goffi <goffi@goffi.org>
parents: 21
diff changeset
32 - gcp will be approximately option-compatible with cp (approximately because the behaviour is not exactly the same, see below)
19
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
33
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
34 /!\ WARNING /!\
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
35 gcp is at an early stage of development, and really experimental: use at your own risks !
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
36
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
37 ** How to use it ? **
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
38 Pretty much like cp (see gcp --help).
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
39 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).
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
40 gcp doesn't implement yet all the options from cp, but it's planed.
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
41
21
8603fcb8615a --no-unicode-fix commented, and README update
Goffi <goffi@goffi.org>
parents: 19
diff changeset
42 ** journalizaion **
8603fcb8615a --no-unicode-fix commented, and README update
Goffi <goffi@goffi.org>
parents: 19
diff changeset
43 The journal is planed to be used by gcp itself, buts remains human-readable. It is located in ~/.gcp/journal
8603fcb8615a --no-unicode-fix commented, and README update
Goffi <goffi@goffi.org>
parents: 19
diff changeset
44
8603fcb8615a --no-unicode-fix commented, and README update
Goffi <goffi@goffi.org>
parents: 19
diff changeset
45 3 states are used:
8603fcb8615a --no-unicode-fix commented, and README update
Goffi <goffi@goffi.org>
parents: 19
diff changeset
46 - OK means the file is copied and all operation were successful
8603fcb8615a --no-unicode-fix commented, and README update
Goffi <goffi@goffi.org>
parents: 19
diff changeset
47 - PARTIAL means the file is copied, but something went wrong (e.g. changing the permissions of the file)
8603fcb8615a --no-unicode-fix commented, and README update
Goffi <goffi@goffi.org>
parents: 19
diff changeset
48 - FAILED: the file is *not* copied
8603fcb8615a --no-unicode-fix commented, and README update
Goffi <goffi@goffi.org>
parents: 19
diff changeset
49
8603fcb8615a --no-unicode-fix commented, and README update
Goffi <goffi@goffi.org>
parents: 19
diff changeset
50 after the state, a list of things which went wront are show, separated by ", "
8603fcb8615a --no-unicode-fix commented, and README update
Goffi <goffi@goffi.org>
parents: 19
diff changeset
51
19
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
52 ** What's next ? **
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
53
21
8603fcb8615a --no-unicode-fix commented, and README update
Goffi <goffi@goffi.org>
parents: 19
diff changeset
54 Several improvment are already planed
19
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
55 - copy queue management (moving copy order)
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
56 - advanced console interface
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
57 - notification (xmpp and maybe mail) when a long copy is finished
21
8603fcb8615a --no-unicode-fix commented, and README update
Goffi <goffi@goffi.org>
parents: 19
diff changeset
58 - retry for files which were not correctly copied
19
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
59 - badly encoded unicode filenames fix
21
8603fcb8615a --no-unicode-fix commented, and README update
Goffi <goffi@goffi.org>
parents: 19
diff changeset
60 - file copy integrity check
19
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
61
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
62 ... and other are with a "maybe"
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
63 - graphic interface
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
64 - desktop (Kde, Gnome, XFCE, ...) integration
21
8603fcb8615a --no-unicode-fix commented, and README update
Goffi <goffi@goffi.org>
parents: 19
diff changeset
65 - distant copy (ftp)
8603fcb8615a --no-unicode-fix commented, and README update
Goffi <goffi@goffi.org>
parents: 19
diff changeset
66 - basic server mode, for copying files on network without the need of nfs or other heavy stuff
19
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
67
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
68 ** Credits **
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
69
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
70 A big big thank to the authors/contributors of...
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
71
22
30104ca340e2 README update
Goffi <goffi@goffi.org>
parents: 21
diff changeset
72 progressbar:
30104ca340e2 README update
Goffi <goffi@goffi.org>
parents: 21
diff changeset
73 gcp use ProgressBar (http://pypi.python.org/pypi/progressbar/2.2), a class coded by Nilton Volpato which allow the textual representation of progression.
19
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
74
22
30104ca340e2 README update
Goffi <goffi@goffi.org>
parents: 21
diff changeset
75 GLib:
30104ca340e2 README update
Goffi <goffi@goffi.org>
parents: 21
diff changeset
76 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/
19
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
77
22
30104ca340e2 README update
Goffi <goffi@goffi.org>
parents: 21
diff changeset
78 DBus:
30104ca340e2 README update
Goffi <goffi@goffi.org>
parents: 21
diff changeset
79 This excellent IPC is in the heart of gcp. Get more information at www.freedesktop.org/wiki/Software/dbus
19
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
80
22
30104ca340e2 README update
Goffi <goffi@goffi.org>
parents: 21
diff changeset
81 python and its amazing standard library:
30104ca340e2 README update
Goffi <goffi@goffi.org>
parents: 21
diff changeset
82 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
19
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
83
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
84 If I forgot any credit, please contact me (mail below) to fix it.
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
85
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
86
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
87 ** Contact **
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
88
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
89 You can contact me at goffi@goffi.org .
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
90 You'll find the latest version on my website: http://www.goffi.org (it's mainly in french, I will probably make a little part in english in the future).
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
91 You can also have a look to my other main projects (and maybe to the smaller ones too ;) ):
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
92 - lm (list movie): a tool to list movies using IMdB data, loosely inspired from ls
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
93 - SàT: my main project, a jabber/XMPP client, which is a brick to many others things I have in mind
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
94
7eb698246bec README: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
95 Don't hesitate to give feedback :)