Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 161840 Details for
Bug 229033
repoman commits Manifests twice on svn
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
repoman commit manifest patch
repoman.patch (text/plain), 2.75 KB, created by
Fabian Groffen
on 2008-07-31 13:45:48 UTC
(
hide
)
Description:
repoman commit manifest patch
Filename:
MIME Type:
Creator:
Fabian Groffen
Created:
2008-07-31 13:45:48 UTC
Size:
2.75 KB
patch
obsolete
>Index: bin/repoman >=================================================================== >--- bin/repoman (revision 11210) >+++ bin/repoman (revision 11215) >@@ -1737,19 +1744,22 @@ > mynew=portage.cvstree.findnew(mycvstree,recursive=1,basedir="./") > myremoved=portage.cvstree.findremoved(mycvstree,recursive=1,basedir="./") > bin_blob_pattern = re.compile("^-kb$") >- bin_blobs = set(portage.cvstree.findoption(mycvstree, bin_blob_pattern, >+ expansion = set(portage.cvstree.findoption(mycvstree, bin_blob_pattern, > recursive=1, basedir="./")) > > > if vcs == "svn": > svnstatus = os.popen("svn status").readlines() > mychanged = [ elem.rstrip()[7:] for elem in svnstatus if elem.startswith("M") ] >- for manifest in [ file for file in mychanged if '/Manifest' in file ]: >- mychanged.remove(manifest) >- mynew = [ elem.rstrip()[7:] for elem in svnstatus if elem.startswith("A") ] >+ mynew = [ elem.rstrip()[7:] for elem in svnstatus if elem.startswith("A") ] > myremoved = [ elem.rstrip()[7:] for elem in svnstatus if elem.startswith("D") ] >- # no idea how to detect binaries in SVN >- bin_blobs = [] >+ # in contrast to CVS, SVN expands nothing by default, but of >+ # course proplist's output is horrible. bin_blobs historically >+ # were just there to see what files need to be checked for >+ # keyword expansion, which is exactly what we do here, so >+ # slightly change the semantic meaning of "bin_blob"... >+ props = os.popen("svn proplist -R").readlines() >+ expansion = [ prop[15:-3] for prop in props if prop.startswith("Properties on '") ] > > if vcs: > if not (mychanged or mynew or myremoved): >@@ -1769,8 +1779,12 @@ > headerstring = "'\$(Header|Id)" > headerstring += ".*\$'" > for myfile in myupdates: >- if myfile in bin_blobs: >+ # for CVS, expansion contains files that are excluded from expansion >+ if vcs == "cvs" and myfile in expansion: > continue >+ # for SVN, expansion contains files that are included in expansion >+ if vcs == "svn" and myfile not in expansion: >+ continue > myout = commands.getstatusoutput("egrep -q "+headerstring+" "+myfile) > if myout[0] == 0: > myheaders.append(myfile) >@@ -1825,6 +1839,8 @@ > > if myupdates or myremoved: > myfiles = myupdates + myremoved >+ if not myheaders and "sign" not in repoman_settings.features: >+ myfiles += mymanifests > fd, commitmessagefile = tempfile.mkstemp(".repoman.msg") > mymsg = os.fdopen(fd, "w") > mymsg.write(commitmessage) >@@ -1911,8 +1927,8 @@ > write_atomic(x, "".join(mylines)) > > manifest_commit_required = True >- if myheaders or myupdates or myremoved or mynew: >- myfiles=myheaders+myupdates+myremoved+mynew >+ if myupdates or myremoved or mynew: >+ myfiles=myupdates+myremoved+mynew > for x in range(len(myfiles)-1, -1, -1): > if myfiles[x].count("/") < 4-repolevel: > del myfiles[x]
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 229033
:
161840
|
161843