Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Often I need to apply some small fixes (to make them run on my environment) or even change some parts of the software (to tailor it to my needs) to software from outside. However this obviously creates problem with updating said software, even when it changes nothing related to my fix. It would be easier when the software provided integration for some kind of plugins but more often than not it doesn't.

What would be an ideal workflow regarding that? Most of the projects are git repos I pulled from outside. How should I apply my changes so that I can update painlessly? You can assume that external changes are much more often and larger than my own ones, so reviewing each one of them won't be a solution.

share|improve this question
    
If you can't review them, why the need to keep up to date? Unless you are waiting for major bugfixes or features, freezing to a certain release seems a very viable option. Update only when necessary saves a lot of time. –  Wrikken Nov 13 '12 at 22:56
add comment

1 Answer

The most straightforward way is to create a local branch in your git repository and then merge the remote changes into your branch as they arrive. If you think of the software as "my modified version of the upstream project", then this ought to make sense.

However, another option is to use quilt (summary; offical page). It is a way to manage sets of patches on top of outside software. This might make more sense if you think of the software as "the upstream project plus my changes", and every time the upstream project changes you want to get the new stuff and then apply your changes (or modify your changes to cleanly apply).

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.