* elegant(?) debian topgit workflow?
@ 2009-12-16 10:13 Thomas Koch
2009-12-24 15:14 ` Felipe Contreras
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Koch @ 2009-12-16 10:13 UTC (permalink / raw)
To: vcs-pkg-discuss; +Cc: git, debian-devel
CC (FYI) to git and debian-devel. see http://vcs-pkg.org
Hi,
would you be so kind to review my workflow proposal?
branches
--------
upstream
debian/*, fixes/*, features/* - topgit branches based on upstream
patches - the hero
master - contains the debian/ dir and is the branch we build from
All topgit branches are integrated in the patches branch, which is afterwards
merged into master. The magic is, that the integration is not a regular merge,
but a handcrafted merge and commit with quilt and git plumbing.
workflow
--------
Every merge starts with reseting "patches" to the state of upstream:
#> git checkout upstream
(for the first time: git checkout -b patches, otherwise:)
#> git symbolic-ref HEAD refs/heads/patches
Now we're on branch patches with the working tree and index in the pristine
state of upstream. We can now integrate the topgit branches:
#> tg export --quilt debian/patches \
-b debian/use-debian-java-libraries,debian/disable-tests-that-break-on-buildd
#> quilt push -a
#> git add debian/
#> rm -rf .pc
#> git add -u
Now let's create the commit and specify, which topgit branches were manually
merged:
#> TREE=$(git write-tree)
#> COMMIT=$(git commit-tree $TREE \
-p debian/use-debian-java-libraries \
-p debian/disable-tests-that-break-on-buildd)
#> git update-ref refs/heads/patches $COMMIT
Now I can happily merge patches into master.
advantages
----------
- The commits of all ever merged topgit branches are preserved, even after tg
delete
- easy to understand, non cluttered history
- Easy to retire topgit branches
- Easy to work on old package versions(?): just make a branch from master at
desired version, eventually also branch patches branch to work on old patches
- The quilt patches are used and therefore tested in the same way, as dpkg-
source uses them in version 3
- Integrates with git-buildpackage
- Doesn't need anything, that topgit hasn't ATM
Todo
----
discuss, test, script
Best regards,
Thomas Koch, http://www.koch.ro
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: elegant(?) debian topgit workflow?
2009-12-16 10:13 elegant(?) debian topgit workflow? Thomas Koch
@ 2009-12-24 15:14 ` Felipe Contreras
2009-12-24 16:34 ` David Greaves
0 siblings, 1 reply; 3+ messages in thread
From: Felipe Contreras @ 2009-12-24 15:14 UTC (permalink / raw)
To: thomas; +Cc: vcs-pkg-discuss, git, debian-devel
On Wed, Dec 16, 2009 at 12:13 PM, Thomas Koch <thomas@koch.ro> wrote:
> branches
> --------
>
> upstream
I would call it 'master'. That's how upstream would call it.
> debian/*, fixes/*, features/* - topgit branches based on upstream
> patches - the hero
> master - contains the debian/ dir and is the branch we build from
Think about other systems, like Ubuntu and Maemo, it would be nice to
have branches both for Maemo and Debian on the same repo:
debian - what you call 'master'
debian-patches - what you call 'patches'
maemo5 - contains the debian/ dir, but for Maemo 5
maemo5-patches - patches for Maemo 5, might be based on top of debian-patches
--
Felipe Contreras
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: elegant(?) debian topgit workflow?
2009-12-24 15:14 ` Felipe Contreras
@ 2009-12-24 16:34 ` David Greaves
0 siblings, 0 replies; 3+ messages in thread
From: David Greaves @ 2009-12-24 16:34 UTC (permalink / raw)
To: Felipe Contreras; +Cc: thomas, debian-devel, git, vcs-pkg-discuss
Felipe Contreras wrote:
> On Wed, Dec 16, 2009 at 12:13 PM, Thomas Koch <thomas@koch.ro> wrote:
>> branches
>> --------
>>
>> upstream
>
> I would call it 'master'. That's how upstream would call it.
>
>> debian/*, fixes/*, features/* - topgit branches based on upstream
>> patches - the hero
>> master - contains the debian/ dir and is the branch we build from
>
> Think about other systems, like Ubuntu and Maemo, it would be nice to
> have branches both for Maemo and Debian on the same repo:
> debian - what you call 'master'
> debian-patches - what you call 'patches'
> maemo5 - contains the debian/ dir, but for Maemo 5
> maemo5-patches - patches for Maemo 5, might be based on top of debian-patches
I've been touting for feedback on this for a while :)
http://wiki.maemo.org/Mer/Build/UsingGitorious
David
--
"Don't worry, you'll be fine; I saw it work in a cartoon once..."
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-12-24 16:51 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-16 10:13 elegant(?) debian topgit workflow? Thomas Koch
2009-12-24 15:14 ` Felipe Contreras
2009-12-24 16:34 ` David Greaves
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).