feat(tools/tvlc): pass list of derivations to depot-scanner
You can now provide a list of Nix derivations to tvlc to get a git worktree + sparse-checkout containing only the paths needed to build the specified derivations. Known bugs: even though //third_party is only passed to readdir(), git doesn't know this and includes all of //third_party/*. Change-Id: I9dccebd3fbff4bb04ebd568175cf0a7e37d71ab3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1826 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
This commit is contained in:
parent
e539242032
commit
a9650041bb
4 changed files with 36 additions and 7 deletions
|
|
@ -18,6 +18,7 @@ var nixStoreRoot = flag.String("store-path", "/nix/store/", "prefix for all vali
|
|||
|
||||
var modeFlag = flag.String("mode", modeArchive, "operation mode. valid values: tar, print")
|
||||
var onlyFlag = flag.String("only", "", "only enable the listed output types, comma separated. valid values: DEPOT, STORE, CORE, UNKNOWN")
|
||||
var relativeFlag = flag.Bool("relpath", false, "when printing paths, print them relative to the root of their path type")
|
||||
|
||||
const (
|
||||
modeArchive = "tar"
|
||||
|
|
@ -164,16 +165,25 @@ func main() {
|
|||
if *modeFlag == "print" {
|
||||
if enabledPathTypes[pb.PathType_STORE] {
|
||||
for k, _ := range results[nixStorePath] {
|
||||
if *relativePath {
|
||||
k = strings.TrimPrefix(k, *nixStoreRoot)
|
||||
k = strings.TrimPrefix(k, "/")
|
||||
}
|
||||
fmt.Println(k)
|
||||
}
|
||||
}
|
||||
if enabledPathTypes[pb.PathType_DEPOT] {
|
||||
for k, _ := range results[depotPath] {
|
||||
if *relativeFlag {
|
||||
k = strings.TrimPrefix(k, *depotRoot)
|
||||
k = strings.TrimPrefix(k, "/")
|
||||
}
|
||||
fmt.Println(k)
|
||||
}
|
||||
}
|
||||
if enabledPathTypes[pb.PathType_CORE] {
|
||||
for k, _ := range results[corePkgsPath] {
|
||||
// TODO relativeFlag
|
||||
fmt.Println(k)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue