1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248
|
2005-10-06 David Allouche <david@allourche.net>
* pybaz.get: undeprecated
* pybaz.Revision.previous: support '<<<no previous revision>>>'
* pybaz.Patchlog.new_patches: hack for
'!!!!!nothing-should-depend-on-this'
2005-03-30 David Allouche <david@allourche.net>
* pybaz._builtin.tla_tells_empty_meta_info: remove that old cruft.
Bazaar has always implemented proper detection of empty
archive-meta-info files.
2005-03-27 David Allouche <david@allourche.net>
* pybaz.Patchlog: modified usage of tree and fromlib arguments
(__init__): raises ValueError if both "tree" and "fromlib"
arguments are set.
(fromlib): attribute is now read-only.
(tree): attribute is now read-only.
2005-03-22 David Allouche <david@allourche.net>
* pybaz.NameParser: extensive test suite and improved bug for bug
compatibility with baz.
* pybaz.NameParser.object: improved correctness.
2005-03-14 David Allouche <david@allourche.net>
* pybaz.Archive.location: no longer raises ExecProblem when the
archive is not registered. Has value None instead.
2005-02-14 David Allouche <david@allouche.net>
New pybaz version detection API
* pybaz.backend.command_version: Removed. This information is now
provided by pybaz.backend.version.release.
2005-01-17 David Allouche <david@allouche.net>
* Deprecated getters in favour of properties
Read-only values which are normally immutable, and which are thus
susceptible to memoization, are represented in PyArch as
properties.
Many of those properties were originally defined using public
getter methods. Now, they are defined using protected methods and
the public methods are deprecated.
(Category.get_archive): Deprecated getter method.
(Branch.get_archive) : Deprecated getter method.
(Version.get_archive) : Deprecated getter method.
(Revision.get_archive): Deprecated getter method.
Replace by the "archive" properties.
(Category.get_nonarch): Deprecated getter method.
(Branch.get_nonarch) : Deprecated getter method.
(Version.get_nonarch) : Deprecated getter method.
(Revision.get_nonarch): Deprecated getter method.
Replace by the "nonarch" properties.
(Archive.get_fullname) : Deprecated getter method.
(Category.get_fullname): Deprecated getter method.
(Branch.get_fullname) : Deprecated getter method.
(Version.get_fullname) : Deprecated getter method.
(Revision.get_fullname): Deprecated getter method.
Replace by the "fullname" properties.
(Version.get_branch) : Deprecated getter method.
(Revision.get_branch): Deprecated getter method.
Replace by the "branch" properties.
(Revision.get_version): Deprecated getter method.
Replace by the "version" property.
(Revision.get_patchlevel): Deprecated getter method.
Replace by the "patchlevel" property.
(Archive.get_name) : Deprecated getter method.
(Archive.get_location) : Deprecated getter method.
(Archive.get_is_mirror) : Deprecated getter method.
(Archive.get_official_name): Deprecated getter method.
(Archive.get_is_signed) : Deprecated getter method.
(Archive.get_has_listings) : Deprecated getter method.
Replace by the properties with the corresponding names.
(Revision.get_patchlog): Deprecated getter method.
(Revision.get_ancestor): Deprecated getter method.
(Revision.get_previous): Deprecated getter method.
Replace by the properties with the corresponding names.
(Patchlog.get_revision) : Deprecated getter method.
(Patchlog.get_summary) : Deprecated getter method.
(Patchlog.get_description) : Deprecated getter method.
(Patchlog.get_date) : Deprecated getter method.
(Patchlog.get_creator) : Deprecated getter method.
(Patchlog.get_new_patches) : Deprecated getter method.
(Patchlog.get_merged_patches): Deprecated getter method.
(Patchlog.get_new_files) : Deprecated getter method.
(Patchlog.get_modified_files): Deprecated getter method.
(Patchlog.get_renamed_files) : Deprecated getter method.
(Patchlog.get_removed_files) : Deprecated getter method.
Replace by the properties with the corresponding names.
(Patchlog.get_continuation): Deprecated getter method.
(Patchlog.continuation): Renamed property.
Replace by the "continuation_of" property.
* Deprecated sequence methods in favour of iterable methods.
Methods which return sequences have been deprecated in favour of
similar methods returning iterables.
(Archive.get_categories) : Deprecated sequence method.
(Archive.get_library_categories): Deprecated sequence method.
Replace by the "iter_categories" and "iter_library_categories"
methods.
(Category.get_branches) : Deprecated sequence method.
(Category.get_library_branches): Deprecated sequence method.
Replace by the "iter_branches" and "iter_library_branches"
methods.
(Branch.get_versions) : Deprecated sequence method.
(Branch.get_library_versions): Deprecated sequence method.
Replace by the "iter_versions" and "iter_library_versions"
methods.
(Version.get_revisions) : Deprecated sequence method.
(Version.get_library_revisions): Deprecated sequence method.
Replace by the "iter_revisions" and "iter_library_revisions"
methods.
* Deprecated sequence functions in favour of iterable functions.
(archives): Deprecated sequence function.
Replace by the "iter_archive" function.
(library_archives): Deprecated sequence function.
Replace by the "iter_library_archives" function.
* Deprecated non-memoisable sequence properties in favour of
iterable methods.
A few properties provided access to mutable information that
generally requires network access to provide. They have been
deprecated in favour of iterable methods to underline the mutable
nature of the value and the potentially high cost of retrieval.
(Archive.categories): Deprecated mutable sequence property.
(Category.branches) : Deprecated mutable sequence property.
(Branch.versions) : Deprecated mutable sequence property.
(Version.revisions) : Deprecated mutable sequence property.
Replace by the the corresponding iter_* methods.
* Deprecated package conversion
The as_version() and as_revision() methods were introduced to
make it possible to indifferently process branches, versions, or
revisions. It turned out to be a bad idea. In useful cases, those
methods just were named in a way that does not say what they do,
and in the other cases they were just foolish consistency.
(Branch.as_version): Renamed method.
Replace by the "latest_version" method.
(Branch.as_revision) : Renamed method.
(Version.as_revision): Renamed method.
Replace by the "latest_revision" method.
(Version.as_version): Deprecated foolish consistency method.
(Revision.as_version): Deprecated foolish consistency method.
These methods only returned self.
* Deprecated function usage with default argument
Explicit is better than implicit, and in addition these methods
are often used as part of input validation, so it's better to be
explicit when the current directory is used.
(in_source_tree): Made path argument mandatory.
Replace "in_source_tree()" by "in_source_tree('.')".
(tree_root) : Made path argument mandatory.
Replace "tree_root()" by "tree_root('.')".
* Deprecated redundant top-level functions
(changeset): Deprecated redundant function.
The functionality of "changeset(orig, mod, dest)" is provided by
"arch.delta(orig, mod, dest)" where orig and mod are
ArchSourceTree instances.
(last_revision): Deprecated redundant function.
Replace with ArchSourceTree.tree_revision.
* Deprecated overbroad top-level functions
Some functions were overbroad and reproduced convenience
heuristics of the tla command line. They have been replaced by
methods in the appropriate class.
(make_continuation): Deprecated overbroad function.
Replace with Revision.make_continuation(version).
make_continuation(version1, version2)
must now be expressed as
version1.latest_revision.make_continuation(version2)
But this idiom is unsafe. Instead, you probably want to use
tree.tree_revision.make_continuation(VERSION).
(get): Deprecated overbroad function.
Replace with Revision.get(dirname).
UPDATE: Version.get was introduced as a convenience shortcut for
version.latest_revision().get, but you should be aware of the
potential race conditions, since latest_revision() may return
different values because of concurrent commits to the same
version.
(get_patch): Deprecated function.
Replace with Revision.get_patch(dirname).
* Removed functions without replacement
These functions are trivial or do not belong in generic library
bindings. I wrote them early in the development of pyarch for
experimentation purposes.
(filter_archive_logs): Trivial.
(filter_revisions): Trivial.
(grep_summary): Trivial.
(grep_summary_interactive): Not generic.
(suspected_move): Not generic.
(revisions_merging): Trivial.
(temphack): Well, that was a temporary hack...
(revision_which_created): Trivial.
(map_name_id): Trivial.
2004-01-13 ddaa@ddaa.net--2004/pybaz--devo--0--patch-26
* pybaz.backend: Removed the pybaz.backend.spawner attribute, and
added several method to spawn commands in specific ways.
Attention, several of those methods have a slighly different
signature than the corresponding functions in pybaz.backends.baz.
|