Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 245422

Summary: repoman commit fails: Up-to-date check failed for `Manifest'
Product: Portage Development Reporter: Peter Volkov (RETIRED) <pva>
Component: RepomanAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal Keywords: InVCS, REGRESSION
Priority: High    
Version: 2.2   
Hardware: All   
OS: Linux   
URL: http://archives.gentoo.org/gentoo-dev/msg_ca845fbdcfa1ff4f43b0457eded16fa5.xml
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 210077, 216231    
Attachments: robbat2's demonstration of the cvs server bug triggered by a ./ prefix on file paths
strip the ./ prefix from file paths passed to cvs during commit

Description Peter Volkov (RETIRED) gentoo-dev 2008-11-03 17:24:15 UTC
I've modified only one patch in files directory and wanted to commit without touching ChangeLog:

 $ cvs diff
Index: Manifest
===================================================================
RCS file: /var/cvsroot/gentoo-x86/dev-libs/judy/Manifest,v
retrieving revision 1.27
diff -u -B -r1.27 Manifest
--- Manifest    3 Nov 2008 15:33:50 -0000       1.27
+++ Manifest    3 Nov 2008 16:53:51 -0000
@@ -1,4 +1,4 @@
-AUX judy-1.0.4-parallel-make.patch 6615 RMD160 6759258930c5ade81fa28fd0ff78396981564c0c SHA1 a8066fd06dba4b897e711e295745df8519eceb4f SHA256 00d44b13e934284d80d7a7529e030a5863f45516d0306ee35c94f0d769616c45
+AUX judy-1.0.4-parallel-make.patch 6709 RMD160 643e81cb285ecbef6098bd7ae9a0543babc06fb7 SHA1 2341a96be944ef5aeb0fbfb49bb6a867585a9144 SHA256 5cca73627b3c87acdc631d123a0f4f4ac0c7ca5cc694df9bf015299458f6a7a8
 DIST Judy-1.0.3.tar.gz 1132631 RMD160 bf2cd7e34f1480870cf7dc9a9a9ccde333e78d74 SHA1 106a8e78139ef6184b4f9848a6a5568fdc9614c4 SHA256 f486e0bf842a8515a80ef678b3b5f6eb82d50a7e4f4003544db8b10a9d7affd7
 DIST Judy-1.0.4.tar.gz 1142724 RMD160 f97aa8937dd5f774d6cd37ba3599795a9e794306 SHA1 ceb3d4be5572438a414f39db4ce0eb3735462130 SHA256 ac3e5c24ac48867543603e78238c7accad77cdd438846379091babfcb5d0c69b
 EBUILD judy-1.0.3.ebuild 700 RMD160 ee70f57fdf230fa55321d03e6a56228a336a319a SHA1 6557af327c231bb2e8446b7007a23fd105908ae5 SHA256 5044434034f3f5cc6481b9100f3289dfcc432bf107019ba21c2abd0e2b39deeb
Index: files/judy-1.0.4-parallel-make.patch
===================================================================
RCS file: /var/cvsroot/gentoo-x86/dev-libs/judy/files/judy-1.0.4-parallel-make.patch,v
retrieving revision 1.1
diff -u -B -r1.1 judy-1.0.4-parallel-make.patch
--- files/judy-1.0.4-parallel-make.patch        3 Nov 2008 15:33:43 -0000       1.1
+++ files/judy-1.0.4-parallel-make.patch        3 Nov 2008 16:53:51 -0000
@@ -1,3 +1,5 @@
+https://sourceforge.net/tracker/index.php?func=detail&aid=2219175&group_id=55753&atid=478140
+
 === modified file 'doc/Makefile.am'
 --- doc/Makefile.am    2008-11-03 15:14:54 +0000
 +++ doc/Makefile.am    2008-11-03 15:16:21 +0000


With repoman that comes with portage-2.2_rc13 commit fails:


 $ repoman commit -m "Added URL to track patch status."

RepoMan scours the neighborhood...
>>> Creating Manifest for /home/pva/overlays/gentoo-x86/dev-libs/judy
  digest.assumed                 1
   judy-1.0.3::Judy-1.0.3.tar.gz
* 1 files being committed... 0 have headers that will change.
* Files with headers will cause the manifests to be made and recommited.

Using commit message:
------------------------------------------------------------------------------
Added URL to track patch status.
(Portage version: 2.2_rc13/cvs/Linux 2.6.26-openvz.git-35f41f1 i686)
------------------------------------------------------------------------------

cvs commit: Up-to-date check failed for `Manifest'
cvs [commit aborted]: correct above errors first!
!!! Exiting on cvs (shell) error code: 1

At the same time downgrading portage to 2.1.4.5 fixes the problem:

 $ repoman commit -m "Added URL to track patch status."

Setting paths:
PORTDIR = "/home/pva/overlays/gentoo-x86"
PORTDIR_OVERLAY = ""

Performing a cvs -n up with a little magic grep to check for updates.

RepoMan scours the neighborhood...
>>> Creating Manifest for /home/pva/overlays/gentoo-x86/dev-libs/judy
  digest.assumed                 1
   digest-judy-1.0.3::Judy-1.0.3.tar.gz

* 1 files being committed... 0 have headers that will change.
* Files with headers will cause the manifests to be made and recommited.
myupdates: ['./files/judy-1.0.4-parallel-make.patch']
myheaders: []


Using commit message:
------------------------------------------------------------------------------
Added URL to track patch status.
(Portage version: 2.1.4.5)
------------------------------------------------------------------------------

/var/cvsroot/gentoo-x86/dev-libs/judy/files/judy-1.0.4-parallel-make.patch,v  <--  ./files/judy-1.0.4-parallel-make.patch
new revision: 1.2; previous revision: 1.1
Mailing the commit message...
>>> Creating Manifest for /home/pva/overlays/gentoo-x86/dev-libs/judy
  digest.assumed                 1
   digest-judy-1.0.3::Judy-1.0.3.tar.gz
/var/cvsroot/gentoo-x86/dev-libs/judy/Manifest,v  <--  Manifest
new revision: 1.28; previous revision: 1.27

CVS commit complete.
RepoMan sez: "If everyone were like you, I'd be out of business!"
Comment 1 Fabian Groffen gentoo-dev 2008-11-03 17:31:09 UTC
Weird, that error usually means the file you want to commit is not the latest revision available on the server.  Are you sure you didn't run an `cvs update` in the middle somewhere?
Comment 2 Peter Volkov (RETIRED) gentoo-dev 2008-11-03 17:36:54 UTC
The only change that I did between two subsequent attempts to commit was downgrading of portage. If Manifest wasn't up-to-date then commit should fail in both cases.

That's said, yes, I'm sure. I had same problem for dictd and I've removed directory completely and did cvs up and then update patch and back to this situation twice. In dictd case to workaround this issue I had to update ChangeLog first. But I don't think changes like this require ChangeLog entry.

And think that this problem is reproducible, just add empty line to some patch in the tree, recreate manifest and I suppose you'll get this error.
Comment 3 Fabian Groffen gentoo-dev 2008-11-03 17:57:23 UTC
[tefnut:repomancheck/sys-apps/dummy] % cvs diff
cvs diff: Diffing .
Index: Manifest
===================================================================
RCS file: /var/tmp/cvstest/repomancheck/sys-apps/dummy/Manifest,v
retrieving revision 1.2
diff -u -r1.2 Manifest
--- Manifest    3 Nov 2008 17:51:23 -0000       1.2
+++ Manifest    3 Nov 2008 17:52:21 -0000
@@ -1,4 +1,4 @@
-AUX dummy-0-stupid.patch 8 RMD160 b7698d91526ac8d5d27f4408fcc6d3afaa2feb31 SHA1 9fd2be4badf713d640ae46bf4547d1549654dfe5 SHA256 37406d190e1257cb5b61c7789ba3718599b9045d16698412bd191cd0348c452d
+AUX dummy-0-stupid.patch 12 RMD160 298f21f6a56d9a13cc41160e95d0dae64fc48d46 SHA1 afc2e68e305db6fc98aa7456bc46e1c62bf1641b SHA256 5fa5085d5c2bb9f0eb399c212f5a2ca8de41d84f3d71d4a473a743e1d94b841e
 EBUILD dummy-0.ebuild 370 RMD160 e59da92b332a0ae0c2a4ea389253e950fbbc5268 SHA1 cfcdc4f8570b70a8824300277b9030801c619e26 SHA256 3d6ee9926af869373ef707d63b3664b24e00d0e3b35ee353974b421e18fbf7f9
 MISC ChangeLog 333 RMD160 c846f2c4b5f649742918b7d9e4ee4eebd46ebb9c SHA1 b6f40a0e11a71d62a2d43dc630d288e14651fdd8 SHA256 51830a4453228b962cc4de15f2f987a56cc8821a8fa1d13dbf4b81aed36ec6fb
 MISC metadata.xml 164 RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 SHA1 9c213f5803676c56439df3716be07d6692588856 SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92
cvs diff: Diffing files
Index: files/dummy-0-stupid.patch
===================================================================
RCS file: /var/tmp/cvstest/repomancheck/sys-apps/dummy/files/dummy-0-stupid.patch,v
retrieving revision 1.1
diff -u -r1.1 dummy-0-stupid.patch
--- files/dummy-0-stupid.patch  3 Nov 2008 17:51:23 -0000       1.1
+++ files/dummy-0-stupid.patch  3 Nov 2008 17:52:14 -0000
@@ -1 +1,3 @@
 bla bla
+
+bl
[tefnut:repomancheck/sys-apps/dummy] % env PORTDIR_OVERLAY=/var/tmp/repomancheck repoman commit -m "modify patch"

RepoMan scours the neighborhood...
>>> Creating Manifest for /var/tmp/repomancheck/sys-apps/dummy
  ebuild.allmasked              1
   sys-apps/dummy
* 1 files being committed... 0 have headers that will change.
* Files with headers will cause the manifests to be made and recommited.

Using commit message:
------------------------------------------------------------------------------
modify patch
(Portage version: 2.2.00.11799-prefix/cvs/Darwin 8.11.0 powerpc)
------------------------------------------------------------------------------

Checking in ./files/dummy-0-stupid.patch;
/var/tmp/cvstest/repomancheck/sys-apps/dummy/files/dummy-0-stupid.patch,v  <--  dummy-0-stupid.patch
new revision: 1.2; previous revision: 1.1
done
Checking in Manifest;
/var/tmp/cvstest/repomancheck/sys-apps/dummy/Manifest,v  <--  Manifest
new revision: 1.3; previous revision: 1.2
done
>>> Creating Manifest for /var/tmp/repomancheck/sys-apps/dummy

Commit complete.
RepoMan sez: "If everyone were like you, I'd be out of business!"

[tefnut:repomancheck/sys-apps/dummy] % 


I thought my repoman "Manifest committed twice" patch went into _rc13, so there should be no difference between my repoman (like trunk) and the one in _rc13.
Comment 4 Zac Medico gentoo-dev 2008-11-14 08:12:50 UTC
Created attachment 171694 [details]
robbat2's demonstration of the cvs server bug triggered by a ./ prefix on file paths

This bug report seems to be the same problem discussed here:

  http://archives.gentoo.org/gentoo-dev/msg_ca845fbdcfa1ff4f43b0457eded16fa5.xml
Comment 5 Zac Medico gentoo-dev 2008-11-14 08:17:07 UTC
Created attachment 171695 [details, diff]
strip the ./ prefix from file paths passed to cvs during commit
Comment 6 Peter Volkov (RETIRED) gentoo-dev 2008-11-14 10:22:50 UTC
I've tried this patch and it works. Thank you very much!
Comment 7 Peter Volkov (RETIRED) gentoo-dev 2008-11-22 10:49:43 UTC
Portage with this fix applied was released, so this bug is fixed.