[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Git repository's and topgit

Christoph Egger wrote:

>   The working of topgit could, I guess described as follows: You do some
> special git branches for every «patch» you want to apply to your pakage,
> and topgit then creates the full quilt stuff for you from it so you can
> work directly on the source and changes to the patches are a lot easier
> to read -- you don't have diffs of patches/diffs but diffs against the code!
>   Robin, you introduced topgit, if you have some time, could you have a
> look at this to see if I have done some mistakes in here?

Sure... as you pointed out, you have diffs against real code and to
update or rebase a patch is IMHO much simpler that trying to apply
patches then fight through failed hunks and manually patch and rebase
for a new upstream.

> Usage:
> ======
>   For an existing git project using quilt you'll want to do the following:
>    * go to the git-cloned repos
>    * tg remote origin  #or alioth
>    * iterate through your quilt patches
>      * tg create {debian,fixes,...}/patchname
>         while in master branch if this particular patch does not depend
>         on previos ones otherwise in the branch with the needed patch
>      * apply the patch, edit .topmsg
>      * git commit
>    * go to master
>    * add
>       -include /usr/share/topgit/tg2quilt.mk
>      directly after your quilt.make include

Looks correct. on git.byteme.org we have a script to do the existing
patch import saves a lot of work importing existing patches or other
patches into your tree.

> Workings:
> =========

looking good ;-)

>   tg update does merge in the origin branch (that's what is in .topdeps)
> so everything now works with the changes

we also have a tg-update-all script. reduces pain with many patches in
the tree.

> Pitfalls:
> =========

There seems to be an issue with "tg delete" to remove a topic branch. As
its still on the server, any other cloners will get the expired branch.
Still working on this as i may not fully understand something.

> Summary:
> ========
>   I had the personal impression topgit will ease working on git. you
> can't forget to quilt add an file before editing, you have readable
> diffs between revisions of diffs, you do have everything in git and (if
> you have an serie of depending topgit branches and not more than one
> based on master) an git branch containing the source as it will be seen
> by the buildsystem.

So far topgit has been helpful. I've done a update from upstream and
rebased patches successfully and much easier than I have been able to

>   Switching from git/quilt to git/topgit certainly is not something one
> can do without learning something new, it *is* different and it has some
>  tricky things around.

I think a reasonable understanding of git is a big plus. If you are new
to git it may take some learning.

topgit currently has a popcon of about 78. I think it shows enormous
potential and with some more wide spread usage will probably see massive
improvements and make our lives as packagers (if we use git) easier.


Attachment: signature.asc
Description: OpenPGP digital signature

Reply to: