summaryrefslogtreecommitdiffstats
path: root/bin/repoman
Commit message (Collapse)AuthorAgeFilesLines
* UpdateChangeLog: split out get_committer_name()Zac Medico2011-10-201-4/+7
|
* repoman: get ChangeLog header from skel.ChangeLogFabian Groffen2011-10-201-1/+1
| | | | | | | Use skel.ChangeLog from the repo to create the header of a new ChangeLog file. Else, we just retain the original header of the ChangeLog. When no skel.ChangeLog file exists, and this is a new ChangeLog, no header is used.
* repoman: get default to update changelog from layout.confFabian Groffen2011-10-201-4/+1
| | | | | | | | | | | | | Updating the ChangeLog file may be desirable in more repos than just the one named 'gentoo', like e.g. the Prefix one. Hence, make this default configurable though metadata/layout.conf. This commit must go accompanied by a commit to gentoo-x86/metadata/layout.conf that adds the following bit: # Bug #337853 - gentoo's council says to enable # --echangelog by default for the "gentoo" repo update-changelog = true
* python3.2 fixes: "ResourceWarning: unclosed file"Zac Medico2011-10-171-20/+48
|
* repoman: support --echangelog=forceZac Medico2011-10-161-5/+6
| | | | | Allows forced ChangeLog generation even when the vcs has detected that the ChangeLog has already been modified.
* repoman: handle subprocess bug with Python 3.1Zac Medico2011-10-161-1/+9
|
* repoman: simplify autoadd codeZac Medico2011-10-161-25/+11
|
* repoman: implemented echangelog functionalityFabian Groffen2011-10-161-58/+59
| | | | | | | | | | Instead of calling echangelog, which on its turn has to query the VCS again, use the existing information on changes made to the current directory, and update the ChangeLog from Python itself. This avoids a call to echangelog, and avoids again retrieving the same VCS information as repoman already did. It makes repoman independent from external tools it didn't install itself, and should be faster in general.
* repoman: remove unused importsZac Medico2011-10-151-3/+1
|
* repoman: handle categories for multiple mastersZac Medico2011-10-151-1/+2
| | | | | | Also, copy repoman_settings.categories to each individual profile's dep_settings.categories attribute, in order to ensure that portdbapi.cp_list() uses the correct category set.
* frozenset categories optimize pordbapi.cp_list()Zac Medico2011-10-151-3/+3
|
* repoman: validate categories for vcs filesZac Medico2011-10-151-11/+13
|
* repoman: simplify digestgen and gpgsign loopsZac Medico2011-10-141-73/+11
| | | | | We can re-use the vcs_files_to_cps() function from commit 9c9145a9e3c2d8d1bcebf791ce2188add656fee2.
* repoman: optimize --if-modified and --echangelogZac Medico2011-10-141-25/+39
| | | | Avoid unnecessary nested loops.
* repoman --echangelog: fix manifest-only commmitsZac Medico2011-10-141-2/+4
|
* repoman --if-modified: handle removed filesZac Medico2011-10-141-4/+22
|
* repoman: handle unicode in echangelog argsZac Medico2011-10-141-3/+7
|
* repoman: add --echangelog=<y|n> for bug #337853Zac Medico2011-10-141-56/+118
| | | | | | | | This option will call echangelog for each package that has modified files and does not have a modified ChangeLog. Gentoo's council has decided that this option will be enabled by default for the "gentoo" repository. If desired, we can add a metadata/layout.conf setting so that other repositories can control the default behavior.
* repoman: support REPOMAN_DEFAULT_OPTS variableZac Medico2011-10-141-0/+9
|
* repoman: add 'repository' to portdbapi cacheZac Medico2011-10-071-1/+1
| | | | | | | This fixes _getMaskAtom to work correctly with the repo atoms that are generated by MaskManager, solving the issue reported here: https://github.com/cschwan/sage-on-gentoo/issues/90#issuecomment-2324953
* repoman: tweak myupdates/myheaders commit logicv2.2.0_alpha63Zac Medico2011-10-071-2/+1
| | | | | | | | If we unconditionally exclude myremoved from myupdates, then removed files will also be excluded from myheaders. This allows us to avoid unnecessary separate manifest commits in cases when "myheaders" only contained files that were being removed. Since our code always uses myupdates + myremoved, this change in logic doesn't break anything.
* repoman: tweak commit logic wrt thin-manifestZac Medico2011-10-071-1/+1
| | | | | Don't populate the "myheaders" variable when we have thin-manifests that contain only DIST entries.
* Don't do a split signed Manifest commit when no headers will change. Fixes ↵Nathan Phillip Brink2011-10-071-6/+9
| | | | bug #340475.
* repoman: bail out if unsupported manifest-hashesZac Medico2011-10-031-0/+25
|
* repoman: account for GLEP 59 in RMD160 checkZac Medico2011-10-031-20/+20
|
* repoman: never force unsigned manifest commitv2.2.0_alpha60Zac Medico2011-09-291-33/+0
| | | | | | | | This removes a special case where manifests would first be commited without signatures for category-level or greater commits. This case behavior wasn't very useful anyway, and would be a problem if the unsigned manifests got rejected by a commit hook (as may happen in the near future).
* portdbapi.xmatch: optimize minimum-visibleZac Medico2011-09-241-1/+1
| | | | | | Also, make repoman cache IUSE, since that's required for _match_use to work effciently. This will eliminate lots of redundant aux_get calls for repoman, triggered by USE deps.
* portdbapi.xmatch: deprecate list-visibleZac Medico2011-09-221-1/+1
|
* repoman: quote paths in PORTDIR_OVERLAYZac Medico2011-09-161-1/+2
| | | | This will fix bug #383269.
* Remove unused Manifest imports.v2.2.0_alpha58Zac Medico2011-09-141-1/+0
|
* Fix typos in comments.Arfrever Frehtes Taifersar Arahesis2011-09-141-2/+2
|
* repoman: use repodir moreZac Medico2011-09-141-1/+1
|
* repoman: use the repodir variable moreZac Medico2011-09-141-9/+4
|
* repoman: fix KeyError from digestgen with symlinkZac Medico2011-09-141-0/+7
|
* metadata/layout.conf: "sign-manifests = false"Zac Medico2011-09-121-4/+6
| | | | | | This allows repos to disable manifest signatures, which is useful if they want to prevent merge conflicts like those that thin-manifests is designed to prevent.
* repoman: don't sign thin manifestsZac Medico2011-09-121-3/+9
| | | | | Thin manifests imply reliance on the VCS for file integrity, which implies that manifest signatures are not needed.
* Bind all manifest access through repoconfigsBrian Harring2011-09-121-2/+6
| | | | | This enables controling the behaviour (creation and validation) per repo, and while mildly ugly, refactors in the right direction.
* repoman: fix a typo in the file.executable descZac Medico2011-09-101-1/+1
|
* Fix repoman dependency.unknown to use xmatch.v2.2.0_alpha53Zac Medico2011-09-031-11/+12
| | | | This solves the issues discussed in bug #381087, comment #8.
* repoman: enable dependency.unknown for blockersZac Medico2011-08-301-3/+2
| | | | This will fix bug #381087.
* repoman: add a simple unit testZac Medico2011-08-251-5/+6
|
* python3.2 fixes: ResourceWarning: unclosed fileZac Medico2011-08-251-2/+7
|
* repoman: tweak --if-modified help outputv2.2.0_alpha51Zac Medico2011-08-121-0/+1
|
* repoman: warn when --if-modified finds nothingZac Medico2011-08-121-1/+10
|
* repoman: add --if-modified option to check lessZac Medico2011-08-101-0/+15
| | | | | | This is useful if you want to do a repo-level or category-level commit but you only want to run checks for the packages that have uncommitted modifications.
* Remove python-2.6 StringIO.StringIO fallback.Zac Medico2011-07-121-2/+1
| | | | | | | | Since the io module in python-2.6 was broken when threading was disabled, we needed to fall back from io.StringIO to StringIO.StringIO in this case (typically just for Gentoo's stage1 and stage2 tarballs). Now that python-2.7 is stable in stages and we rely on io.open() being available, we can also rely on io.StringIO being available.
* Migrate from codecs.open() to io.open().Zac Medico2011-07-101-5/+5
| | | | | | | | | | | | | | | | | The io.open() function is the same as the built-in open() function in python3, and its implementation is optimized in python-2.7 and later. In addition to the possible performance improvement, this also allows us to avoid any future compatibility issues with codecs.open() that may arise if it is delegated to the built-in open() function as discussed in PEP 400. The main caveat involved with io.open() is that TextIOWrapper.write() raises TypeError if given raw bytes, unlike the streams returned from codecs.open(). This is mainly an issue for python2 since literal strings are raw bytes. We handle this by wrapping TextIOWrapper.write() arguments with our _unicode_decode() function. Also, the atomic_ofstream class overrides the write() method in python2 so that it performs automatic coercion to unicode when necessary.
* repoman: ElementTree.ParseError -> SyntaxErrorZac Medico2011-07-031-1/+1
| | | | | The ElementTree.ParseError class is undocumented and isn't available in python-2.6, so use its SyntaxError base class instead.
* repoman: fix broken set constructor usageZac Medico2011-06-241-1/+2
|
* repoman: add new "dependency.unknown" warningZac Medico2011-06-241-0/+25
| | | | | This checks for a dependency that refers to an unknown package (which may be provided by an overlay), as requested in bug #372789.