Browse Source

README: update, proofread, reformat, wrap

master
Matteo Cypriani 1 year ago
parent
commit
7a6317a5e6
1 changed files with 101 additions and 67 deletions
  1. 101
    67
      README.md

+ 101
- 67
README.md View File

@@ -1,107 +1,141 @@
1
-gcp v0.1.3
2
-====
3
-(c) Jérôme Poisson aka Goffi 2010, 2011
4
-(c) Jingbei Li aka petronny 2016, 2017
1
+gcp
2
+===
5 3
 
6
-gcp (Goffi's cp) is a files copier.
4
+gcp (Goffi's cp) is a file copier.
7 5
 
8
-__This is a fork of gcp by petronny, not the original one (the `python2` branch) by Goffi.  
9
-But I'm happy to receive issues and pull requests.__
10 6
 
11
-### LICENSE
7
+License
8
+=======
12 9
 
13
-gcp is free software: you can redistribute it and/or modify
14
-it under the terms of the GNU General Public License as published by
15
-the Free Software Foundation, either version 3 of the License, or
16
-(at your option) any later version.
10
+gcp is free software: you can redistribute it and/or modify it under the terms
11
+of the GNU General Public License as published by the Free Software Foundation,
12
+either version 3 of the License, or (at your option) any later version.
17 13
 
18
-gcp is distributed in the hope that it will be useful,
19
-but WITHOUT ANY WARRANTY; without even the implied warranty of
20
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21
-GNU General Public License for more details.
14
+gcp is distributed in the hope that it will be useful, but WITHOUT ANY
15
+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
16
+PARTICULAR PURPOSE. See the GNU General Public License for more details.
22 17
 
23
-You should have received a copy of the GNU General Public License
24
-along with gcp.  If not, see <http://www.gnu.org/licenses/>.
18
+You should have received a copy of the GNU General Public License along with
19
+gcp. If not, see <http://www.gnu.org/licenses/>.
25 20
 
26 21
 
22
+About
23
+=====
27 24
 
28
-### WTF ?
29
-gcp is a file copier, loosely inspired from cp, but with high level functionalities like:
25
+gcp is a file copier, loosely inspired from cp, but with high level
26
+functionalities such as:
30 27
 
31
-- progression indicator
32
-- gcp continue copying even when there is an issue: he just skip the file with problem, and go on
33
-- journalization: gcp write what he is doing, this allow to know which files were effectively copied
34
-- fixing names to be compatible with the target filesystem (e.g. removing incompatible chars like "?" or "*" on vfat)
35
-- 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
36
-- 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).
37
-- gcp will be approximately option-compatible with cp (approximately because the behaviour is not exactly the same, see below)
28
+- **Progress bar.**
29
+- gcp **keeps copying** even when there is an issue: it just skips the file,
30
+  logs an error and goes on.
31
+- **Logging**: gcp writes what it's doing to a log file; this allows you to
32
+  know which files were effectively copied.
33
+- **Fixing file names** to be compatible with the target filesystem (e.g.
34
+  removing incompatible chars like `?` or `*` on FAT).
35
+- **Queue**: if you launch a copy when another copy is already running, the
36
+  files are added to the first queue; this optimizes hard drive head movement
37
+  and filesystem fragmentation.
38
+- **Files saving**: you can keep track of the files you have copied, and copy
39
+  them again later (useful when, for example, you copy some free music to your
40
+  friends on a regular basis).
41
+- gcp will be **approximately option-compatible with cp** (approximately
42
+  because the behaviour is not exactly the same, see below).
38 43
 
39
-**WARNING**
40
-gcp is at an early stage of development, and really experimental: use at your own risks !
44
+**WARNING**: gcp is at a relatively early stage of development, use at your own
45
+risks!
41 46
 
42
-### How to use it ?
43
-Pretty much like cp (see gcp --help).
44
-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).
45
-gcp doesn't implement yet all the options from cp, but it's planed.
46 47
 
47
-### Journalizaion
48
-The journal is planed to be used by gcp itself, buts remains human-readable. It is located in ~/.gcp/journal
48
+How to use it?
49
+==============
50
+
51
+Pretty much like cp (see `gcp --help`).
52
+
53
+Please note that the behaviour is not exactly the same as cp's, even if gcp
54
+aims to be option-compatible. Mainly, the destination filenames can be modified
55
+(cf. the `--fs-fix` option).
56
+
57
+gcp doesn't implement all the options from cp yet, but it's a long-term goal.
58
+
59
+
60
+Logging
61
+=======
62
+
63
+The log file is aimed to be used by gcp itself, buts remains human-readable. It
64
+is located in `~/.gcp/journal`.
49 65
 
50 66
 3 states are used:
51
-- OK means the file is copied and all operation were successful
52
-- PARTIAL means the file is copied, but something went wrong (e.g. changing the permissions of the file)
53
-- FAILED: the file is *not* copied
67
+- **OK** means the file was copied and all operation were successful.
68
+- **PARTIAL** means the file was copied, but something went wrong (file
69
+  permissions could not be preserved, file name had to be changed, etc.).
70
+- **FAILED**: the file was *not* copied.
71
+
72
+After the state, a list of things that went wrong is shown, separated by ", ".
54 73
 
55
-after the state, a list of things which went wront are show, separated by ", "
56 74
 
57
-### What's next ?
75
+What's next?
76
+============
58 77
 
59
-Several improvment are already planed
78
+Several improvement are already planed:
60 79
 - copy queue management (moving copy order)
61 80
 - advanced console interface
62
-- notification (xmpp and maybe mail) when a long copy is finished
63
-- retry for files which were not correctly copied
81
+- notification (XMPP and maybe email) when a long copy is finished
82
+- retry for files that were not correctly copied
64 83
 - badly encoded unicode filenames fix
65 84
 - file copy integrity check
66 85
 
67 86
 ... and other are with a "maybe"
68 87
 - graphic interface
69
-- desktop (Kde, Gnome, XFCE, ...) integration
70
-- distant copy (ftp)
71
-- basic server mode, for copying files on network without the need of nfs or other heavy stuff
88
+- desktop (Kde, Gnome, XFCE...) integration
89
+- distant copy (FTP)
90
+- basic server mode, for copying files on network without the need of NFS or
91
+  other heavy stuff
92
+
93
+
94
+Credits
95
+=======
96
+
97
+A big big thanks to the authors/contributors of...
72 98
 
73
-### Credits
99
+* **progressbar**:
100
+  gcp uses [ProgressBar](https://pypi.python.org/pypi/progressbar), a class
101
+  coded by Nilton Volpato that allows the textual representation of
102
+  progression.
74 103
 
75
-A big big thank to the authors/contributors of...
104
+* **GLib**:
105
+  This heavily used library is used here for the main loop, event catching, and
106
+  for DBus. Get it at <https://developer.gnome.org/glib/>.
76 107
 
77
-* progressbar:
78
-gcp use ProgressBar (http://pypi.python.org/pypi/progressbar/2.2), a class coded by Nilton Volpato which allow the textual representation of progression.
108
+* **DBus**:
109
+  This excellent IPC is ut the heart of gcp. Get more information at
110
+  <https://www.freedesktop.org/wiki/Software/dbus/>.
79 111
 
80
-* GLib:
81
-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/
112
+* **Python** and its amazing standard library:
113
+  gcp was coded quickly for my own needs thanks to this excellent and efficient
114
+  language and its really huge standard library. Python can be download at
115
+  <https://www.python.org/>.
82 116
 
83
-* DBus:
84
-This excellent IPC is in the heart of gcp. Get more information at www.freedesktop.org/wiki/Software/dbus
117
+If I forgot any credit, please contact me (email below) to fix that.
85 118
 
86
-* python and its amazing standard library:
87
-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
119
+Big thanks to contributors and package maintainers.
88 120
 
89
-If I forgot any credit, please contact me (mail below) to fix it.
90 121
 
91
-Big thanks to contributors and package mainteners
122
+Contributors
123
+============
92 124
 
93
-### Contributions
94
-2011: Thomas Preud'homme <robotux@celest.fr>: manpage, stat resolution fix
125
+* Original author: Jérôme Poisson aka Goffi <goffi@goffi.org> 2010-2011.
126
+* Thomas Preud'homme <robotux@celest.fr> 2011: manpage, stat resolution fix.
127
+* Jingbei Li aka petronny 2016: conversion to Python3.
128
+* Matteo Cypriani <mcy@lm7.fr> 2018: `--fs-fix` option, Python3 fixes.
95 129
 
96 130
 
131
+Contact
132
+=======
97 133
 
98
-### Contact
134
+Feedback, bug reports, patches, etc. are welcome, either by email or on the
135
+repository's issue tracker.
99 136
 
100
-You can contact me at goffi@goffi.org .
101
-You'll find the latest version on my ftp: ftp://ftp.goffi.org/gcp, or check the wiki ( http://wiki.goffi.org/wiki/Gcp )
102
-Please report any bug on http://bugs.goffi.org
103
-You can also have a look to my other main projects (and maybe to the smaller ones too ;) ):
104
-- lm (list movie): a tool to list movies using IMdB data, loosely inspired from ls
105
-- SàT: my main project, a jabber/XMPP client, which is a brick to many others things I have in mind
137
+You can also have a look at Goffi's other main project, [Salut à
138
+Toi](https://www.salut-a-toi.org/) (SàT), a Jabber/XMPP-based multi-frontend,
139
+multipurpose communication tool.
106 140
 
107 141
 Don't hesitate to give feedback :)

Loading…
Cancel
Save