Discussion:
[Xmltv-devel] RFC: Moving grabber versioning away from CVS $Id$
Nick Morrott
2017-03-07 16:09:30 UTC
Permalink
With a future move away from CVS, grabbers will lose the ability to
use the CVS "$Id$" file version tag, which is heavily used at the
moment to provide data for $grabber --version.

I want to start the discussion to see if there is a consensus to move
grabbers away from using the hardcoded CVS $Id$ tag to a more regular
internal version number that is manually incremented after a grabber
is updated.

Thanks in advance for any comments/thoughts,
Nick
Robert Eden
2017-03-07 18:37:55 UTC
Permalink
Post by Nick Morrott
With a future move away from CVS, grabbers will lose the ability to
use the CVS "$Id$" file version tag, which is heavily used at the
moment to provide data for $grabber --version.
I want to start the discussion to see if there is a consensus to move
grabbers away from using the hardcoded CVS $Id$ tag to a more regular
internal version number that is manually incremented after a grabber
is updated.
I think an automatic file version or commit# is very useful in our
situation.

I'm not a git wizard, but it seems like it could be done with a
pre-commit script, but that may not work in practice as everyone would
have their own git install.

How is it normally done in the git world? A date would be fine as well.

Robert
Gary Buhrmaster
2017-03-08 17:59:34 UTC
Permalink
On Tue, Mar 7, 2017 at 6:37 PM, Robert Eden <***@gmail.com> wrote:
....
Post by Robert Eden
I'm not a git wizard,
I am not either.
Post by Robert Eden
How is it normally done in the git world? A date would be fine as well.
With great power such as git, comes great
flexibility.

Simpler projects just use a master branch,
everyone commits to the master branch,
and tag releases, and the tag is the thing.
Some larger projects use branches for
parallel development and then merge
back to the development branch, and
optionally back-port fixes to release
branches.

The only thing that matters is really the
commit hash of the branch you using,
but humans tend to like dates and
simpler numbers.
Gary Buhrmaster
2017-03-08 17:52:19 UTC
Permalink
Initial thoughts (without careful consideration....)
Post by Nick Morrott
With a future move away from CVS
I presume git. Before getting into the minutia,
have you considered also changing the various
workflows in the process? While moving to
something quite so formal as the Linux model
of individual contributors providing pull requests
to the "coordinator"/"release manager" might be
overkill, there are other approaches using
sub-trees and submodules (which have different
pluses and minus). And moving to release tags
(perhaps of the form vYYYY.MM?) and using
git-describe to obtain the tag might be a net
positive for releases. A change of SCM offers
an opportunity to consider what the approaches
should be (of course at a higher conversion
overhead for the contributors).
Post by Nick Morrott
, grabbers will lose the ability to
use the CVS "$Id$" file version tag, which is heavily used at the
moment to provide data for $grabber --version.
Given that the currently provided perl module depends
on parsing the $id$ field, maintaining it in some way is
likely necessary for it to be meaningful at least in the
short term.

I do not mind requiring people to manually maintain the
value, but I do expect that will mean for some grabbers
that that means the number will never change (easy
to forget that step when it has been automagically
done for you for years).

There is some limited support for the $Id$ field flag
by specifing a "ident" attribute in the .git/info/attributes
file for cvs compatibility, but (as I recall) it really does
not do what you might like here.

I guess my personal preference would be that
in the long run to modify the Options module to
support a different parsing for versioning, and
then eliminate the legacy $Id$ entirely. Git
really does not care about versioning updates
as cvs does.

And while I think I would recommend against
it, here is someone who got so unhappy about
not having $Id$ support he rolled his own:

http://www.immediatec.net/2016/09/07/git-correct-id-keyword-expansion/
Gary Buhrmaster
2017-06-19 14:19:59 UTC
Permalink
Post by Nick Morrott
With a future move away from CVS
Any update on the schedule for this migration? I have
a couple of updates to the grabber I support that I have
waited to push because I wanted to use git tooling to
preserve the master history. But the new capabilities
are sufficiently useful that I think i would like to move
forward before the fireworks.
Robert Eden
2017-06-21 00:27:45 UTC
Permalink
No schedule as far as I know. It needs someone to take the lead... I know
it's not important to me.

I would recommend a release right before it, as the release procedure will
need a lot of work.
Post by Gary Buhrmaster
Post by Nick Morrott
With a future move away from CVS
Any update on the schedule for this migration? I have
a couple of updates to the grabber I support that I have
waited to push because I wanted to use git tooling to
preserve the master history. But the new capabilities
are sufficiently useful that I think i would like to move
forward before the fireworks.
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
xmltv-devel mailing list
https://lists.sourceforge.net/lists/listinfo/xmltv-devel
Loading...