samedi 8 octobre 2016

Git checkout while doing a long-running processes

I am developing a program which a single complete process can take up hours. I usually run in a remote cluster nodes which use a scheduler (e.g. PBS or SLURM).

In the case:

  1. I work on new features in branch [test-A]
  2. I submit a test-run for this [test-A] branch to a remote cluster node
  3. I git checkout to branch [master] or another [test-X] branches, for working on other features
  4. I submit other test-runs while I'm in those branches, while then again, doing a lot of git checkout between different branches.
  5. NOTES: each of running-test can take hours to finish. So the job from [test-A] will still be running while I do those branch-switching and tests with those different branches.

My question:

  1. How the operating system (e.g. Linux), or the scheduler systems will handle this? Will it care about where the current HEAD pointer is currently on?
  2. For each submitted running job, will it always be able to correctly 'run'? Even though I switch and working on different branches while the program is running the test from another branch?

There was a similar question recently here, but it's only specific to ruby. How is it in general?

Aucun commentaire:

Enregistrer un commentaire