Migrating the debian-desktop repository to git

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Migrating the debian-desktop repository to git

Aurélien COUDERC-2
Hi list,

I’d like to convert the desktop-base repository to git and have been
studying the possibilities and tools to do so.
I write this email to gather feedback and opinions on this move and
discuss the options available.

1. Proposal
The proposal follows DEP-14 [0] resolving to a standard git layout for
native packages, as is the case for desktop-base.
The repository structure for branches would be:
- master for regular uploads to sid
- experimental branch created from master when necessary, and merged
back into master when the corresponding version is uploaded to sid
- release codename branches when necessary for stable fixes & such (e.g.
« stretch »)

The name of the tags would use the mangling proposed by DEP-14. For our
use case that is essentially replace ~ with _ for ${version}~expXXX
experimental tags.

2. Tools
After fighting a lot with git svn clone for the conversion I’ve given a
try to the svn-all-fast-export tool packaged in Debian, taking
inspiration from the work done by the kernel team.
The necessary files and scripts can be viewed at [1].
The result of the complete conversion of the svn repository as of today
is available at [2].
All tags and branches were imported from svn apart from two very old «
branches » :
- desktop-base-image-replacement-infrastructure
- desktop-base-moreblue-splashpack
These were single commits created from scratch and not really branched
from trunk for what I have seen.

3. Feedback
That being said I’m looking forward to getting feedback on the proposal,
from regular and occasional contributors alike.


[0] http://dep.debian.net/deps/dep14/
[1] https://gitlab.com/Coucouf/desktop-base-conversion-tools/tree/master
[2] https://gitlab.com/Coucouf/desktop-base-conversion/network/master


Cheers !
--Aurélien

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Migrating the debian-desktop repository to git

Cyril Brulebois-4
Hi Aurélien,

Aurélien COUDERC <[hidden email]> (2017-07-05):

> I’d like to convert the desktop-base repository to git and have been
> studying the possibilities and tools to do so. I write this email to
> gather feedback and opinions on this move and discuss the options
> available.
>
> 1. Proposal
> The proposal follows DEP-14 [0] resolving to a standard git layout for
> native packages, as is the case for desktop-base.
> The repository structure for branches would be:
> - master for regular uploads to sid
> - experimental branch created from master when necessary, and merged
> back into master when the corresponding version is uploaded to sid
> - release codename branches when necessary for stable fixes & such (e.g.
> « stretch »)
>
> The name of the tags would use the mangling proposed by DEP-14. For our
> use case that is essentially replace ~ with _ for ${version}~expXXX
> experimental tags.
>
> 2. Tools
> After fighting a lot with git svn clone for the conversion I’ve given a
> try to the svn-all-fast-export tool packaged in Debian, taking
> inspiration from the work done by the kernel team.
> The necessary files and scripts can be viewed at [1].
> The result of the complete conversion of the svn repository as of today
> is available at [2].
> All tags and branches were imported from svn apart from two very old «
> branches » :
> - desktop-base-image-replacement-infrastructure
> - desktop-base-moreblue-splashpack
> These were single commits created from scratch and not really branched
> from trunk for what I have seen.
>
> 3. Feedback
> That being said I’m looking forward to getting feedback on the proposal,
> from regular and occasional contributors alike.
>
>
> [0] http://dep.debian.net/deps/dep14/
> [1] https://gitlab.com/Coucouf/desktop-base-conversion-tools/tree/master
> [2] https://gitlab.com/Coucouf/desktop-base-conversion/network/master
Having had to look at various bits over the last few years (often if not
exclusively for purposes related to the Debian Installer), that's a very
welcome move, thanks for driving this!

I haven't looked at the two very old “branches”, but my first impression
reading your mail is that they would be an acceptable loss.

Thanks again!


KiBi.

signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Migrating the debian-desktop repository to git

Yves-Alexis Perez-2
In reply to this post by Aurélien COUDERC-2
On Wed, 2017-07-05 at 19:33 +0200, Aurélien COUDERC wrote:
> 3. Feedback
> That being said I’m looking forward to getting feedback on the proposal,
> from regular and occasional contributors alike.

Hi,

I'm not against the change, but I'd be interested in the workflow post
transition on how to build packages and stuff like that.

In the meantime, I've made Aurélien admin on the alioth project so he can go
ahead and move the test repository under a Debian umbrella.

Regards,
--
Yves-Alexis

signature.asc (499 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Migrating the debian-desktop repository to git

Aurélien COUDERC-2
Hi Yves-Alexis,

Le 08/07/2017 à 15:09, Yves-Alexis Perez a écrit :

> On Wed, 2017-07-05 at 19:33 +0200, Aurélien COUDERC wrote:
>> 3. Feedback
>> That being said I’m looking forward to getting feedback on the proposal,
>> from regular and occasional contributors alike.
>
> I'm not against the change, but I'd be interested in the workflow post
> transition on how to build packages and stuff like that.

With my brand new knowledge of the available tools, I’d go for the following
workflow :
- Iterate on :
  o  commit and push changes without touching d/changelog
- When ready to push a package, from a clean git tree :
  o  gbp dch -R
  o  Review/fix changelog
  o  git commit -a -m "Prepare for $version release"
  o  gbp buildpackage --git-tag
  o  if the built package works, push the changes
  o  otherwise reset --hard HEAD to commit before dch, fix, rinse and repeat

I’m interesting to know if there are even more automated tools, like doing the
dch commit with a predictable message :) or others.

Also I couldn’t manage to get gbp understanding that the tags are not
debian/$version but plain $version. So i had to run :
gbp dch --debian-tag="%(version)s" -R

I have the following taken from the example conf provided with gbp :
$ cat debian/gbp.conf
[DEFAULT]
debian-tag = %(version)s

Hints welcome.


After a quick look I couldn’t find info about the git workflow in a few other
debian repos I have clones of. Is this usually documented and where ?
Or is it only oral tradition for each repo ?


> In the meantime, I've made Aurélien admin on the alioth project so he can go
> ahead and move the test repository under a Debian umbrella.

Thanks.
Here [0] is the same import previously on gitlab.com pushed to alioth’s git.
And the tooling to do so in [1].

The flow of comments seem to be on the quite side so if the workflow is deemed
suitable and no one shouts I’ll go ahead with the conversion beginning of
August.


[0] https://anonscm.debian.org/cgit/debian-desktop/d-b-conversion-test.git/
[1] https://anonscm.debian.org/cgit/debian-desktop/d-b-conversion.git/


Cheers,
--Aurélien


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Migrating the debian-desktop repository to git

Yves-Alexis Perez-2
On Sat, 2017-07-22 at 08:47 +0200, Aurélien COUDERC wrote:

> With my brand new knowledge of the available tools, I’d go for the following
> workflow :
> - Iterate on :
>   o  commit and push changes without touching d/changelog
> - When ready to push a package, from a clean git tree :
>   o  gbp dch -R
>   o  Review/fix changelog
>   o  git commit -a -m "Prepare for $version release"
>   o  gbp buildpackage --git-tag
>   o  if the built package works, push the changes
>   o  otherwise reset --hard HEAD to commit before dch, fix, rinse and repeat
>
> I’m interesting to know if there are even more automated tools, like doing
> the
> dch commit with a predictable message :) or others.
I usually commit with debcommit, so I do the changelog edit at the same time.
Not sure how other teams do though. I'm not really familiar with gbp workflow
either.
>
> After a quick look I couldn’t find info about the git workflow in a few
> other
> debian repos I have clones of. Is this usually documented and where ?
> Or is it only oral tradition for each repo ?

Not really sure. Maybe some teams have documents centralized somewhere and not
in each and every repository.

Regards,
--
Yves-Alexis

signature.asc (499 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Migrating the debian-desktop repository to git

Cyril Brulebois-4
Hi,

Yves-Alexis Perez <[hidden email]> (2017-07-24):

> On Sat, 2017-07-22 at 08:47 +0200, Aurélien COUDERC wrote:
> > With my brand new knowledge of the available tools, I’d go for the following
> > workflow :
> > - Iterate on :
> >   o  commit and push changes without touching d/changelog
> > - When ready to push a package, from a clean git tree :
> >   o  gbp dch -R
> >   o  Review/fix changelog
> >   o  git commit -a -m "Prepare for $version release"
> >   o  gbp buildpackage --git-tag
> >   o  if the built package works, push the changes
> >   o  otherwise reset --hard HEAD to commit before dch, fix, rinse and repeat
> >
> > I’m interesting to know if there are even more automated tools, like doing
> > the
> > dch commit with a predictable message :) or others.
>
> I usually commit with debcommit, so I do the changelog edit at the same time.
> Not sure how other teams do though. I'm not really familiar with gbp workflow
> either.
FWIW we're also doing changelog edits along with the actual changes on the
debian-boot@ side, and debcommit -a (plus -e or git commit --amend) works
just fine; plus there's no special magic when release time comes. Just
dch -r, done. (Worked also fine for debian-x@.)


KiBi.

signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Migrating the debian-desktop repository to git

Aurélien COUDERC-2


Le 25 juillet 2017 00:46:03 GMT+02:00, Cyril Brulebois <[hidden email]> a écrit :

>Hi,
>
>Yves-Alexis Perez <[hidden email]> (2017-07-24):
>> On Sat, 2017-07-22 at 08:47 +0200, Aurélien COUDERC wrote:
>> > With my brand new knowledge of the available tools, I’d go for the
>following
>> > workflow :
>> > - Iterate on :
>> >   o  commit and push changes without touching d/changelog
>> > - When ready to push a package, from a clean git tree :
>> >   o  gbp dch -R
>> >   o  Review/fix changelog
>> >   o  git commit -a -m "Prepare for $version release"
>> >   o  gbp buildpackage --git-tag

After a bit more research it can even be trimmed to :
- During development cycle :
  o  git commit x n
- For release :
  o  gbp dch -R --commit
  o  gbp buildpackage --git-tag

>> I usually commit with debcommit, so I do the changelog edit at the
>same time.
>> Not sure how other teams do though. I'm not really familiar with gbp
>workflow
>> either.
>
>FWIW we're also doing changelog edits along with the actual changes on
>the
>debian-boot@ side, and debcommit -a (plus -e or git commit --amend)
>works
>just fine; plus there's no special magic when release time comes. Just
>dch -r, done. (Worked also fine for debian-x@.)

Right, thanks for your feedbacks.

I must say I don't like so much to have to edit d/changelog every time during development.
In my opinion it mostly contains redundant (= commit messages) and incorrect (release distribution, date, author) information.
So I prefer the idea that it can be mostly auto-generated when preparing a release.

It must have drawbacks like the need to have a clean git history (drawback, really ?) and probably other things I didn't think of.

Thoughts on this ?


Cheers,
--Aurélien

Loading...