{"thread":{"id":"15409","subject":"How can I track a template?","startedAt":"2008-09-07T16:04:46Z","lastAt":"2008-09-07T19:35:58Z","messageCount":2,"participants":["Mike Sharov","Andreas Ericsson"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"89977","messageId":"48C3FB9E.8090404@users.sourceforge.net","threadId":"15409","inReplyTo":null,"subject":"How can I track a template?","fromName":"Mike Sharov","fromEmail":"msharov@users.sourceforge.net","sentAt":"2008-09-07T16:04:46Z","receivedAt":"2008-09-07T16:04:46Z","isPatch":false,"sender":{"key":"msharov@users.sourceforge.net","avatar":null},"body":"I am trying to create a standard module to be included into many\nprojects. Specifically, the build system skeleton, but I have other uses\nfor the same mechanism. The idea is to have a repository with the\nskeleton itself, and have other projects include it somehow and keep\nup-to-date by pulling from the template repository.\n\nThe straightforward approach of using 'git pull' does not work very\nwell. At each merge, all the things changed show up. For example, I\nwould change the project name in the configure template. This change\ncreates a merge conflict on every pull even if that particular line did\nnot change in the template. Somehow it just doesn't seem to establish a\nbase for the merges. Another problem is that the tags get pulled and\nbecome tags on the project, which is undesirable.\n\nWhat sort of a solution would you recommend for this, if any?\n-- \nMike Sharov\n"},{"id":"89997","messageId":"48C42D1E.8000805@op5.se","threadId":"15409","inReplyTo":"48C3FB9E.8090404@users.sourceforge.net","subject":"Re: How can I track a template?","fromName":"Andreas Ericsson","fromEmail":"ae@op5.se","sentAt":"2008-09-07T19:35:58Z","receivedAt":"2008-09-07T19:35:58Z","isPatch":false,"sender":{"key":"ae@op5.se","avatar":"https://gravatar.com/avatar/426e89595c75a8f5252dd0c989e5fabe5bcac616e68557427ad9aef6b0ca342a?d=mp&s=160"},"body":"Mike Sharov wrote:\n> I am trying to create a standard module to be included into many\n> projects. Specifically, the build system skeleton, but I have other uses\n> for the same mechanism. The idea is to have a repository with the\n> skeleton itself, and have other projects include it somehow and keep\n> up-to-date by pulling from the template repository.\n> \n> The straightforward approach of using 'git pull' does not work very\n> well. At each merge, all the things changed show up. For example, I\n> would change the project name in the configure template. This change\n> creates a merge conflict on every pull even if that particular line did\n> not change in the template. Somehow it just doesn't seem to establish a\n> base for the merges. Another problem is that the tags get pulled and\n> become tags on the project, which is undesirable.\n> \n> What sort of a solution would you recommend for this, if any?\n\nEnable rerere, the merge resolution recorder/replayer.\nPull from skeleton repo with --no-tags, and remove the tag-fetching\nrefspec from your .git/config (note that everyone has to do it, but\nif only you integrate the updated skeleton that won't be a problem).\n\nOr unconditionally include a project.mak (or some such) from the build\nskeleton which sets all the project-specific details.\n\n-- \nAndreas Ericsson                   andreas.ericsson@op5.se\nOP5 AB                             www.op5.se\nTel: +46 8-230225                  Fax: +46 8-230231\n"}]}