* [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
@ 2008-08-26 20:40 Robin H. Johnson
2008-08-26 20:41 ` Yuri Vasilevski
` (3 more replies)
0 siblings, 4 replies; 24+ messages in thread
From: Robin H. Johnson @ 2008-08-26 20:40 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 796 bytes --]
Hi folks,
I'm doing some research on our usages of the $Header$ keyword in our
main CVS repo.
The primary use-case that has been publicly stated before was for users
to be able to identify to developers what version of a given ebuild they
were using.
Q: How much have you utilized the primary use case?
Q: Are there any other use-cases you have and actively use?
For evaluating existing uses of the primary case, I took a glance at
Bugzilla. There are 624 bugs total that contain a $Header$ with an
existing Gentoo path. At least 143 of those are for new packages or
version bumps (they copied existing ebuilds).
--
Robin Hugh Johnson
Gentoo Linux Developer & Infra Guy
E-Mail : robbat2@gentoo.org
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85
[-- Attachment #2: Type: application/pgp-signature, Size: 329 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-26 20:40 [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted Robin H. Johnson
@ 2008-08-26 20:41 ` Yuri Vasilevski
2008-08-26 20:54 ` Robin H. Johnson
2008-08-27 16:35 ` Fabian Groffen
2008-08-26 20:46 ` Mart Raudsepp
` (2 subsequent siblings)
3 siblings, 2 replies; 24+ messages in thread
From: Yuri Vasilevski @ 2008-08-26 20:41 UTC (permalink / raw
To: gentoo-dev
Hi,
On Tue, 26 Aug 2008 13:40:36 -0700
"Robin H. Johnson" <robbat2@gentoo.org> wrote:
> I'm doing some research on our usages of the $Header$ keyword in our
> main CVS repo.
>
> Q: Are there any other use-cases you have and actively use?
I use the revision present in the header to identify changes in
ebuild files that didn't needed a revision dump.
Kindest regards,
Yuri.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-26 20:40 [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted Robin H. Johnson
2008-08-26 20:41 ` Yuri Vasilevski
@ 2008-08-26 20:46 ` Mart Raudsepp
2008-08-27 17:12 ` Paul Varner
2008-10-01 15:31 ` Thilo Bangert
3 siblings, 0 replies; 24+ messages in thread
From: Mart Raudsepp @ 2008-08-26 20:46 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 804 bytes --]
On T, 2008-08-26 at 13:40 -0700, Robin H. Johnson wrote:
> The primary use-case that has been publicly stated before was for
> users
> to be able to identify to developers what version of a given ebuild they
> were using.
>
> Q: How much have you utilized the primary use case?
Never. There has never been a reason to ask this from the user for me.
If the ebuild in question has changed without changing name, it has
always been obvious if it matters, and if the user has an old version if
it does (as then what the bug is about is what was just recently fixed
without revbump, typically build fixes).
> Q: Are there any other use-cases you have and actively use?
No.
--
Mart Raudsepp
Gentoo Developer
Mail: leio@gentoo.org
Weblog: http://planet.gentoo.org/developers/leio
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-26 20:41 ` Yuri Vasilevski
@ 2008-08-26 20:54 ` Robin H. Johnson
2008-08-26 20:59 ` Yuri Vasilevski
2008-08-27 16:35 ` Fabian Groffen
1 sibling, 1 reply; 24+ messages in thread
From: Robin H. Johnson @ 2008-08-26 20:54 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 552 bytes --]
On Tue, Aug 26, 2008 at 03:41:07PM -0500, Yuri Vasilevski wrote:
> > I'm doing some research on our usages of the $Header$ keyword in our
> > main CVS repo.
> >
> > Q: Are there any other use-cases you have and actively use?
> I use the revision present in the header to identify changes in
> ebuild files that didn't needed a revision dump.
Err, what do you mean by revision dump?
--
Robin Hugh Johnson
Gentoo Linux Developer & Infra Guy
E-Mail : robbat2@gentoo.org
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85
[-- Attachment #2: Type: application/pgp-signature, Size: 329 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-26 20:54 ` Robin H. Johnson
@ 2008-08-26 20:59 ` Yuri Vasilevski
2008-08-26 21:45 ` Robin H. Johnson
0 siblings, 1 reply; 24+ messages in thread
From: Yuri Vasilevski @ 2008-08-26 20:59 UTC (permalink / raw
To: gentoo-dev
On Tue, 26 Aug 2008 13:54:21 -0700
"Robin H. Johnson" <robbat2@gentoo.org> wrote:
> On Tue, Aug 26, 2008 at 03:41:07PM -0500, Yuri Vasilevski wrote:
> > > I'm doing some research on our usages of the $Header$ keyword in
> > > our main CVS repo.
> > >
> > > Q: Are there any other use-cases you have and actively use?
> > I use the revision present in the header to identify changes in
> > ebuild files that didn't needed a revision dump.
> Err, what do you mean by revision dump?
revision dump is when foo-1.0-r4 becomes foo-1.0-r5.
But when foo-1.0-r4 is updated in-place, I use CVS revisions
(ej: 1.12 -> 1.13 in 2nd word in $ Header: ....)
Yuri.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-26 20:59 ` Yuri Vasilevski
@ 2008-08-26 21:45 ` Robin H. Johnson
2008-08-26 21:57 ` Yuri Vasilevski
2008-08-26 22:46 ` Raúl Porcel
0 siblings, 2 replies; 24+ messages in thread
From: Robin H. Johnson @ 2008-08-26 21:45 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 783 bytes --]
On Tue, Aug 26, 2008 at 03:59:09PM -0500, Yuri Vasilevski wrote:
> > Err, what do you mean by revision dump?
> revision dump is when foo-1.0-r4 becomes foo-1.0-r5.
That's revision 'B'ump, not 'D'ump.
> But when foo-1.0-r4 is updated in-place, I use CVS revisions
> (ej: 1.12 -> 1.13 in 2nd word in $ Header: ....)
The $Header$ is filled out automatically by CVS, what are you using the
$Header$ string for?
Why do you need to identify the changes? Considering that the checksum
changes as well, is detecting change not sufficient? (or asking the VCS
for what files have changed since your last check time).
--
Robin Hugh Johnson
Gentoo Linux Developer & Infra Guy
E-Mail : robbat2@gentoo.org
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85
[-- Attachment #2: Type: application/pgp-signature, Size: 329 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-26 21:45 ` Robin H. Johnson
@ 2008-08-26 21:57 ` Yuri Vasilevski
2008-08-26 22:25 ` Robin H. Johnson
2008-08-26 22:46 ` Raúl Porcel
1 sibling, 1 reply; 24+ messages in thread
From: Yuri Vasilevski @ 2008-08-26 21:57 UTC (permalink / raw
To: gentoo-dev
On Tue, 26 Aug 2008 14:45:25 -0700
"Robin H. Johnson" <robbat2@gentoo.org> wrote:
> On Tue, Aug 26, 2008 at 03:59:09PM -0500, Yuri Vasilevski wrote:
> > > Err, what do you mean by revision dump?
> > revision dump is when foo-1.0-r4 becomes foo-1.0-r5.
> That's revision 'B'ump, not 'D'ump.
Sorry, not native English speaker :$
> > But when foo-1.0-r4 is updated in-place, I use CVS revisions
> > (ej: 1.12 -> 1.13 in 2nd word in $ Header: ....)
> The $Header$ is filled out automatically by CVS, what are you using
> the $Header$ string for?
>
> Why do you need to identify the changes? Considering that the checksum
> changes as well, is detecting change not sufficient? (or asking the
> VCS for what files have changed since your last check time).
I am writing a tool that creates deb (as in Debian package format) based
distributions from gentoo packages and that tool encodes the CVS
revision as part of "debian revision" of the packages. So I need this
part to be chronologically ordered, as opposed to have only the
knowledge of whenever the file has changed or not.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-26 21:57 ` Yuri Vasilevski
@ 2008-08-26 22:25 ` Robin H. Johnson
2008-08-26 22:37 ` René 'Necoro' Neumann
2008-08-26 22:46 ` Yuri Vasilevski
0 siblings, 2 replies; 24+ messages in thread
From: Robin H. Johnson @ 2008-08-26 22:25 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 2093 bytes --]
On Tue, Aug 26, 2008 at 04:57:50PM -0500, Yuri Vasilevski wrote:
> > Why do you need to identify the changes? Considering that the checksum
> > changes as well, is detecting change not sufficient? (or asking the
> > VCS for what files have changed since your last check time).
> I am writing a tool that creates deb (as in Debian package format) based
> distributions from gentoo packages and that tool encodes the CVS
> revision as part of "debian revision" of the packages. So I need this
> part to be chronologically ordered, as opposed to have only the
> knowledge of whenever the file has changed or not.
I'd call that critically dangerous in missing some changes.
If I have a file in $FILESDIR, and change it, but it has the same name,
there is no commit to the ebuild, and your .debs won't pick up changes
at all. This is usually for cases with compile fixes that don't need
revision bumps at all, but sometimes there are also changes to scripts.
If you're making binary package .debs, I gather that you are grabbing
the (pre|post)(inst|rm) and setup blocks for inclusion?
That is an interesting use case, and would that would present a problem
with any VCS migration.
- Under SVN, you'd only have the global revision, which might not
uniquely identify the file.
- Bzr doesn't support keyword expansion in any released version. There
are/were plans for it in 1.7, but I haven't seen anything since the
first prototype.
- Hg supports it with an extension:
http://www.selenic.com/mercurial/wiki/index.cgi/KeywordExtension
But has warnings about why it sucks
http://www.selenic.com/mercurial/wiki/index.cgi/KeywordPlan
See the 'keyword update intervals' item (mainly having to touch every
file in the repo sometimes).
- Git supports only the $Id$ keyword, and expands it to the SHA1 of the
file, which ends up being a duplicate of the information we have in
the Manifest.
--
Robin Hugh Johnson
Gentoo Linux Developer & Infra Guy
E-Mail : robbat2@gentoo.org
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85
[-- Attachment #2: Type: application/pgp-signature, Size: 329 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-26 22:25 ` Robin H. Johnson
@ 2008-08-26 22:37 ` René 'Necoro' Neumann
2008-08-26 22:54 ` Robin H. Johnson
2008-08-26 22:46 ` Yuri Vasilevski
1 sibling, 1 reply; 24+ messages in thread
From: René 'Necoro' Neumann @ 2008-08-26 22:37 UTC (permalink / raw
To: gentoo-dev
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Robin H. Johnson schrieb:
> On Tue, Aug 26, 2008 at 04:57:50PM -0500, Yuri Vasilevski wrote:
>> I am writing a tool that creates deb (as in Debian package format) based
>> distributions from gentoo packages and that tool encodes the CVS
>> revision as part of "debian revision" of the packages. So I need this
>> part to be chronologically ordered, as opposed to have only the
>> knowledge of whenever the file has changed or not.
> <snip>
> That is an interesting use case, and would that would present a problem
> with any VCS migration.
I don't see this problem ... I guess it is possible in all VCS to get
the information, which global revision touched a specific file last.
For example in bzr (these examples are conceived by me - so probably
there is an easier way):
bzr log -l1 --line $FILE | cut -f1 -d:
- --or: to have the unique rev-id instead of the branch-local rev-number--
bzr log -l1 --show-ids $FILE | grep "revision-id" | cut -f2 -d' '
And hg,svn,git sure have similar abilities.
- - Necoro
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAki0hZQACgkQ4UOg/zhYFuBTrgCeJ/2gfygwUvWCB5QOibsYz0mN
sGMAnRmqz/ChCg6zSAVrS4JljP1+DYRV
=g5fE
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-26 21:45 ` Robin H. Johnson
2008-08-26 21:57 ` Yuri Vasilevski
@ 2008-08-26 22:46 ` Raúl Porcel
1 sibling, 0 replies; 24+ messages in thread
From: Raúl Porcel @ 2008-08-26 22:46 UTC (permalink / raw
To: gentoo-dev
Robin H. Johnson wrote:
> On Tue, Aug 26, 2008 at 03:59:09PM -0500, Yuri Vasilevski wrote:
>>> Err, what do you mean by revision dump?
>> revision dump is when foo-1.0-r4 becomes foo-1.0-r5.
> That's revision 'B'ump, not 'D'ump.
>
bumb!!
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-26 22:25 ` Robin H. Johnson
2008-08-26 22:37 ` René 'Necoro' Neumann
@ 2008-08-26 22:46 ` Yuri Vasilevski
1 sibling, 0 replies; 24+ messages in thread
From: Yuri Vasilevski @ 2008-08-26 22:46 UTC (permalink / raw
To: gentoo-dev
On Tue, 26 Aug 2008 15:25:16 -0700
"Robin H. Johnson" <robbat2@gentoo.org> wrote:
> On Tue, Aug 26, 2008 at 04:57:50PM -0500, Yuri Vasilevski wrote:
> > > Why do you need to identify the changes? Considering that the
> > > checksum changes as well, is detecting change not sufficient? (or
> > > asking the VCS for what files have changed since your last check
> > > time).
> > I am writing a tool that creates deb (as in Debian package format)
> > based distributions from gentoo packages and that tool encodes the
> > CVS revision as part of "debian revision" of the packages. So I
> > need this part to be chronologically ordered, as opposed to have
> > only the knowledge of whenever the file has changed or not.
> I'd call that critically dangerous in missing some changes.
> If I have a file in $FILESDIR, and change it, but it has the same
> name, there is no commit to the ebuild, and your .debs won't pick up
> changes at all. This is usually for cases with compile fixes that
> don't need revision bumps at all, but sometimes there are also
> changes to scripts.
Yes, I know that this will not protect me against changes in a file from
${FILESDIR} nor a change in a file in ${A}, but that was the best way I
could think of to make debian source packages (I create as well) as
reproducible as possible.
For the source packages I create a debian/rules[1] file that basically
calls ebuild foo.ebuild with the right options and to compile and then
install to a temporary directory and then call some debhelper scripts
to turn that directory into a proper .deb package. So from my
perspective the .ebuild file can be considered part of the debian/rules
files and because of that I really need to keep track of changes in it.
And for the rest of files, I bump ( :-D ) another revision counter with
each rebuild of the same debian source package version, so until I find
some better way to catch changes in any bit of the source (be it the
ebuild, files from ${A} or files from ${FILESDIR)/) I still don't have
conflicts.
> If you're making binary package .debs, I gather that you are grabbing
> the (pre|post)(inst|rm) and setup blocks for inclusion?
Yes, I certainly do.
> That is an interesting use case, and would that would present a
> problem with any VCS migration.
> - Under SVN, you'd only have the global revision, which might not
> uniquely identify the file.
> - Bzr doesn't support keyword expansion in any released version. There
> are/were plans for it in 1.7, but I haven't seen anything since the
> first prototype.
> - Hg supports it with an extension:
> http://www.selenic.com/mercurial/wiki/index.cgi/KeywordExtension
> But has warnings about why it sucks
> http://www.selenic.com/mercurial/wiki/index.cgi/KeywordPlan
> See the 'keyword update intervals' item (mainly having to touch
> every file in the repo sometimes).
> - Git supports only the $Id$ keyword, and expands it to the SHA1 of
> the file, which ends up being a duplicate of the information we have
> in the Manifest.
I am aware about this problem, and unless this is explicitly taken into
consideration on migration, I guess I'll have to keep a local database
of "order" of ebuilds as part of the metadata associated with each
distribution my tool creates.
[1] debian/rules files is a make file that provides the right targets
for debian tools call it and generate deb binary packages. So it
is kind of the equivalent of .ebuild scripts for debian.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-26 22:37 ` René 'Necoro' Neumann
@ 2008-08-26 22:54 ` Robin H. Johnson
2008-08-26 23:19 ` René 'Necoro' Neumann
0 siblings, 1 reply; 24+ messages in thread
From: Robin H. Johnson @ 2008-08-26 22:54 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 511 bytes --]
On Wed, Aug 27, 2008 at 12:37:09AM +0200, Ren?? 'Necoro' Neumann wrote:
> - --or: to have the unique rev-id instead of the branch-local rev-number--
> bzr log -l1 --show-ids $FILE | grep "revision-id" | cut -f2 -d' '
IIRC, the revision-id is just like the Git $Id$, it's a hex string, not
an incremented counter like the revision number in CVS.
--
Robin Hugh Johnson
Gentoo Linux Developer & Infra Guy
E-Mail : robbat2@gentoo.org
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85
[-- Attachment #2: Type: application/pgp-signature, Size: 329 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-26 22:54 ` Robin H. Johnson
@ 2008-08-26 23:19 ` René 'Necoro' Neumann
2008-08-26 23:28 ` René 'Necoro' Neumann
0 siblings, 1 reply; 24+ messages in thread
From: René 'Necoro' Neumann @ 2008-08-26 23:19 UTC (permalink / raw
To: gentoo-dev
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Robin H. Johnson schrieb:
> On Wed, Aug 27, 2008 at 12:37:09AM +0200, Ren?? 'Necoro' Neumann wrote:
>> - --or: to have the unique rev-id instead of the branch-local rev-number--
>> bzr log -l1 --show-ids $FILE | grep "revision-id" | cut -f2 -d' '
> IIRC, the revision-id is just like the Git $Id$, it's a hex string, not
> an incremented counter like the revision number in CVS.
>
True ... it usually looks like
author@doma.in-20080821233630-v94w5lkebavkx9ti
Though, if one enforces certain policies using the "main branch" located
on the server like disallowing pushing and only allowing merges, one can
safely use the branch-revno (which is incremental). Only oddity are
revnos of merged branches (e.g. "193.1.10")
Another approach would be to use the unix-timestamp of the last change.
Though it is not a unique identifier per se, it should be sufficient here.
It should be queriable in all VCS. Though it might be, that it is not
possible using standard CLI and requires a plugin in some way (but I
bet, an easy one ;))
- - Necoro
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAki0j3UACgkQ4UOg/zhYFuDZ+QCdGm7Sjew2+27KCUB06lWf8aLr
XBsAoIbJSke4xHyPiucYEmkuNVd9GPJ3
=jTaO
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-26 23:19 ` René 'Necoro' Neumann
@ 2008-08-26 23:28 ` René 'Necoro' Neumann
0 siblings, 0 replies; 24+ messages in thread
From: René 'Necoro' Neumann @ 2008-08-26 23:28 UTC (permalink / raw
To: gentoo-dev
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
René 'Necoro' Neumann schrieb:
> Only oddity are
> revnos of merged branches (e.g. "193.1.10")
Gnah - forget this issue.. from the main branch' viewpoint, the last
change is always in the merge revision, and not in a revision being
merged. So it is guaranteed to be an integer and not a combined thingy
as above ;)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAki0kZMACgkQ4UOg/zhYFuDftQCfWHv+AvkqNJgZ/VwyIc1AV9WS
kJcAoIMmvsPv48GO4ixM4KE25TQtBHkm
=F3DM
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-26 20:41 ` Yuri Vasilevski
2008-08-26 20:54 ` Robin H. Johnson
@ 2008-08-27 16:35 ` Fabian Groffen
2008-08-27 17:28 ` Robin H. Johnson
1 sibling, 1 reply; 24+ messages in thread
From: Fabian Groffen @ 2008-08-27 16:35 UTC (permalink / raw
To: gentoo-dev
On 26-08-2008 15:41:07 -0500, Yuri Vasilevski wrote:
> On Tue, 26 Aug 2008 13:40:36 -0700
> "Robin H. Johnson" <robbat2@gentoo.org> wrote:
>
> > I'm doing some research on our usages of the $Header$ keyword in our
> > main CVS repo.
> >
> > Q: Are there any other use-cases you have and actively use?
>
> I use the revision present in the header to identify changes in
> ebuild files that didn't needed a revision dump.
I do exactly the same (or, eupdate is doing that) to keep the Prefix
tree in sync with gentoo-x86. That is, I use the CVS Header to
determine if a change has occurred, retrieve that diff, and apply the
patch on my Prefix version of the same file (ebuild, ChangeLog,
patch, eclass, ...).
For that reason I'd pretty much prefer to keep the CVS Header in place,
unless there is a very good reason to remove it.
--
Fabian Groffen
Gentoo on a different level
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-26 20:40 [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted Robin H. Johnson
2008-08-26 20:41 ` Yuri Vasilevski
2008-08-26 20:46 ` Mart Raudsepp
@ 2008-08-27 17:12 ` Paul Varner
2008-10-01 15:31 ` Thilo Bangert
3 siblings, 0 replies; 24+ messages in thread
From: Paul Varner @ 2008-08-27 17:12 UTC (permalink / raw
To: gentoo-dev
On Tue, 2008-08-26 at 13:40 -0700, Robin H. Johnson wrote:
> Q: How much have you utilized the primary use case?
Not at all
> Q: Are there any other use-cases you have and actively use?
No
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-27 16:35 ` Fabian Groffen
@ 2008-08-27 17:28 ` Robin H. Johnson
2008-08-27 17:38 ` Fabian Groffen
0 siblings, 1 reply; 24+ messages in thread
From: Robin H. Johnson @ 2008-08-27 17:28 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 701 bytes --]
On Wed, Aug 27, 2008 at 06:35:57PM +0200, Fabian Groffen wrote:
> For that reason I'd pretty much prefer to keep the CVS Header in place,
> unless there is a very good reason to remove it.
As I wrote in the other thread, my reason for asking is that it's one of
the things that doesn't have clear mapping in the Git world. As a side
benefit, getting rid of it also makes the double-commit mess go away.
For your use case, it should be possible to just ask Git for updates to
the given directory, and apply those to your own tree.
--
Robin Hugh Johnson
Gentoo Linux Developer & Infra Guy
E-Mail : robbat2@gentoo.org
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85
[-- Attachment #2: Type: application/pgp-signature, Size: 329 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-27 17:28 ` Robin H. Johnson
@ 2008-08-27 17:38 ` Fabian Groffen
2008-08-27 18:57 ` Alec Warner
0 siblings, 1 reply; 24+ messages in thread
From: Fabian Groffen @ 2008-08-27 17:38 UTC (permalink / raw
To: gentoo-dev
On 27-08-2008 10:28:57 -0700, Robin H. Johnson wrote:
> On Wed, Aug 27, 2008 at 06:35:57PM +0200, Fabian Groffen wrote:
> > For that reason I'd pretty much prefer to keep the CVS Header in place,
> > unless there is a very good reason to remove it.
> As I wrote in the other thread, my reason for asking is that it's one of
> the things that doesn't have clear mapping in the Git world. As a side
> benefit, getting rid of it also makes the double-commit mess go away.
For who is it a mess? Not for repoman users, I suppose, and everyone
should be using it, right? As the one who personally played with the
code in repoman that determines whether or not the "double commit" is
necessary, I think it's mostly a repoman internal problem. The commit
script problems put aside.
> For your use case, it should be possible to just ask Git for updates to
> the given directory, and apply those to your own tree.
Another VCS is another story. If we're switching, it would be nice if
the notion of overlays shadowing the main tree would be taken into
account. Especially since I don't think Prefix will "merge" any time
soon, but we are plagued by the thing called "growth".
--
Fabian Groffen
Gentoo on a different level
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-27 17:38 ` Fabian Groffen
@ 2008-08-27 18:57 ` Alec Warner
2008-08-27 19:15 ` Robin H. Johnson
2008-08-27 19:16 ` Fabian Groffen
0 siblings, 2 replies; 24+ messages in thread
From: Alec Warner @ 2008-08-27 18:57 UTC (permalink / raw
To: gentoo-dev
On Wed, Aug 27, 2008 at 10:38 AM, Fabian Groffen <grobian@gentoo.org> wrote:
> On 27-08-2008 10:28:57 -0700, Robin H. Johnson wrote:
>> On Wed, Aug 27, 2008 at 06:35:57PM +0200, Fabian Groffen wrote:
>> > For that reason I'd pretty much prefer to keep the CVS Header in place,
>> > unless there is a very good reason to remove it.
>> As I wrote in the other thread, my reason for asking is that it's one of
>> the things that doesn't have clear mapping in the Git world. As a side
>> benefit, getting rid of it also makes the double-commit mess go away.
>
> For who is it a mess? Not for repoman users, I suppose, and everyone
> should be using it, right? As the one who personally played with the
> code in repoman that determines whether or not the "double commit" is
> necessary, I think it's mostly a repoman internal problem. The commit
> script problems put aside.
So you are saying we should do what?
precompute the CVS header and inject it into $header$ ourselves
take the checksums
generate the manifest
revert the $header$ change
then commit the ebuild and manifest at once
?
The only reason we have double commits right now is that the $header$
replacement is done by cvs at commit time so if we don't do two
commits the checksums all break due to the substitution..how is that
repoman's fault?
>
>> For your use case, it should be possible to just ask Git for updates to
>> the given directory, and apply those to your own tree.
>
> Another VCS is another story. If we're switching, it would be nice if
> the notion of overlays shadowing the main tree would be taken into
> account. Especially since I don't think Prefix will "merge" any time
> soon, but we are plagued by the thing called "growth".
>
>
> --
> Fabian Groffen
> Gentoo on a different level
>
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-27 18:57 ` Alec Warner
@ 2008-08-27 19:15 ` Robin H. Johnson
2008-08-27 19:24 ` Fabian Groffen
2008-08-27 19:16 ` Fabian Groffen
1 sibling, 1 reply; 24+ messages in thread
From: Robin H. Johnson @ 2008-08-27 19:15 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1077 bytes --]
On Wed, Aug 27, 2008 at 11:57:30AM -0700, Alec Warner wrote:
> So you are saying we should do what?
>
> precompute the CVS header and inject it into $header$ ourselves
> take the checksums
> generate the manifest
> revert the $header$ change
> then commit the ebuild and manifest at once
>
> The only reason we have double commits right now is that the $header$
> replacement is done by cvs at commit time so if we don't do two
> commits the checksums all break due to the substitution..how is that
> repoman's fault?
For those not using SSH ControlMaster, one of the side-effects of having
to do two separate commits is the SSH setup latency hitting twice.
I wouldn't call it repoman's fault like Fabian did, but the
double-commit is why I called it a mess. If we drop the $Header$ in any
file covered by a developer-generated Manifest, it becomes a single
commit with contents+Manifest :-).
--
Robin Hugh Johnson
Gentoo Linux Developer & Infra Guy
E-Mail : robbat2@gentoo.org
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85
[-- Attachment #2: Type: application/pgp-signature, Size: 329 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-27 18:57 ` Alec Warner
2008-08-27 19:15 ` Robin H. Johnson
@ 2008-08-27 19:16 ` Fabian Groffen
1 sibling, 0 replies; 24+ messages in thread
From: Fabian Groffen @ 2008-08-27 19:16 UTC (permalink / raw
To: gentoo-dev
On 27-08-2008 11:57:30 -0700, Alec Warner wrote:
> > For who is it a mess? Not for repoman users, I suppose, and everyone
> > should be using it, right? As the one who personally played with the
> > code in repoman that determines whether or not the "double commit" is
> > necessary, I think it's mostly a repoman internal problem. The commit
> > script problems put aside.
>
> So you are saying we should do what?
>
> precompute the CVS header and inject it into $header$ ourselves
> take the checksums
> generate the manifest
> revert the $header$ change
> then commit the ebuild and manifest at once
>
> ?
>
> The only reason we have double commits right now is that the $header$
> replacement is done by cvs at commit time so if we don't do two
> commits the checksums all break due to the substitution..how is that
> repoman's fault?
It's not. But I don't see the problem (apart from a "race condition"
with rsync generation) with the two commits either.
Incidently the $Header: $ "feature" just helps me a lot at the moment to
keep the Prefix tree up-to-date. Hence, I'm against switching them off
or removing them as long as we use CVS for gentoo-x86.
--
Fabian Groffen
Gentoo on a different level
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-27 19:15 ` Robin H. Johnson
@ 2008-08-27 19:24 ` Fabian Groffen
0 siblings, 0 replies; 24+ messages in thread
From: Fabian Groffen @ 2008-08-27 19:24 UTC (permalink / raw
To: gentoo-dev
On 27-08-2008 12:15:35 -0700, Robin H. Johnson wrote:
> For those not using SSH ControlMaster, one of the side-effects of having
> to do two separate commits is the SSH setup latency hitting twice.
>
> I wouldn't call it repoman's fault like Fabian did, but the
Right. I thought I suggested that "it" (the double-commit) is a mess
for repoman. Not that it is repoman's fault.
> double-commit is why I called it a mess. If we drop the $Header$ in any
> file covered by a developer-generated Manifest, it becomes a single
> commit with contents+Manifest :-).
It seems that what you call "mess" means needing a double commit for a
single "repoman commit". That to me isn't a mess, but a performance
issue, and as I indicated a possible point of corruption. But we've
dealt long enough with the situation without problems to ignore that
point.
But to repeat:
- no I'm not against removing the $Header: $ stuff
- yes I'd even like to use another VCS which can make my life easer
- but, as long as we're on CVS, I'd prefer it when you'd keep my life
sort of bearable
- so, keep the $Header: $ stuff for Prefix' sake (me) as long as
we're using CVS
--
Fabian Groffen
Gentoo on a different level
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-08-26 20:40 [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted Robin H. Johnson
` (2 preceding siblings ...)
2008-08-27 17:12 ` Paul Varner
@ 2008-10-01 15:31 ` Thilo Bangert
2008-10-01 23:21 ` Robin H. Johnson
3 siblings, 1 reply; 24+ messages in thread
From: Thilo Bangert @ 2008-10-01 15:31 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 869 bytes --]
"Robin H. Johnson" <robbat2@gentoo.org> said:
> Hi folks,
>
> I'm doing some research on our usages of the $Header$ keyword in our
> main CVS repo.
>
> The primary use-case that has been publicly stated before was for users
> to be able to identify to developers what version of a given ebuild
> they were using.
>
> Q: How much have you utilized the primary use case?
>
> Q: Are there any other use-cases you have and actively use?
>
> For evaluating existing uses of the primary case, I took a glance at
> Bugzilla. There are 624 bugs total that contain a $Header$ with an
> existing Gentoo path. At least 143 of those are for new packages or
> version bumps (they copied existing ebuilds).
it appears we have decided to keep the $Header$ keyword in ebuilds for
now. however, what about removing it from the ChangeLog?
kind regards
Thilo
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted
2008-10-01 15:31 ` Thilo Bangert
@ 2008-10-01 23:21 ` Robin H. Johnson
0 siblings, 0 replies; 24+ messages in thread
From: Robin H. Johnson @ 2008-10-01 23:21 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 983 bytes --]
On Wed, Oct 01, 2008 at 05:31:21PM +0200, Thilo Bangert wrote:
> > For evaluating existing uses of the primary case, I took a glance at
> > Bugzilla. There are 624 bugs total that contain a $Header$ with an
> > existing Gentoo path. At least 143 of those are for new packages or
> > version bumps (they copied existing ebuilds).
> it appears we have decided to keep the $Header$ keyword in ebuilds for
> now. however, what about removing it from the ChangeLog?
The Debian pkg generation was the only use-case that didn't have an
immediate other solution. The Prefix guys need it while we are still on
CVS, but said it could vanish on the other side of the Git migration.
So probably just keep it everywhere until we switch VCS.
Random plug: Interested in VCS migration? Subscribe to the gentoo-scm
list.
--
Robin Hugh Johnson
Gentoo Linux Developer & Infra Guy
E-Mail : robbat2@gentoo.org
GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85
[-- Attachment #2: Type: application/pgp-signature, Size: 329 bytes --]
^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2008-10-01 23:36 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-26 20:40 [gentoo-dev] Usages of CVS $Header$ keyword in ebuilds - use cases wanted Robin H. Johnson
2008-08-26 20:41 ` Yuri Vasilevski
2008-08-26 20:54 ` Robin H. Johnson
2008-08-26 20:59 ` Yuri Vasilevski
2008-08-26 21:45 ` Robin H. Johnson
2008-08-26 21:57 ` Yuri Vasilevski
2008-08-26 22:25 ` Robin H. Johnson
2008-08-26 22:37 ` René 'Necoro' Neumann
2008-08-26 22:54 ` Robin H. Johnson
2008-08-26 23:19 ` René 'Necoro' Neumann
2008-08-26 23:28 ` René 'Necoro' Neumann
2008-08-26 22:46 ` Yuri Vasilevski
2008-08-26 22:46 ` Raúl Porcel
2008-08-27 16:35 ` Fabian Groffen
2008-08-27 17:28 ` Robin H. Johnson
2008-08-27 17:38 ` Fabian Groffen
2008-08-27 18:57 ` Alec Warner
2008-08-27 19:15 ` Robin H. Johnson
2008-08-27 19:24 ` Fabian Groffen
2008-08-27 19:16 ` Fabian Groffen
2008-08-26 20:46 ` Mart Raudsepp
2008-08-27 17:12 ` Paul Varner
2008-10-01 15:31 ` Thilo Bangert
2008-10-01 23:21 ` Robin H. Johnson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox