~rhansen/ubuntu/trusty/cvsps/bug1413084

« back to all changes in this revision

Viewing changes to README

  • Committer: Bazaar Package Importer
  • Author(s): Marcus Crafter
  • Date: 2005-01-27 17:47:58 UTC
  • mfrom: (2.1.2 hoary)
  • Revision ID: james.westby@ubuntu.com-20050127174758-e66vq8xafbbw5rav
Tags: 2.0rc1-5
* Applied patch from Kim Hansen to fix time calculation bug
* Applied cvs output parsing error from upstream
  (closes: #289803, #267910)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
CVSps (c) 2001 David Mansfield
 
1
CVSps (c) 2001,2002,2003 David Mansfield
2
2
------------------------------
3
3
 
4
4
Overview.
15
15
Compiling.
16
16
---------
17
17
 
18
 
CVSps is a simple program, all in one .c file, with a few utility modules.
 
18
CVSps is a relatively small program, with only a few modules.
19
19
The Makefile is very simple and should work in most GNU type environments.
20
20
Unfortunately, I've only been able to test on Red Hat Linux, so YMMV.  As
21
21
CVSps matures, I'm sure a more sophisticated build environment will evolve
22
 
with it.  For now, just try 'make' and 'make install'.
 
22
with it.  For now, just try 'make' and 'make install'.  If you have any 
 
23
problems let me know.
23
24
 
24
25
Running.
25
26
-------
26
27
 
 
28
Note: not all options are necessarily discussed here.  Please check the
 
29
output of 'cvsps -h' and/or the manual page for the most up-to-date info.
 
30
 
27
31
CVSps operates by parsing the 'cvs log' output.  So to run it, you must
28
32
be in the working directory of a cvs project.  CVSps handles
29
33
subdirectories fine, so run it in the top directory of your project.
30
34
 
31
 
a) the CVS/cvsps.cache file
 
35
a) the ~/.cvsps/cvsps.cache file (or so it's called)
32
36
 
33
37
Because you may have a *lot* of revision history in your project, and/or
34
38
your connection to the cvs server may be slow or congested, CVSps uses a
38
42
 
39
43
and will begin reading and parsing the cvs log.  When it is finished it
40
44
will output all of the patchset information to stdout, and it will also
41
 
generate the 'CVS/cvsps.cache' file.
 
45
generate the '~/.cvsps/cvsps.cache' file.  Note: for historical reasons
 
46
this file is still called the cvsps.cache file, but in reality it is named
 
47
based on the CVS/Root and CVS/Repository contents, and thus is shared for
 
48
the same repository checked out in multiple places.
42
49
 
43
50
If the cache file exists, it won't ever be automatically updated.  To
44
 
update the cache with cvs activity that has occurred since the CVS/cvsps.cache
 
51
update the cache with cvs activity that has occurred since the ~/.cvsps/cvsps.cache
45
52
was last updated, use:
46
53
 
47
54
cvsps -u
48
55
 
49
 
If you question the integrity of the CVS/cvsps.cache, or for some other reason
50
 
want to force a full cache rebuild, use (you could alse 'rm' the cache):
 
56
If you question the integrity of the ~/.cvsps/cvsps.cache, or for some other reason
 
57
want to force a full cache rebuild, use (you could also 'rm' the cache file):
51
58
 
52
59
cvsps -x
53
60
 
56
63
CVSps's output is information about patchsets.  A patchset looks like:
57
64
 
58
65
---------------------
59
 
PatchSet 1701
60
 
Date: 2001/11/06 19:49:04
61
 
Author: joe
 
66
PatchSet 999
 
67
Date: 2002/07/11 19:50:46
 
68
Author: alan
 
69
Branch: HEAD
 
70
Tag: (none)
62
71
Log:
63
 
this release completes line summary find
64
 
 
65
 
Members: 
66
 
   Makefile:1.3.4.9->1.3.4.10 [v4_1-production-patches]
67
 
   apache_mod/lineSummary.C:1.66.2.2->1.66.2.3 [v4_1-production-patches]
68
 
   apache_mod/tbill_sql.C:1.59.2.5->1.59.2.6 [v4_1-production-patches]
 
72
[PATCH] Fix several pdc202xx problems
 
73
 
 
74
Misnaming of 20270 as 20268R
 
75
Failure of LBA48 on 20262
 
76
Incorrect speed detection because the old driver used host not drive side
 
77
cable detect
 
78
PDC202xx handling for quirks in udma reporting off some drives
 
79
LBA48 for PIO mode
 
80
 
 
81
BKrev: 3d2dd386wJMnehoOAhv3wL991IfXVQ
 
82
 
 
83
Members:
 
84
  ChangeSet:1.999->1.1000
 
85
  MAINTAINERS:1.74->1.75
 
86
  drivers/ide/ide-features.c:1.4->1.5
 
87
  drivers/ide/ide-pci.c:1.18->1.19
 
88
  drivers/ide/pdc202xx.c:1.11->1.12
 
89
  include/linux/pci_ids.h:1.44->1.45
69
90
 
70
91
---------------------
71
92
 
72
 
This patchset is taken from an internal project.  It shows the date, the
73
 
author, log message and each file that was modified.  For each file the
74
 
pre-commit and post-commit revisions are given.  In this case, you can see
75
 
that the files are on a branch, and the branch tag is shown (for each
76
 
file) inside square brackets.
 
93
This patchset is taken from the linux kernel BK->CVS tree.  It shows the date, 
 
94
the author, log message and each file that was modified.  For each file the
 
95
pre-commit and post-commit revisions are given.  You can also see (if 
 
96
applicable, not in this case) if the files are on a branch, as well as the
 
97
tag (see TAGS below).
77
98
 
78
99
Patchsets are ordered by commit timestamp, so as long as the clock on your
79
100
cvs server is monotonic, the numbering of patchsets should be invariant
80
 
across cache-rebuilds.
 
101
across cache-rebuilds. (see COMPATIBILITY below).
81
102
 
82
103
c) Limiting the patchset output.
83
104
 
85
106
filtered in one of many ways.  These flags can be combined to really
86
107
limit the output to what you're interested in.
87
108
 
 
109
By id.  With the -s <ps range> you can specify individual PatchSets by
 
110
number or by range.  Ranges can be of the form '<number>', '<number>-',
 
111
'-<number>' and of course '<number>-<number>'.  Multiple ranges can be
 
112
specified seperated by commas.  E.g.
 
113
 
 
114
cvsps -s 999-1020,1025,4956-
 
115
 
88
116
By author.  With the -a <author> flag you limit the output to patchsets
89
117
committed by a given author.  The author is usually the UNIX login id.
90
118
 
91
 
By file.  With the -f <file> flag you limit the output to patchsets that
92
 
have modified the given file.  File is given as the BASENAME of the file,
93
 
not the entire path. (I think!)
 
119
By file.  With the -f <file regex> flag you limit the output to patchsets 
 
120
that have modified the given file.  Because a regular expression can have
 
121
many pieces 'or'ed together, you can specify many different files here,
 
122
for example (note also the use of the ^ character):
 
123
 
 
124
cvsps -f '^net/ipv4|^net/core'
94
125
 
95
126
By date.  With one date specification, CVSps shows only patchsets newer
96
127
than the date given, and with two dates, it shows patchsets between the
110
141
the files in question may have existed prior to the branch point, in which
111
142
case changes made to a given file before the branch point affect the file
112
143
as it exists in the head of the branch.  If you want to restrict to the
113
 
main branch, use a branch of 'TRUNK'.
 
144
main branch, use a branch of 'HEAD'.
 
145
 
 
146
By log comment.  With the -l <regex> flag you can limit the ouptut to
 
147
patchsets with the commit message matching the regex.
 
148
 
 
149
By tag.  With the -r <tag1> -r <tag2> you can limit the patchsets to
 
150
commits after a given tag1 and, optionally, before tag2.
114
151
 
115
152
d) viewing the changes made by a patchset.
116
153
 
117
 
To show the 'diff' output for a given patchset, use:
118
 
 
119
 
cvsps -s <patchset number>
120
 
 
121
 
It will show you the diff of changes made by the commit.  Some effort was
122
 
made to ensure that the patches are valid, even in the case of removing or
123
 
creating files, a case in which 'cvs diff' fails.
 
154
To show the 'diff' output for a given patchset, use -g.
 
155
 
 
156
It will show you the diff of changes made by the selected commits.
 
157
Some effort was made to ensure that the patches are valid, even in the 
 
158
case of removing or creating files, a case in which 'cvs diff' fails.  
 
159
The patches generated are, generally speaking, applyable in the working
 
160
directory with the '-p1' option to the patch command.
124
161
 
125
162
e) what is timestamp fuzz factor (-z option)?
126
163
 
134
171
author, using the same log message, within <fuzz> seconds are considered
135
172
part of the same patchset.  The default fuzz is 300 seconds (5 minutes).
136
173
 
 
174
TAGS
 
175
----
 
176
 
 
177
Please read the manual page.
 
178
 
 
179
COMPATIBILITY
 
180
-------------
 
181
 
 
182
One of the main goals of cvsps was to make the patchset numbering stable across
 
183
all time, as long as no funny-business is done to the repository files themselves.
 
184
 
 
185
Unfortunately, as bugs have been fixed, the numbering has changed.  This is most
 
186
regrettable, but unavoidable.
 
187
 
 
188
Additionally, in version 2.0, two changes have been made which will 'renumber'
 
189
the patch sets.  
 
190
 
 
191
1) The false 'globbing' of two commits from nearly the exact same time, by the
 
192
same person, with the same log description but to different branches.  Now,
 
193
these will be reported as 2 patchsets instead of one.
 
194
 
 
195
2) The creation of a large volume of patchsets for 'file xyz was originally added on
 
196
branch' log messages.  This occurs whenever a file is originally born on a branch,
 
197
and is exacerbated by the fact that even when all of these files are created with
 
198
a single commit, the 'file xyz...' messages, which contains the actual file name,
 
199
are different, causing a proliferation of these unwanted patchsets.  These patchsets
 
200
are now silently eliminated from the output.
 
201
 
137
202
Reporting bugs / submitting patches.
138
203
-----------------------------------
139
204
 
163
228
 
164
229
You can always run CVSps in that subdirectory, and since it IS a 
165
230
separate repository, that does make a little bit of sense.
166
 
 
167