Opened 8 years ago

Closed 8 years ago

Last modified 15 months ago

#5880 closed feature request (fixed)

Add sync-all new-workdir

Reported by: tibbe Owned by: simonmar
Priority: normal Milestone: 7.6.1
Component: Build System (make) Version: 7.4.1
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:


The attached patch implements a new sync-all command, which calls git-new-workdir. git-new-workdir lets you create separate working directories, all connected to the same repository. Separate working directories can be used to:

  • Store repos on NFS, where they can be easily backed up, but store the checked out code on local disk, speeding up builds and many git operations (e.g. git status.)
  • Implement separate build trees. While full clones can be used to implement build trees, they are somewhat more heavyweight to use (e.g. you need to shuffle patches between them.)
  sync-all new-workdir <new_workdir> [<branch>]

  sync-all ~/src/ghc-validate

Note: git-new-workdir is typically not on the user's PATH after a standard git installation. It can be found in the contrib directory in most git distributions.

Feel free to edit the patch. My perl-fu is weak.

Attachments (1)

0001-Add-sync-all-new-workdir.patch (1.7 KB) - added by tibbe 8 years ago.

Download all attachments as: .zip

Change History (6)

Changed 8 years ago by tibbe

comment:1 Changed 8 years ago by tibbe

Status: newpatch

comment:2 Changed 8 years ago by simonmar

difficulty: Unknown
Milestone: 7.6.1
Owner: set to simonmar

I'm doing a validate run, so I'll get this one in too.

comment:3 Changed 8 years ago by simonmar

Status: patchmerge


commit 4bac993e3d00edc0ceac99f4b44ade477ae9aa90

Author: Johan Tibell <>
Date:   Thu Feb 16 19:09:55 2012 -0800

    Add sync-all new-workdir
    This command calls git-new-workdir (a separate script in git's contrib
    directory) on all repos.  Useful to create multiple build trees, without
    cloning the repos.
      sync-all new-workdir <new_workdir> [<branch>]

comment:4 Changed 8 years ago by simonmar

Resolution: fixed
Status: mergeclosed

On second thoughts, we don't need to merge this.

comment:5 Changed 15 months ago by bgamari

Component: Build SystemBuild System (make)

The new Hadrian build system has been merged. Relabeling the tickets concerning the legacy make build system to prevent confusion.

Note: See TracTickets for help on using tickets.