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

Re: Monotone workflow compared to Git workflow ( was RE: Git vs Monotone)

From
Theodore Tso <tytso@mit.edu>
Date
Jul 31, 2008, 21:22 UTC
Message-ID
<20080731212215.GI20819@mit.edu>
In-Reply-To
<BLU0-SMTP273E4683B41DB7E44122F0AE7C0@phx.gbl>
On Thu, Jul 31, 2008 at 04:57:24PM -0400, Sean Estabrooks wrote:
Show 13 quoted lines
> > We find ourselves constantly having to shift gears and work on other
> > things in the middle of whatever it is we're currently working on.  For
> > instance, in the scenario above, A might be branch that contains a
> > feature going into our next release.  B might be a bugfix and takes
> > priority over A, so you have to leave A as-is and start work on B.  When
> > I come back to work on A, I have to rebuild A to continue working, and
> > that's just too expensive for us.  So we use the monotone-like
> > new-workdir which allows us to save those build artifacts.
>
> A decent build system will only compile the source files that actually
> changed when switching branches.  Couple that with a compiler cache
> (such as ccache) and switching between branches in the kernel or git
> project usually isn't prohibitively time consuming.

That being said, if the bugfix is on a "maint" branch, and one of the things that has changed is a header file that forces most of the project to be recompiled, a separate work directory may be more convenient. Of course, a separate work directory (whether created using "git clone -s" or "git-new-workdir" means more disk space and it means greater use of the page cache or a slowdown while the different sets of sources get paged in and out. Of course, you could hack git-work-dir to use cp -rl to initially copy the working directory using hard links, and then when the new branch is checked out, if most of the files haven't changed, the files in the working directory could be shared too. A lot depends on how much you want to squeeze the last bit of hard drive and speed optimization, and how big your project is.

       	    	      	    		      - Ted
Previous: Sean EstabrooksNext: Theodore Tso
Message 30 of 33 in “Git vs Monotone”
  1. Sverre RabbelierJul 31, 2008
  2. Stephen R. van den BergJul 31, 2008
  3. Petr BaudisJul 31, 2008
  4. Jeff KingJul 31, 2008
  5. Craig L. ChingJul 31, 2008
  6. Sverre RabbelierJul 31, 2008
  7. Jeff KingJul 31, 2008
  8. Linus TorvaldsJul 31, 2008
  9. Craig L. ChingJul 31, 2008
  10. Linus TorvaldsJul 31, 2008
  11. Junio C HamanoJul 31, 2008
  12. Linus TorvaldsJul 31, 2008
  13. Felipe ContrerasAug 23, 2008
  14. Blum, RobertJul 31, 2008
  15. Robin RosenbergAug 10, 2008
  16. David KastrupAug 1, 2008
  17. Monotone workflow compared to Git workflow ( was RE: Git vs Monotone)Craig L. Ching, Jul 31, 2008
  18. Linus TorvaldsJul 31, 2008
  19. Shawn O. PearceJul 31, 2008
  20. Craig L. ChingJul 31, 2008
  21. Björn SteinbrinkJul 31, 2008
  22. Avery PennarunJul 31, 2008
  23. Linus TorvaldsJul 31, 2008
  24. Martin LanghoffJul 31, 2008
  25. Linus TorvaldsJul 31, 2008
  26. Dmitry TorokhovAug 1, 2008
  27. Linus TorvaldsAug 1, 2008
  28. Linus TorvaldsAug 1, 2008
  29. Sean EstabrooksJul 31, 2008
  30. Theodore TsoJul 31, 2008
  31. Theodore TsoJul 31, 2008
  32. Sverre RabbelierAug 1, 2008
  33. Daniel BarkalowAug 1, 2008

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.