# How can I track a template?

2 messages from 2008-09-07 to 2008-09-07. Participants: Mike Sharov, Andreas Ericsson.
Thread: https://gitlist.dev/t/15409

## Mike Sharov, 2008-09-07 16:04

Subject: How can I track a template?
Message-ID: <48C3FB9E.8090404@users.sourceforge.net>
URL: https://gitlist.dev/e/48C3FB9E.8090404%40users.sourceforge.net

```
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, 2008-09-07 19:35

Subject: Re: How can I track a template?
Message-ID: <48C42D1E.8000805@op5.se>
URL: https://gitlist.dev/e/48C42D1E.8000805%40op5.se
In-Reply-To: <48C3FB9E.8090404@users.sourceforge.net>

```
Mike Sharov wrote:
> 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

```
