databricks-cli/libs/sync
Denis Bilenko 0ad790e468
Properly read Git metadata when running inside workspace (#1945)
## Changes

Since there is no .git directory in Workspace file system, we need to
make an API call to api/2.0/workspace/get-status?return_git_info=true to
fetch git the root of the repo, current branch, commit and origin.

Added new function FetchRepositoryInfo that either looks up and parses
.git or calls remote API depending on env.

Refactor Repository/View/FileSet to accept repository root rather than
calculate it. This helps because:
- Repository is currently created in multiple places and finding the
repository root is becoming relatively expensive (API call needed).
- Repository/FileSet/View do not have access to current Bundle which is
where WorkplaceClient is stored.

## Tests

- Tested manually by running "bundle validate --json" inside web
terminal within Databricks env.
- Added integration tests for the new API.

---------

Co-authored-by: Andrew Nester <andrew.nester@databricks.com>
Co-authored-by: Pieter Noordhuis <pieter.noordhuis@databricks.com>
2024-12-05 10:13:13 +00:00
..
testdata/sync-fileset Refactor change computation for sync (#785) 2023-10-03 13:47:46 +00:00
diff.go Abstract over filesystem interaction with libs/vfs (#1452) 2024-05-30 07:41:50 +00:00
diff_test.go Refactor change computation for sync (#785) 2023-10-03 13:47:46 +00:00
dirset.go Abstract over filesystem interaction with libs/vfs (#1452) 2024-05-30 07:41:50 +00:00
dirset_test.go Add directory tracking to sync (#425) 2023-06-12 11:44:00 +00:00
event.go Drain sync event channel before returning (#253) 2023-03-16 17:48:17 +01:00
event_test.go Add optional JSON output for sync command (#230) 2023-03-08 10:27:19 +01:00
output.go Add verbose flag to the "bundle deploy" command (#1774) 2024-09-23 10:09:11 +00:00
path.go Extend deployment mode support (#577) 2023-07-30 07:19:49 +00:00
path_test.go Remove base path checks during sync (#576) 2023-07-14 11:43:20 +02:00
snapshot.go Clean up unused code (#1502) 2024-06-18 14:14:27 +00:00
snapshot_state.go Abstract over filesystem interaction with libs/vfs (#1452) 2024-05-30 07:41:50 +00:00
snapshot_state_test.go Make fileset take optional list of paths to list (#1684) 2024-08-19 15:15:14 +00:00
snapshot_test.go Properly read Git metadata when running inside workspace (#1945) 2024-12-05 10:13:13 +00:00
sync.go Properly read Git metadata when running inside workspace (#1945) 2024-12-05 10:13:13 +00:00
sync_test.go Properly read Git metadata when running inside workspace (#1945) 2024-12-05 10:13:13 +00:00
watchdog.go Pass through paths argument to libs/sync (#1689) 2024-08-19 15:41:02 +00:00