threads / discuss / 15409

How can I track a template?

Subject: How can I track a template?

## tl;dr

2 messages between Sep 7, 2008 and Sep 7, 2008.

replies: 1people: 2as markdown or json

Mike Sharov· Sep 7, 2008, 16:04 UTC · lore

I am trying to create a standard module to be included into many projects. Specifically, the build system skeleton, but I have other uses for the same mechanism. The idea is to have a repository with the skeleton itself, and have other projects include it somehow and keep up-to-date by pulling from the template repository.

The straightforward approach of using 'git pull' does not work very well. At each merge, all the things changed show up. For example, I would change the project name in the configure template. This change creates a merge conflict on every pull even if that particular line did not change in the template. Somehow it just doesn't seem to establish a base for the merges. Another problem is that the tags get pulled and become tags on the project, which is undesirable.

What sort of a solution would you recommend for this, if any?
-- 
Mike Sharov
Andreas Ericsson· Sep 7, 2008, 19:35 UTC · re: Mike Sharov · lore

Re: How can I track a template?

Mike Sharov wrote:
Show 15 quoted lines
> I am trying to create a standard module to be included into many
> projects. Specifically, the build system skeleton, but I have other uses
> for the same mechanism. The idea is to have a repository with the
> skeleton itself, and have other projects include it somehow and keep
> up-to-date by pulling from the template repository.
> 
> The straightforward approach of using 'git pull' does not work very
> well. At each merge, all the things changed show up. For example, I
> would change the project name in the configure template. This change
> creates a merge conflict on every pull even if that particular line did
> not change in the template. Somehow it just doesn't seem to establish a
> base for the merges. Another problem is that the tags get pulled and
> become tags on the project, which is undesirable.
> 
> What sort of a solution would you recommend for this, if any?

Enable rerere, the merge resolution recorder/replayer. Pull from skeleton repo with --no-tags, and remove the tag-fetching refspec from your .git/config (note that everyone has to do it, but if only you integrate the updated skeleton that won't be a problem).

Or unconditionally include a project.mak (or some such) from the build skeleton which sets all the project-specific details.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

← back to recent threads