threads / discuss / 17300

lineups with GIT

Subject: lineups with GIT

## tl;dr

3 messages between Jan 22, 2009 and Jan 23, 2009.

replies: 2people: 3as markdown or json

outre· Jan 22, 2009, 07:54 UTC · lore

I am trying to set up two different line-ups for a project (development and testing).

The development line-up is the master, and test line-up pulls data from it. The code is the same in both. But since the line-ups are served from two different domains one folder in the development line-up is called iWeb.local, and in the test line-up it is called iWeb.test. That is the only difference between the two.

I tried using "git mv" command and it somewhat solved the problem. After I cloned the devel line-up, I used "git rm iWeb.local iWeb.test". And now if I edit a file in iWeb.local and do a pull to iWeb.test this file gets properly updated while preserving the difference between the folder names. But if I add a new file to iWeb.local, and then do a pull I get iWeb.local folder added together with the new file to the testing line-up.

I was wondering if it is intended behaviour for GIT. And if it is may be someone can point me to a better way to setup two line-ups using GIT.

Thanks
-- 
View this message in context: http://n2.nabble.com/lineups-with-GIT-tp2196604p2196604.html
Sent from the git mailing list archive at Nabble.com.
Jakub Narebski· Jan 23, 2009, 17:25 UTC · re: outre · lore

Re: lineups with GIT (or dealing with directory renames)

outre <spoony.sob@hotmail.com> writes:
[...]
Show 11 quoted lines
> I tried using "git mv" command and it somewhat solved the problem. After I
> cloned the devel line-up, I used "git rm iWeb.local iWeb.test".
> And now if I edit a file in iWeb.local and do a pull to iWeb.test this file
> gets properly updated while preserving the difference between
> the folder names. But if I add a new file to iWeb.local, and then do a pull
> I get  iWeb.local folder added together with the 
> new file to the testing line-up.
> 
> I was wondering if it is intended behaviour for GIT. And if it is may be
> someone can point me to a better way to setup two line-ups using
> GIT.

I know nothing about line-ups, but the behaviour wrt. wholesame directory renames is _known_ behavior of git. If one side renames directory, and other side creates new files in old-name directory, the old-name directory gets recreated during merging.

I wrote _known_ and not _intendend_ because this can be changed; there were some patches on git mailing list (I don't know what happened to them; I think the development stalled) that added detecting wholesame rename of directories, based on heuristic content and filename similarity based detection of renames for individual files.

-- 
Jakub Narebski
Poland
ShadeHawk on #git
Daniel Barkalow· Jan 23, 2009, 18:01 UTC · re: outre · lore

Re: lineups with GIT

On Wed, 21 Jan 2009, outre wrote:
Show 21 quoted lines
> I am trying to set up two different line-ups for a project (development and
> testing).
> 
> The development line-up is the master, and test line-up pulls data from it.
> The code is the same in both.
> But since the line-ups are served from two different domains one folder in
> the development line-up is called
> iWeb.local, and in the test line-up it is called iWeb.test. That is the only
> difference between the two.
>
> I tried using "git mv" command and it somewhat solved the problem. After I
> cloned the devel line-up, I used "git rm iWeb.local iWeb.test".
> And now if I edit a file in iWeb.local and do a pull to iWeb.test this file
> gets properly updated while preserving the difference between
> the folder names. But if I add a new file to iWeb.local, and then do a pull
> I get  iWeb.local folder added together with the 
> new file to the testing line-up.
> 
> I was wondering if it is intended behaviour for GIT. And if it is may be
> someone can point me to a better way to setup two line-ups using
> GIT.

The best thing is probably to have both of them store everything in a directory "iWeb", and have whatever process is used to make something start serving things copy the directory into whatever location it needs. It helps a lot with git if any two versions that are effectively the same are exactly the same.

One handy trick is to have a script that reads an untracked file to determine where and how to arrange stuff for installation. Then you can have different values in the working directories for the two repositories, and the same (tracked) script in each repository will do the appropriate different thing for that repository, while leaving the tracked content for development exactly the same in testing.

	-Daniel
*This .sig left intentionally blank*

← back to recent threads