From: Carsten Fuchs Date: Wed, 12 Jun 2013 08:17:18 GMT Subject: Re: Tracking vendor release with Git Message-ID: <51B82E8E.8010402@cafu.de> In-Reply-To: <1370970410-7935-1-git-send-email-ydroneaud@opteya.com> Hi Yann, Am 2013-06-11 19:06, schrieb Yann Droneaud: > I'm trying to setup a workflow to track vendor releases (upstream). > Each new release are provided as an archive of source code, data, > documentation, etc. > > For each vendor releases, fixes need to be applied before making them > available to users (downstream). > > Seems to be a rather common use case, applied by most Linux distribution > for decades. > > In my case, on top of each releases, a common set of patches will be applied, > the biggest, the most intrusive one, being converting CRLF to LF using dos2unix, > the others being small portability fixes. In this case, fixes are not going to > be applied by upstream. If you did the end-of-line conversion via .gitattributes rather than explicitly as a patch, maybe the strategy described at http://happygiraffe.net/blog/2008/02/07/vendor-branches-in-git/ is what you're looking for? If besides the branch you need another branch, this should be extensible, inserting another "layer" into the middle. Copying and modifying Johannes' graph: U---V-----W <-- upstream branch (pristine vendor) \ \ \ C---D-----E <-- patched vendor \ \ \ K---L--M--N--O <-- downstream branch ("master" in above linked text) Best regards, Carsten -- Dipl.-Inf. Carsten Fuchs Carsten Fuchs Software Industriegebiet 3, c/o Rofu, 55768 Hoppstädten-Weiersbach, Germany Internet: http://www.cafu.de | E-Mail: info@cafu.de Cafu - the open-source game and graphics engine for multiplayer 3D action