[opensuse-buildservice] osc bco pkg creates incomplete working copy
Currently 'osc bco pkg' branches the given pkg from Factory, but the resulting checkout lacks the _link file. This results in commit failures because the working copy is out of date. 'osc up' before commit is a workaround. Is this a bug in osc, or is the server responsbile to deliver a complete working copy, which includes also the _link file? Olaf -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On 2015-10-07 14:51:18 +0200, Olaf Hering wrote:
Currently 'osc bco pkg' branches the given pkg from Factory, but the resulting checkout lacks the _link file.
bco checks out the expanded sources by default (after the checkout, you can switch to the osc working copy and run "osc up -u" to get the unexpanded sources, which contain the _link).
This results in commit failures because the working copy is out of date. 'osc up' before commit is a workaround.
Hmm in this situation, a subsequent "osc up" shouldn't checkout the _link file. About which project/package are talking? I suspect that the branched package contains a _service file (in this case, "osc bco" checked out the "wrong" sources (I fixed this recently [1])). Marcus [1] https://github.com/openSUSE/osc/commit/400352c61ef946c47c41b0968bbb87a4398f6... -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Am 07.10.2015 um 15:12 schrieb Marcus Hüwe:
This results in commit failures because the working copy is out of date. 'osc up' before commit is a workaround.
Hmm in this situation, a subsequent "osc up" shouldn't checkout the _link file. About which project/package are talking? I suspect that the branched package contains a _service file (in this case, "osc bco" checked out the "wrong" sources (I fixed this recently [1])).
Every package I branched in the past weeks. Today it was libvirt. I think 'bco' did not do this in the past, but maybe I misremember. Olaf -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Is that a bug in the API? $ osc bco Base:System which $ cd home:Andreas_Schwab:branches:Base:System/which $ osc info Project name: home:Andreas_Schwab:branches:Base:System Package name: which Path: /daten/src/osc/home:Andreas_Schwab:branches:Base:System/which API URL: https://api.opensuse.org Source URL: https://api.opensuse.org/source/home:Andreas_Schwab:branches:Base:System/whi... srcmd5: 2ec1b0c70088fb78e89214b8d2330298 Revision: 2ec1b0c70088fb78e89214b8d2330298 Link info: expanded link to project Base:System, package which, srcmd5 aec3cee9ff8919cd6306ec6a758926da, lsrcmd5 e99c7fe6edee596e9f6f12748bd42d19 $ osc api 'https://api.opensuse.org/source/home:Andreas_Schwab:branches:Base:System/whi...' <directory name="which" rev="2ec1b0c70088fb78e89214b8d2330298" vrev="10" srcmd5="2ec1b0c70088fb78e89214b8d2330298"> <linkinfo project="Base:System" package="which" srcmd5="aec3cee9ff8919cd6306ec6a758926da" baserev="aec3cee9ff8919cd6306ec6a758926da" lsrcmd5="e99c7fe6edee596e9f6f12748bd42d19" /> <serviceinfo code="succeeded" lsrcmd5="5609ec09bd1b2b1030c6e142153125dd" /> <entry name="which-2.21.tar.gz" md5="097ff1a324ae02e0a3b0369f07a7544a" size="149305" mtime="1427047858" /> <entry name="which.changes" md5="3ccbcae38505c3ebbfb6007367e17601" size="735" mtime="1441801950" /> <entry name="which.spec" md5="bb00612c40629cf79aa015bfdaaa8e10" size="1779" mtime="1441801950" /> </directory> $ osc up At revision fffa23823e18d2328b4cf341650c4ddf. $ osc info Project name: home:Andreas_Schwab:branches:Base:System Package name: which Path: /daten/src/osc/home:Andreas_Schwab:branches:Base:System/which API URL: https://api.opensuse.org Source URL: https://api.opensuse.org/source/home:Andreas_Schwab:branches:Base:System/whi... srcmd5: fffa23823e18d2328b4cf341650c4ddf Revision: fffa23823e18d2328b4cf341650c4ddf Link info: expanded link to project Base:System, package which, srcmd5 aec3cee9ff8919cd6306ec6a758926da, lsrcmd5 5609ec09bd1b2b1030c6e142153125dd The api call returns a different revision (2ec1b0c70088fb78e89214b8d2330298) than what osc up established (fffa23823e18d2328b4cf341650c4ddf). The former is what osc bco checked out first. But note that lsrcmd5 in the updated working directory is the same as the lsrcmd5 in the serviceinfo. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On 2015-10-07 16:44:55 +0200, Andreas Schwab wrote:
Is that a bug in the API?
No (see below).
$ osc bco Base:System which $ cd home:Andreas_Schwab:branches:Base:System/which $ osc info Project name: home:Andreas_Schwab:branches:Base:System Package name: which Path: /daten/src/osc/home:Andreas_Schwab:branches:Base:System/which API URL: https://api.opensuse.org Source URL: https://api.opensuse.org/source/home:Andreas_Schwab:branches:Base:System/whi... srcmd5: 2ec1b0c70088fb78e89214b8d2330298 Revision: 2ec1b0c70088fb78e89214b8d2330298 Link info: expanded link to project Base:System, package which, srcmd5 aec3cee9ff8919cd6306ec6a758926da, lsrcmd5 e99c7fe6edee596e9f6f12748bd42d19 $ osc api 'https://api.opensuse.org/source/home:Andreas_Schwab:branches:Base:System/whi...' <directory name="which" rev="2ec1b0c70088fb78e89214b8d2330298" vrev="10" srcmd5="2ec1b0c70088fb78e89214b8d2330298"> <linkinfo project="Base:System" package="which" srcmd5="aec3cee9ff8919cd6306ec6a758926da" baserev="aec3cee9ff8919cd6306ec6a758926da" lsrcmd5="e99c7fe6edee596e9f6f12748bd42d19" /> <serviceinfo code="succeeded" lsrcmd5="5609ec09bd1b2b1030c6e142153125dd" /> <entry name="which-2.21.tar.gz" md5="097ff1a324ae02e0a3b0369f07a7544a" size="149305" mtime="1427047858" /> <entry name="which.changes" md5="3ccbcae38505c3ebbfb6007367e17601" size="735" mtime="1441801950" /> <entry name="which.spec" md5="bb00612c40629cf79aa015bfdaaa8e10" size="1779" mtime="1441801950" /> </directory>
You get this filelist, if you run the services and apply the _link afterwards. This is what "osc bco" currently checks out.
$ osc up At revision fffa23823e18d2328b4cf341650c4ddf.
You get this filelist, if you do _not_ run the services and just apply the _link. Since we don't want to checkin the generated _service:* files, this is the revision/fileset we are interested in. Hence, I fixed "osc bco" so that it checks out this filelist (see [1]).
$ osc info Project name: home:Andreas_Schwab:branches:Base:System Package name: which Path: /daten/src/osc/home:Andreas_Schwab:branches:Base:System/which API URL: https://api.opensuse.org Source URL: https://api.opensuse.org/source/home:Andreas_Schwab:branches:Base:System/whi... srcmd5: fffa23823e18d2328b4cf341650c4ddf Revision: fffa23823e18d2328b4cf341650c4ddf Link info: expanded link to project Base:System, package which, srcmd5 aec3cee9ff8919cd6306ec6a758926da, lsrcmd5 5609ec09bd1b2b1030c6e142153125dd
The api call returns a different revision (2ec1b0c70088fb78e89214b8d2330298) than what osc up established (fffa23823e18d2328b4cf341650c4ddf). The former is what osc bco checked out first. But note that lsrcmd5 in the updated working directory is the same as the lsrcmd5 in the serviceinfo.
The lsrcmd5s are the same, because the service run didn't change the filelist (all services are "disabled" or "localonly"). Marcus [1] https://github.com/openSUSE/osc/commit/400352c61ef946c47c41b0968bbb87a4398f6... -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On 2015-10-07 17:58:57 +0200, Marcus Hüwe wrote:
You get this filelist, if you do _not_ run the services and just apply the _link. Since we don't want to checkin the generated _service:* files, this is the revision/fileset we are interested in. Hence, I fixed "osc bco" so that it checks out this filelist (see [1]).
I just updated the devel:tools:scm/osc package (if you want to give it a try). Marcus -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
osc bco always checks out the wrong revision first. Apparently it computes the wrong value for lsrcmd5. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
participants (3)
-
Andreas Schwab
-
Marcus Hüwe
-
Olaf Hering