threads / discuss / 21296

Update working copy on push without touching several files

Subject: Update working copy on push without touching several files

## tl;dr

2 messages between Oct 20, 2009 and Oct 20, 2009.

replies: 1people: 2as markdown or json

Alex Amiryan· Oct 20, 2009, 14:43 UTC · lore
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello. I am a web site developer. My team is developing web sites locally using git. Online versions of websites are maintained with git too. I need to have working copy of my remote git repository (online version of the site) updated by git push (which I do locally). The problem is that I have some files there (like database config) that have to be different from local ones and they must not be updated on git push. I have made "git update-index --assume-unchanged incs/config.db.php" but they are not being updated only when I do "git pull" remotely. I have used some post-update hooks which I found on the net, but they all do "git reset --hard HEAD" which restores my config files. Can you please help me to write post-update hook which updates remote working copy but doesn't touch my assume-unchanged marked files.

- --
Alex Amiryan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkrdzHMACgkQ1KOfm1RDUTH3eQCgsEy+349Q/BnqLyl+6uQcZ871 lZgAn38ZlB4r5Utdt9PbxH/oCCIU2cjM =2FQ/ -----END PGP SIGNATURE-----

Thomas Rast· Oct 20, 2009, 16:45 UTC · re: Alex Amiryan · lore

Re: Update working copy on push without touching several files

Alex Amiryan wrote:
Show 6 quoted lines
> Online versions of websites are maintained with git
> too. I need to have working copy of my remote git repository (online
> version of the site) updated by git push (which I do locally). The
> problem is that I have some files there (like database config) that have
> to be different from local ones and they must not be updated on git
> push.

My best results so far were with special config branches that are auto-merged in post-receive. As a simple example, post-receive might simply be

  #!/bin/sh
  git checkout -f master^0
  git merge config
-- 
Thomas Rast
trast@{inf,student}.ethz.ch

← back to recent threads