git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Need help migrating workflow from svn to git.

From
JWJosef Wolf <jw@raven.inka.de>
Date
Dec 14, 2017, 13:09 UTC
Message-ID
<20171214130933.GA18542@raven.inka.de>
Hello folks,

I am wondering whether/how my mode of work for a specific project (currently based on SVN) could be transferred to git.

I have a repository for maintaining configuration of hosts. This repository contains several hundered scripts. Most of those scripts are don't depend on each other.

Every machine has a working copy of the repository in a specific directory. A cron job (running every 15 minutes) executes "svn update" and executes the scripts which are contained in this working copy.

This way, I can commit changes to the main repository and all the hosts will "download" and adopt by executing the newest revision of those scripts. (The scripts need to be idempotent, but this is a different topic).

NORMALLY, there are no local modifications in the working copy. Thus, conflicts can not happen. Everything works fine.

Sometimes, I need to fix a problem on some host or need to implement a new feature. For this, I go to the working copy of a host where the change needs to be done and start haking. With svn, I don't need to stop the cron job. "svn update" will happily merge any in-coming changes and leave alone the files which were not modified upstream. Conflicts with my local modifications which I am currently hacking on are extremely rare, because the scripts are pretty much independent. So I'm pretty much happy with this mode of operation.

With git, by contrast, this won't work. Git will refuse to pull anything as long as there are ANY local modifications. The cron job would need to

   git stash
   git pull
   git stash pop

But this will temporarily remove my local modifications. If I happen to do a test run at this time, the test run would NOT contain the local modifications which I was about to test. Even worse: if I happen to save one of the modified files while the modifications are in the stash, the "git stash pop" will definitely cause a conflict, although nothing really changed.

So, how would I get this workflow with git? Is it possible to emulate the behavior of "svn update"?

Any ideas?
-- 
Josef Wolf
jw@raven.inka.de
Next: Randall S. Becker
Message 1 of 16 in “Need help migrating workflow from svn to git.”
  1. Josef WolfDec 14, 2017
  2. Randall S. BeckerDec 14, 2017
  3. Josef WolfDec 15, 2017
  4. Igor DjordjevicDec 14, 2017
  5. Igor DjordjevicDec 15, 2017
  6. Josef WolfDec 15, 2017
  7. Josef WolfDec 15, 2017
  8. Igor DjordjevicDec 15, 2017
  9. Junio C HamanoDec 15, 2017
  10. Igor DjordjevicDec 15, 2017
  11. Junio C HamanoDec 15, 2017
  12. Igor DjordjevicDec 15, 2017
  13. Josef WolfDec 20, 2017
  14. Josef WolfDec 20, 2017
  15. Josef WolfDec 20, 2017
  16. Igor DjordjevicDec 21, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.