Mercurial > gcp
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 |
rev | line source |
---|---|
19 | 1 gcp v0.1 |
2 (c) Jérôme Poisson aka Goffi 2010 | |
3 | |
4 gcp (Goffi's cp) is a files copier. | |
5 | |
6 | |
7 ** LICENSE ** | |
8 | |
9 gcp is free software: you can redistribute it and/or modify | |
10 it under the terms of the GNU General Public License as published by | |
11 the Free Software Foundation, either version 3 of the License, or | |
12 (at your option) any later version. | |
13 | |
14 gcp is distributed in the hope that it will be useful, | |
15 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 GNU General Public License for more details. | |
18 | |
19 You should have received a copy of the GNU General Public License | |
20 along with gcp. If not, see <http://www.gnu.org/licenses/>. | |
21 | |
22 | |
23 | |
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 | 26 - progression indicator |
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 | 29 - fixing names to be compatible with the target filesystem (e.g. removing incompatible chars like "?" or "*" on vfat) |
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 | |
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). | |
32 - gcp will be approximately option-compatible with cp (approximately because the behaviour is not exactly the same, see below) | |
19 | 33 |
34 /!\ WARNING /!\ | |
35 gcp is at an early stage of development, and really experimental: use at your own risks ! | |
36 | |
37 ** How to use it ? ** | |
38 Pretty much like cp (see gcp --help). | |
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). | |
40 gcp doesn't implement yet all the options from cp, but it's planed. | |
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 | 52 ** What's next ? ** |
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 | 55 - copy queue management (moving copy order) |
56 - advanced console interface | |
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 | 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 | 61 |
62 ... and other are with a "maybe" | |
63 - graphic interface | |
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 | 67 |
68 ** Credits ** | |
69 | |
70 A big big thank to the authors/contributors of... | |
71 | |
22 | 72 progressbar: |
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 | 74 |
22 | 75 GLib: |
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 | 77 |
22 | 78 DBus: |
79 This excellent IPC is in the heart of gcp. Get more information at www.freedesktop.org/wiki/Software/dbus | |
19 | 80 |
22 | 81 python and its amazing standard library: |
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 | 83 |
84 If I forgot any credit, please contact me (mail below) to fix it. | |
85 | |
86 | |
87 ** Contact ** | |
88 | |
89 You can contact me at goffi@goffi.org . | |
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). | |
91 You can also have a look to my other main projects (and maybe to the smaller ones too ;) ): | |
92 - lm (list movie): a tool to list movies using IMdB data, loosely inspired from ls | |
93 - SàT: my main project, a jabber/XMPP client, which is a brick to many others things I have in mind | |
94 | |
95 Don't hesitate to give feedback :) |